xfe-1.42/0000755000175100017510000000000012746115271007233 500000000000000xfe-1.42/Makefile.in0000644000175100017510000010530512634035432011220 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = intl/Makefile xfe.spec xferc xfe.desktop.in \ xfi.desktop.in xfw.desktop.in xfp.desktop.in CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(desktopdir)" \ "$(DESTDIR)$(icondir)" "$(DESTDIR)$(rcdir)" NROFF = nroff MANS = $(man_MANS) DATA = $(desktop_DATA) $(icon_DATA) $(rc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/xfe.desktop.in.in $(srcdir)/xfe.spec.in \ $(srcdir)/xferc.in $(srcdir)/xfi.desktop.in.in \ $(srcdir)/xfp.desktop.in.in $(srcdir)/xfw.desktop.in.in \ $(top_srcdir)/intl/Makefile.in ABOUT-NLS AUTHORS COPYING \ ChangeLog INSTALL NEWS README TODO compile config.guess \ config.rpath config.sub depcomp install-sh ltmain.sh missing \ mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ man_MANS = xfe.1 xfi.1 xfp.1 xfw.1 SUBDIRS = intl po m4 src icons DIST_SUBDIRS = intl po m4 src icons rcdir = $(prefix)/share/xfe rc_DATA = xferc EXTRA_DIST = autogen.sh iconlinks.sh config.h i18n.h xfe.1 xfi.1 xfp.1 xfw.1 \ ABOUT-NLS TODO BUGS xfe.spec.in xferc.in xfe.spec *.desktop.in.in *.png *.xpm *.svg \ $(top_srcdir)/icons/* $(top_srcdir)/debian icondir = $(prefix)/share/pixmaps icon_DATA = xfe.png xfi.png xfp.png xfw.png xfe.xpm xfi.xpm xfp.xpm xfw.xpm desktopdir = $(prefix)/share/applications desktop_in_files = xfe.desktop.in xfw.desktop.in xfi.desktop.in xfp.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) ACLOCAL_AMFLAGS = -I m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfe.spec: $(top_builddir)/config.status $(srcdir)/xfe.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ xferc: $(top_builddir)/config.status $(srcdir)/xferc.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfe.desktop.in: $(top_builddir)/config.status $(srcdir)/xfe.desktop.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfi.desktop.in: $(top_builddir)/config.status $(srcdir)/xfi.desktop.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfw.desktop.in: $(top_builddir)/config.status $(srcdir)/xfw.desktop.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfp.desktop.in: $(top_builddir)/config.status $(srcdir)/xfp.desktop.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) install-rcDATA: $(rc_DATA) @$(NORMAL_INSTALL) @list='$(rc_DATA)'; test -n "$(rcdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(rcdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(rcdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rcdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(rcdir)" || exit $$?; \ done uninstall-rcDATA: @$(NORMAL_UNINSTALL) @list='$(rc_DATA)'; test -n "$(rcdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(rcdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ --with-included-gettext \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(MANS) $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(rcdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-desktopDATA install-iconDATA install-man \ install-rcDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man1 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-desktopDATA uninstall-iconDATA uninstall-man \ uninstall-rcDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook uninstall-man: uninstall-man1 .MAKE: $(am__recursive_targets) all install-am install-data-am \ install-strip uninstall-am .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-generic distclean-hdr \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-data-hook \ install-desktopDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-man1 \ install-pdf install-pdf-am install-ps install-ps-am \ install-rcDATA install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-desktopDATA uninstall-hook uninstall-iconDATA \ uninstall-man uninstall-man1 uninstall-rcDATA .PRECIOUS: Makefile @INTLTOOL_DESKTOP_RULE@ dist-hook: cd po && $(MAKE) update-po cp po/*.po* $(distdir)/po rm -rf $(distdir)/po/*~ rm -rf $(distdir)/debian/xfe install-data-hook: sh iconlinks.sh $(top_srcdir) $(DESTDIR)$(rcdir) uninstall-hook: rm -rf $(DESTDIR)$(rcdir) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/i18n.h0000644000175100017510000000046111444154372010103 00000000000000#ifndef I18N_H #define I18N_H #ifdef HAVE_SETLOCALE #include #endif #if ENABLE_NLS #include #define _(String) gettext (String) #define gettext_noop(String) String #define N_(String) gettext_noop (String) #else #define _(String) (String) #define N_(String) (String) #endif #endif xfe-1.42/TODO0000644000175100017510000000266712746077241007662 00000000000000TODO list and known issues -------------------------- Known issues ------------ - to allow composed characters (like ä, Ö, ê, etc.) to be entered in xfe, xfw, etc., the FOX library *must* be compiled with the --with-xim configure option. - if the mouse pointer is on a menu title, then it is not possible to navigate using the keyboard on the menu titles. This is a FOX issue. - in Xfw, if the wordwrap mode is selected an line numbers are displayed, then the line numbers are uncorrectly displayed for wrapped lines. This is also a FOX issue. To do ------ - add the ability to delete bookmarks and change their order - add a way to change order and display of columns in detailed mode - places (home + trash + mtab entries) and bookmark items could be displayed as a tab pane in the tree panel - use of MIME types in complement to file associations - use a Control Panel style for the Preferences dialog - implement lenghty operations in background (image thumbnails, copy...) - add context options (copy / paste / delete) to the location bar, like in Firefox - add a way to clean history lists (like the open file list, for example) - internationalization should handle multiple plural forms (required by languages like polish, czech, etc.) User requests -------------- - autosize file name header in detailed view - context menus on text dialogs - hotkeys to go directly to a directory - Samba support (network neighborhood, using Fuse?) xfe-1.42/depcomp0000755000175100017510000003710011444154372010530 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2005-07-09.11 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mecanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: xfe-1.42/config.h0000644000175100017510000004330312746115270010573 00000000000000/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if the `closedir' function returns void instead of `int'. */ /* #undef CLOSEDIR_VOID */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ /* #undef CRAY_STACKSEG_END */ /* Define to 1 if using `alloca.c'. */ /* #undef C_ALLOCA */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #define ENABLE_NLS 1 /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #define GETGROUPS_T gid_t /* The package name, for gettext */ #define GETTEXT_PACKAGE "xfe" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 /* Define to 1 if you have `alloca', as a function or macro. */ #define HAVE_ALLOCA 1 /* Define to 1 if you have and it should be used (not on Ultrix). */ #define HAVE_ALLOCA_H 1 /* Define to 1 if you have the `argz_count' function. */ #define HAVE_ARGZ_COUNT 1 /* Define to 1 if you have the header file. */ #define HAVE_ARGZ_H 1 /* Define to 1 if you have the `argz_next' function. */ #define HAVE_ARGZ_NEXT 1 /* Define to 1 if you have the `argz_stringify' function. */ #define HAVE_ARGZ_STRINGIFY 1 /* Define to 1 if you have the `asprintf' function. */ #define HAVE_ASPRINTF 1 /* Define to 1 if the compiler understands __builtin_expect. */ #define HAVE_BUILTIN_EXPECT 1 /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ /* #undef HAVE_CFLOCALECOPYCURRENT */ /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ /* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ /* Define to 1 if your system has a working `chown' function. */ #define HAVE_CHOWN 1 /* Define if the GNU dcgettext() function is already present or preinstalled. */ #define HAVE_DCGETTEXT 1 /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #define HAVE_DECL_FEOF_UNLOCKED 1 /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #define HAVE_DECL_FGETS_UNLOCKED 1 /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #define HAVE_DECL_GETC_UNLOCKED 1 /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #define HAVE_DECL__SNPRINTF 0 /* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you don't. */ #define HAVE_DECL__SNWPRINTF 0 /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `endgrent' function. */ #define HAVE_ENDGRENT 1 /* Define to 1 if you have the `endpwent' function. */ #define HAVE_ENDPWENT 1 /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if you have the `fwprintf' function. */ #define HAVE_FWPRINTF 1 /* Define to 1 if you have the `getcwd' function. */ #define HAVE_GETCWD 1 /* Define to 1 if you have the `getegid' function. */ #define HAVE_GETEGID 1 /* Define to 1 if you have the `geteuid' function. */ #define HAVE_GETEUID 1 /* Define to 1 if you have the `getgid' function. */ #define HAVE_GETGID 1 /* Define to 1 if your system has a working `getgroups' function. */ #define HAVE_GETGROUPS 1 /* Define to 1 if you have the `gethostname' function. */ #define HAVE_GETHOSTNAME 1 /* Define to 1 if you have the `getmntent' function. */ #define HAVE_GETMNTENT 1 /* Define to 1 if you have the `getpagesize' function. */ #define HAVE_GETPAGESIZE 1 /* Define if the GNU gettext() function is already present or preinstalled. */ #define HAVE_GETTEXT 1 /* Define to 1 if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY 1 /* Define to 1 if you have the `getuid' function. */ #define HAVE_GETUID 1 /* Define if you have the iconv() function. */ #define HAVE_ICONV 1 /* Define if you have the 'intmax_t' type in or . */ #define HAVE_INTMAX_T 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define if exists, doesn't clash with , and declares uintmax_t. */ #define HAVE_INTTYPES_H_WITH_UINTMAX 1 /* Define if you have and nl_langinfo(CODESET). */ #define HAVE_LANGINFO_CODESET 1 /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1 /* Define if your file defines LC_MESSAGES. */ #define HAVE_LC_MESSAGES 1 /* Define to 1 if you have the `fontconfig' library (-lfontconfig). */ #define HAVE_LIBFONTCONFIG 1 /* Define to 1 if you have the `FOX-1.6' library (-lFOX-1.6). */ #define HAVE_LIBFOX_1_6 1 /* Define to 1 if you have the `png' library (-lpng). */ #define HAVE_LIBPNG 1 /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 /* Define if you have the 'long double' type. */ #define HAVE_LONG_DOUBLE 1 /* Define to 1 if the system has the type `long long int'. */ #define HAVE_LONG_LONG_INT 1 /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #define HAVE_MALLOC 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `mempcpy' function. */ #define HAVE_MEMPCPY 1 /* Define to 1 if you have the `memset' function. */ #define HAVE_MEMSET 1 /* Define to 1 if you have the `mkdir' function. */ #define HAVE_MKDIR 1 /* Define to 1 if you have the `mkfifo' function. */ #define HAVE_MKFIFO 1 /* Define to 1 if you have a working `mmap' system call. */ #define HAVE_MMAP 1 /* Define to 1 if you have the header file. */ #define HAVE_MNTENT_H 1 /* Define to 1 if you have the `munmap' function. */ #define HAVE_MUNMAP 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ /* Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined. */ #define HAVE_NL_LOCALE_NAME 1 /* Define if your printf() function supports format strings with positions. */ #define HAVE_POSIX_PRINTF 1 /* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ #define HAVE_PTHREAD_MUTEX_RECURSIVE 1 /* Define if the POSIX multithreading library has read/write locks. */ #define HAVE_PTHREAD_RWLOCK 1 /* Define to 1 if you have the `putenv' function. */ #define HAVE_PUTENV 1 /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #define HAVE_REALLOC 1 /* Define to 1 if you have the `rmdir' function. */ #define HAVE_RMDIR 1 /* Define to 1 if you have the `setenv' function. */ #define HAVE_SETENV 1 /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 /* Define to 1 if you have the `sqrt' function. */ /* #undef HAVE_SQRT */ /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ /* Define to 1 if stdbool.h conforms to C99. */ #define HAVE_STDBOOL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDDEF_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define if exists, doesn't clash with , and declares uintmax_t. */ #define HAVE_STDINT_H_WITH_UINTMAX 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `stpcpy' function. */ #define HAVE_STPCPY 1 /* Define to 1 if you have the `strcasecmp' function. */ #define HAVE_STRCASECMP 1 /* Define to 1 if you have the `strchr' function. */ #define HAVE_STRCHR 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strstr' function. */ #define HAVE_STRSTR 1 /* Define to 1 if you have the `strtol' function. */ #define HAVE_STRTOL 1 /* Define to 1 if you have the `strtoul' function. */ #define HAVE_STRTOUL 1 /* Define to 1 if you have the `strtoull' function. */ #define HAVE_STRTOULL 1 /* Define to 1 if `st_rdev' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_RDEV 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_DIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_SYS_NDIR_H */ /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STATFS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 /* Define to 1 if you have the `tsearch' function. */ #define HAVE_TSEARCH 1 /* Define if you have the 'uintmax_t' type in or . */ #define HAVE_UINTMAX_T 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define if you have the 'unsigned long long' type. */ #define HAVE_UNSIGNED_LONG_LONG 1 /* Define to 1 if the system has the type `unsigned long long int'. */ #define HAVE_UNSIGNED_LONG_LONG_INT 1 /* Define to 1 if you have the `utime' function. */ #define HAVE_UTIME 1 /* Define to 1 if you have the header file. */ #define HAVE_UTIME_H 1 /* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ #define HAVE_UTIME_NULL 1 /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_VFORK_H */ /* Define to 1 or 0, depending whether the compiler supports simple visibility declarations. */ #define HAVE_VISIBILITY 1 /* Define if you have the 'wchar_t' type. */ #define HAVE_WCHAR_T 1 /* Define to 1 if you have the `wcslen' function. */ #define HAVE_WCSLEN 1 /* Define if you have the 'wint_t' type. */ #define HAVE_WINT_T 1 /* Define to 1 if `fork' works. */ #define HAVE_WORKING_FORK 1 /* Define to 1 if `vfork' works. */ #define HAVE_WORKING_VFORK 1 /* Define to 1 if you have the header file. */ #define HAVE_X11_EXTENSIONS_XRANDR_H 1 /* Define to 1 if the system has the type `_Bool'. */ #define HAVE__BOOL 1 /* Define to 1 if you have the `__fsetlocking' function. */ #define HAVE___FSETLOCKING 1 /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST /* Define if integer division by zero raises signal SIGFPE. */ #define INTDIV0_RAISES_SIGFPE 1 /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 /* Name of package */ #define PACKAGE "xfe" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "xfe" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "xfe 1.42" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "xfe" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ #define PACKAGE_VERSION "1.42" /* Define if exists and defines unusable PRI* macros. */ /* #undef PRI_MACROS_BROKEN */ /* Define if the pthread_in_use() detection is hard. */ /* #undef PTHREAD_IN_USE_DETECTION_HARD */ /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ /* #undef SIZE_MAX */ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* Define to 1 if your declares `struct tm'. */ /* #undef TM_IN_SYS_TIME */ /* Define if the POSIX multithreading library can be used. */ #define USE_POSIX_THREADS 1 /* Define if references to the POSIX multithreading library should be made weak. */ #define USE_POSIX_THREADS_WEAK 1 /* Define if the GNU Pth multithreading library can be used. */ /* #undef USE_PTH_THREADS */ /* Define if references to the GNU Pth multithreading library should be made weak. */ /* #undef USE_PTH_THREADS_WEAK */ /* Define if the old Solaris multithreading library can be used. */ /* #undef USE_SOLARIS_THREADS */ /* Define if references to the old Solaris multithreading library should be made weak. */ /* #undef USE_SOLARIS_THREADS_WEAK */ /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # define __EXTENSIONS__ 1 #endif /* Define if the Win32 multithreading API can be used. */ /* #undef USE_WIN32_THREADS */ /* Version number of package */ #define VERSION "1.42" /* Enable large inode numbers on Mac OS X 10.5. */ #ifndef _DARWIN_USE_64_BIT_INODE # define _DARWIN_USE_64_BIT_INODE 1 #endif /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ /* Define to 1 if on MINIX. */ /* #undef _MINIX */ /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ /* #undef _POSIX_1_SOURCE */ /* Define to 1 if you need to in order for `stat' and other things to work. */ /* #undef _POSIX_SOURCE */ /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus /* #undef inline */ #endif /* Define to rpl_malloc if the replacement function should be used. */ /* #undef malloc */ /* Define to `int' if does not define. */ /* #undef mode_t */ /* Define to `int' if does not define. */ /* #undef pid_t */ /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ /* #undef ptrdiff_t */ /* Define to rpl_realloc if the replacement function should be used. */ /* #undef realloc */ /* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define to `int' if doesn't define. */ /* #undef uid_t */ /* Define to unsigned long or unsigned long long if and don't define. */ /* #undef uintmax_t */ /* Define as `fork' if `vfork' does not work. */ /* #undef vfork */ #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded xfe-1.42/xfe.svg0000644000175100017510000006324111444154372010463 00000000000000 image/svg+xml XFE xfe-1.42/INSTALL0000644000175100017510000002243211444154372010206 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Here is a another example: /bin/bash ./configure CONFIG_SHELL=/bin/bash Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. xfe-1.42/intl/0000755000175100017510000000000012746115271010201 500000000000000xfe-1.42/intl/printf.c0000644000175100017510000002342412202431550011560 00000000000000/* Formatted output to strings, using POSIX/XSI format strings with positions. Copyright (C) 2003, 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #if !HAVE_POSIX_PRINTF #include #include #include #include /* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ #ifndef EOVERFLOW # define EOVERFLOW E2BIG #endif /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif #define STATIC static /* This needs to be consistent with libgnuintl.h.in. */ #if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif /* Define auxiliary functions declared in "printf-args.h". */ #include "printf-args.c" /* Define auxiliary functions declared in "printf-parse.h". */ #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnprintf libintl_vasnprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnprintf libintl_asnprintf #include "asnprintf.c" #endif DLL_EXPORTED int libintl_vfprintf (FILE *stream, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vfprintf (stream, format, args); else { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t written = fwrite (result, 1, length, stream); free (result); if (written == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fprintf (FILE *stream, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vprintf (const char *format, va_list args) { return libintl_vfprintf (stdout, format, args); } DLL_EXPORTED int libintl_printf (const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vsprintf (char *resultbuf, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vsprintf (resultbuf, format, args); else { size_t length = (size_t) ~0 / (4 * sizeof (char)); char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { free (result); return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_sprintf (char *resultbuf, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsprintf (resultbuf, format, args); va_end (args); return retval; } #if HAVE_SNPRINTF # if HAVE_DECL__SNPRINTF /* Windows. */ # define system_vsnprintf _vsnprintf # else /* Unix. */ # define system_vsnprintf vsnprintf # endif DLL_EXPORTED int libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) { if (strchr (format, '$') == NULL) return system_vsnprintf (resultbuf, length, format, args); else { size_t maxlength = length; char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length); resultbuf[pruned_length] = '\0'; } free (result); } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsnprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #if HAVE_ASPRINTF DLL_EXPORTED int libintl_vasprintf (char **resultp, const char *format, va_list args) { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); if (result == NULL) return -1; if (length > INT_MAX) { free (result); errno = EOVERFLOW; return -1; } *resultp = result; return length; } DLL_EXPORTED int libintl_asprintf (char **resultp, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vasprintf (resultp, format, args); va_end (args); return retval; } #endif #if HAVE_FWPRINTF #include #define WIDE_CHAR_VERSION 1 /* Define auxiliary functions declared in "wprintf-parse.h". */ #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnwprintf libintl_vasnwprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnwprintf libintl_asnwprintf #include "asnprintf.c" #endif # if HAVE_DECL__SNWPRINTF /* Windows. */ # define system_vswprintf _vsnwprintf # else /* Unix. */ # define system_vswprintf vswprintf # endif DLL_EXPORTED int libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return vfwprintf (stream, format, args); else { size_t length; wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t i; for (i = 0; i < length; i++) if (fputwc (result[i], stream) == WEOF) break; free (result); if (i == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fwprintf (FILE *stream, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfwprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vwprintf (const wchar_t *format, va_list args) { return libintl_vfwprintf (stdout, format, args); } DLL_EXPORTED int libintl_wprintf (const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vwprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return system_vswprintf (resultbuf, length, format, args); else { size_t maxlength = length; wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length * sizeof (wchar_t)); resultbuf[pruned_length] = 0; } free (result); /* Unlike vsnprintf, which has to return the number of character that would have been produced if the resultbuf had been sufficiently large, the vswprintf function has to return a negative value if the resultbuf was not sufficiently large. */ if (length >= maxlength) return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vswprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #endif xfe-1.42/intl/xsize.h0000644000175100017510000000674412202431546011440 00000000000000/* xsize.h -- Checked size_t computations. Copyright (C) 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _XSIZE_H #define _XSIZE_H /* Get size_t. */ #include /* Get SIZE_MAX. */ #include #if HAVE_STDINT_H # include #endif /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). These computations can lead to overflow. When this happens, malloc() returns a piece of memory that is way too small, and the program then crashes while attempting to fill the memory. To avoid this, the functions and macros in this file check for overflow. The convention is that SIZE_MAX represents overflow. malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc implementation that uses mmap --, it's recommended to use size_overflow_p() or size_in_bounds_p() before invoking malloc(). The example thus becomes: size_t size = xsum (header_size, xtimes (n, element_size)); void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); */ /* Convert an arbitrary value >= 0 to type size_t. */ #define xcast_size_t(N) \ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum (size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } /* Sum of three sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum3 (size_t size1, size_t size2, size_t size3) { return xsum (xsum (size1, size2), size3); } /* Sum of four sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) { return xsum (xsum (xsum (size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xmax (size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2); } /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. This is a macro, not an inline function, so that it works correctly even when N is of a wider tupe and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) /* Check for overflow. */ #define size_overflow_p(SIZE) \ ((SIZE) == SIZE_MAX) /* Check against overflow. */ #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) #endif /* _XSIZE_H */ xfe-1.42/intl/Makefile.in0000644000175100017510000004553111444154372012175 00000000000000# Makefile for directory with message catalog handling library of GNU gettext # Copyright (C) 1995-1998, 2000-2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. # The VPATH variables allows builds with $builddir != $srcdir, assuming a # 'make' program that supports VPATH (such as GNU make). This line is removed # by autoconf automatically when "$(srcdir)" = ".". # In this directory, the VPATH handling is particular: # 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool), # the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted. # 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise # 'make' does the wrong thing if GNU gettext was configured with # "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la # files it finds in srcdir = ../../gettext-runtime/intl. VPATH = $(srcdir) prefix = @prefix@ exec_prefix = @exec_prefix@ transform = @program_transform_name@ libdir = @libdir@ includedir = @includedir@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/intl aliaspath = $(localedir) subdir = intl INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ l = @INTL_LIBTOOL_SUFFIX_PREFIX@ AR = ar CC = @CC@ LIBTOOL = @LIBTOOL@ RANLIB = @RANLIB@ YACC = @INTLBISON@ -y -d YFLAGS = --name-prefix=__gettext # -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro. # -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \ -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ -Dset_relocation_prefix=libintl_set_relocation_prefix \ -Drelocate=libintl_relocate \ -DDEPENDS_ON_LIBICONV=1 @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@ LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@) LDFLAGS_yes = -Wl,--export-all-symbols LDFLAGS_no = LIBS = @LIBS@ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) HEADERS = \ gmo.h \ gettextP.h \ hash-string.h \ loadinfo.h \ plural-exp.h \ eval-plural.h \ localcharset.h \ lock.h \ relocatable.h \ xsize.h \ printf-args.h printf-args.c \ printf-parse.h wprintf-parse.h printf-parse.c \ vasnprintf.h vasnwprintf.h vasnprintf.c \ os2compat.h \ libgnuintl.h.in SOURCES = \ bindtextdom.c \ dcgettext.c \ dgettext.c \ gettext.c \ finddomain.c \ hash-string.c \ loadmsgcat.c \ localealias.c \ textdomain.c \ l10nflist.c \ explodename.c \ dcigettext.c \ dcngettext.c \ dngettext.c \ ngettext.c \ plural.y \ plural-exp.c \ localcharset.c \ lock.c \ relocatable.c \ langprefs.c \ localename.c \ log.c \ printf.c \ version.c \ osdep.c \ os2compat.c \ intl-exports.c \ intl-compat.c OBJECTS = \ bindtextdom.$lo \ dcgettext.$lo \ dgettext.$lo \ gettext.$lo \ finddomain.$lo \ hash-string.$lo \ loadmsgcat.$lo \ localealias.$lo \ textdomain.$lo \ l10nflist.$lo \ explodename.$lo \ dcigettext.$lo \ dcngettext.$lo \ dngettext.$lo \ ngettext.$lo \ plural.$lo \ plural-exp.$lo \ localcharset.$lo \ lock.$lo \ relocatable.$lo \ langprefs.$lo \ localename.$lo \ log.$lo \ printf.$lo \ version.$lo \ osdep.$lo \ intl-compat.$lo DISTFILES.common = Makefile.in \ config.charset locale.alias ref-add.sin ref-del.sin export.h \ $(HEADERS) $(SOURCES) DISTFILES.generated = plural.c DISTFILES.normal = VERSION DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc README.woe32 DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h \ libgnuintl.h_vms Makefile.vms libgnuintl.h.msvc-static \ libgnuintl.h.msvc-shared Makefile.msvc all: all-@USE_INCLUDED_LIBINTL@ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed all-no: all-no-@BUILD_INCLUDED_LIBINTL@ all-no-yes: libgnuintl.$la all-no-no: libintl.a libgnuintl.a: $(OBJECTS) rm -f $@ $(AR) cru $@ $(OBJECTS) $(RANLIB) $@ libintl.la libgnuintl.la: $(OBJECTS) $(LIBTOOL) --mode=link \ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ -lc \ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ -rpath $(libdir) \ -no-undefined # Libtool's library version information for libintl. # Before making a gettext release, the gettext maintainer must change this # according to the libtool documentation, section "Library interface versions". # Maintainers of other packages that include the intl directory must *not* # change these values. LTV_CURRENT=8 LTV_REVISION=1 LTV_AGE=0 .SUFFIXES: .SUFFIXES: .c .y .o .lo .sin .sed .c.o: $(COMPILE) $< .y.c: $(YACC) $(YFLAGS) --output $@ $< rm -f $*.h bindtextdom.lo: $(srcdir)/bindtextdom.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c dcgettext.lo: $(srcdir)/dcgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c dgettext.lo: $(srcdir)/dgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c gettext.lo: $(srcdir)/gettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c finddomain.lo: $(srcdir)/finddomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c hash-string.lo: $(srcdir)/hash-string.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c loadmsgcat.lo: $(srcdir)/loadmsgcat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c localealias.lo: $(srcdir)/localealias.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c textdomain.lo: $(srcdir)/textdomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c l10nflist.lo: $(srcdir)/l10nflist.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c explodename.lo: $(srcdir)/explodename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c dcigettext.lo: $(srcdir)/dcigettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c dcngettext.lo: $(srcdir)/dcngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c dngettext.lo: $(srcdir)/dngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c ngettext.lo: $(srcdir)/ngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c plural.lo: $(srcdir)/plural.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c plural-exp.lo: $(srcdir)/plural-exp.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c localcharset.lo: $(srcdir)/localcharset.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c lock.lo: $(srcdir)/lock.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c relocatable.lo: $(srcdir)/relocatable.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c langprefs.lo: $(srcdir)/langprefs.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c localename.lo: $(srcdir)/localename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c log.lo: $(srcdir)/log.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c printf.lo: $(srcdir)/printf.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c version.lo: $(srcdir)/version.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c osdep.lo: $(srcdir)/osdep.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c intl-compat.lo: $(srcdir)/intl-compat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c ref-add.sed: $(srcdir)/ref-add.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed mv t-ref-add.sed ref-add.sed ref-del.sed: $(srcdir)/ref-del.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed mv t-ref-del.sed ref-del.sed INCLUDES = -I. -I$(srcdir) -I.. libgnuintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in \ | if test '@WOE32DLL@' = yes; then \ sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \ else \ cat; \ fi \ | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \ -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \ | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \ > libgnuintl.h libintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in > libintl.h charset.alias: $(srcdir)/config.charset $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ mv t-$@ $@ check: all # We must not install the libintl.h/libintl.a files if we are on a # system which has the GNU gettext() function in its C library or in a # separate library. # If you want to use the one which comes with this version of the # package, you have to use `configure --with-included-gettext'. install: install-exec install-data install-exec: all if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ if test "@RELOCATABLE@" = yes; then \ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ if test -n "$$dependencies"; then \ rm -f $(DESTDIR)$(libdir)/libintl.la; \ fi; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ orig=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ if test @GLIBC21@ = no; then \ orig=charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ fi; \ fi; \ $(mkdir_p) $(DESTDIR)$(localedir); \ test -f $(DESTDIR)$(localedir)/locale.alias \ && orig=$(DESTDIR)$(localedir)/locale.alias \ || orig=$(srcdir)/locale.alias; \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ : ; \ fi install-data: all if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ for file in $$dists; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ dists="$(DISTFILES.generated)"; \ for file in $$dists; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ $(INSTALL_DATA) $$dir/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ dists="$(DISTFILES.obsolete)"; \ for file in $$dists; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-strip: install installdirs: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ $(mkdir_p) $(DESTDIR)$(localedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ rm -f $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libintl.$la; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ if test -f $(DESTDIR)$(localedir)/locale.alias; then \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi info dvi ps pdf html: $(OBJECTS): ../config.h libgnuintl.h bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h dcigettext.$lo: $(srcdir)/eval-plural.h localcharset.$lo: $(srcdir)/localcharset.h bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c # A bison-2.1 generated plural.c includes if ENABLE_NLS. PLURAL_DEPS_yes = libintl.h PLURAL_DEPS_no = plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@) tags: TAGS TAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) id: ID ID: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) mostlyclean: rm -f *.a *.la *.o *.obj *.lo core core.* rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed rm -f -r .libs _libs clean: mostlyclean distclean: clean rm -f Makefile ID TAGS if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ rm -f ChangeLog.inst $(DISTFILES.normal); \ else \ : ; \ fi maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." # GNU gettext needs not contain the file `VERSION' but contains some # other files which should not be distributed in other packages. distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: Makefile if test "$(PACKAGE)" = "gettext-tools"; then \ : ; \ else \ if test "$(PACKAGE)" = "gettext-runtime"; then \ additional="$(DISTFILES.gettext)"; \ else \ additional="$(DISTFILES.normal)"; \ fi; \ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \ done; \ fi Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status # This would be more efficient, but doesn't work any more with autoconf-2.57, # when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. # cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ # 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: xfe-1.42/intl/os2compat.c0000644000175100017510000000563412202431550012170 00000000000000/* OS/2 compatibility functions. Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #define OS2_AWARE #ifdef HAVE_CONFIG_H #include #endif #include #include #include /* A version of getenv() that works from DLLs */ extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); char * _nl_getenv (const char *name) { unsigned char *value; if (DosScanEnv (name, &value)) return NULL; else return value; } /* A fixed size buffer. */ char libintl_nl_default_dirname[MAXPATHLEN+1]; char *_nlos2_libdir = NULL; char *_nlos2_localealiaspath = NULL; char *_nlos2_localedir = NULL; static __attribute__((constructor)) void nlos2_initialize () { char *root = getenv ("UNIXROOT"); char *gnulocaledir = getenv ("GNULOCALEDIR"); _nlos2_libdir = gnulocaledir; if (!_nlos2_libdir) { if (root) { size_t sl = strlen (root); _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); memcpy (_nlos2_libdir, root, sl); memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); } else _nlos2_libdir = LIBDIR; } _nlos2_localealiaspath = gnulocaledir; if (!_nlos2_localealiaspath) { if (root) { size_t sl = strlen (root); _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); memcpy (_nlos2_localealiaspath, root, sl); memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); } else _nlos2_localealiaspath = LOCALE_ALIAS_PATH; } _nlos2_localedir = gnulocaledir; if (!_nlos2_localedir) { if (root) { size_t sl = strlen (root); _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); memcpy (_nlos2_localedir, root, sl); memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); } else _nlos2_localedir = LOCALEDIR; } if (strlen (_nlos2_localedir) <= MAXPATHLEN) strcpy (libintl_nl_default_dirname, _nlos2_localedir); } xfe-1.42/intl/eval-plural.h0000644000175100017510000000627412202431546012520 00000000000000/* Plural expression evaluation. Copyright (C) 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef STATIC #define STATIC static #endif /* Evaluate the plural expression and return an index value. */ STATIC unsigned long int internal_function plural_eval (struct expression *pexp, unsigned long int n) { switch (pexp->nargs) { case 0: switch (pexp->operation) { case var: return n; case num: return pexp->val.num; default: break; } /* NOTREACHED */ break; case 1: { /* pexp->operation must be lnot. */ unsigned long int arg = plural_eval (pexp->val.args[0], n); return ! arg; } case 2: { unsigned long int leftarg = plural_eval (pexp->val.args[0], n); if (pexp->operation == lor) return leftarg || plural_eval (pexp->val.args[1], n); else if (pexp->operation == land) return leftarg && plural_eval (pexp->val.args[1], n); else { unsigned long int rightarg = plural_eval (pexp->val.args[1], n); switch (pexp->operation) { case mult: return leftarg * rightarg; case divide: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg / rightarg; case module: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg % rightarg; case plus: return leftarg + rightarg; case minus: return leftarg - rightarg; case less_than: return leftarg < rightarg; case greater_than: return leftarg > rightarg; case less_or_equal: return leftarg <= rightarg; case greater_or_equal: return leftarg >= rightarg; case equal: return leftarg == rightarg; case not_equal: return leftarg != rightarg; default: break; } } /* NOTREACHED */ break; } case 3: { /* pexp->operation must be qmop. */ unsigned long int boolarg = plural_eval (pexp->val.args[0], n); return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); } } /* NOTREACHED */ return 0; } xfe-1.42/intl/dcgettext.c0000644000175100017510000000342312202431550012246 00000000000000/* Implementation of the dcgettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCGETTEXT __dcgettext # define DCIGETTEXT __dcigettext #else # define DCGETTEXT libintl_dcgettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCGETTEXT (const char *domainname, const char *msgid, int category) { return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ INTDEF(__dcgettext) weak_alias (__dcgettext, dcgettext); #endif xfe-1.42/intl/finddomain.c0000644000175100017510000001452612202431550012371 00000000000000/* Handle list of needed message catalogs Copyright (C) 1995-1999, 2000-2001, 2003-2006 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* @@ end of prolog @@ */ /* List of already loaded domains. */ static struct loaded_l10nfile *_nl_loaded_domains; /* Return a data structure describing the message catalog described by the DOMAINNAME and CATEGORY parameters with respect to the currently established bindings. */ struct loaded_l10nfile * internal_function _nl_find_domain (const char *dirname, char *locale, const char *domainname, struct binding *domainbinding) { struct loaded_l10nfile *retval; const char *language; const char *modifier; const char *territory; const char *codeset; const char *normalized_codeset; const char *alias_value; int mask; /* LOCALE can consist of up to four recognized parts for the XPG syntax: language[_territory][.codeset][@modifier] Beside the first part all of them are allowed to be missing. If the full specified locale is not found, the less specific one are looked for. The various parts will be stripped off according to the following order: (1) codeset (2) normalized codeset (3) territory (4) modifier */ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_define_initialized (static, lock); gl_rwlock_rdlock (lock); /* If we have already tested for this locale entry there has to be one data set in the list of loaded domains. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, 0, locale, NULL, NULL, NULL, NULL, domainname, 0); gl_rwlock_unlock (lock); if (retval != NULL) { /* We know something about this locale. */ int cnt; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data != NULL) return retval; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } return retval; /* NOTREACHED */ } /* See whether the locale value is an alias. If yes its value *overwrites* the alias name. No test for the original value is done. */ alias_value = _nl_expand_alias (locale); if (alias_value != NULL) { #if defined _LIBC || defined HAVE_STRDUP locale = strdup (alias_value); if (locale == NULL) return NULL; #else size_t len = strlen (alias_value) + 1; locale = (char *) malloc (len); if (locale == NULL) return NULL; memcpy (locale, alias_value, len); #endif } /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = _nl_explode_name (locale, &language, &modifier, &territory, &codeset, &normalized_codeset); /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_wrlock (lock); /* Create all possible locale entries which might be interested in generalization. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, mask, language, territory, codeset, normalized_codeset, modifier, domainname, 1); gl_rwlock_unlock (lock); if (retval == NULL) /* This means we are out of core. */ return NULL; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data == NULL) { int cnt; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } } /* The room for an alias was dynamically allocated. Free it now. */ if (alias_value != NULL) free (locale); /* The space for normalized_codeset is dynamically allocated. Free it. */ if (mask & XPG_NORM_CODESET) free ((void *) normalized_codeset); return retval; } #ifdef _LIBC /* This is called from iconv/gconv_db.c's free_mem, as locales must be freed before freeing gconv steps arrays. */ void __libc_freeres_fn_section _nl_finddomain_subfreeres () { struct loaded_l10nfile *runp = _nl_loaded_domains; while (runp != NULL) { struct loaded_l10nfile *here = runp; if (runp->data != NULL) _nl_unload_domain ((struct loaded_domain *) runp->data); runp = runp->next; free ((char *) here->filename); free (here); } } #endif xfe-1.42/intl/langprefs.c0000644000175100017510000001164412202431550012240 00000000000000/* Determine the user's language preferences. Copyright (C) 2004-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #if HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # include # include # include extern void _nl_locale_name_canonicalize (char *name); #endif /* Determine the user's language preferences, as a colon separated list of locale names in XPG syntax language[_territory][.codeset][@modifier] The result must not be freed; it is statically allocated. The LANGUAGE environment variable does not need to be considered; it is already taken into account by the caller. */ const char * _nl_language_preferences_default (void) { #if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the preferences list, since CoreFoundation calls are expensive. */ static const char *cached_languages; static int cache_initialized; if (!cache_initialized) { CFTypeRef preferences = CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), kCFPreferencesCurrentApplication); if (preferences != NULL && CFGetTypeID (preferences) == CFArrayGetTypeID ()) { CFArrayRef prefArray = (CFArrayRef)preferences; int n = CFArrayGetCount (prefArray); char buf[256]; size_t size = 0; int i; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); size += strlen (buf) + 1; /* Most GNU programs use msgids in English and don't ship an en.mo message catalog. Therefore when we see "en" in the preferences list, arrange for gettext() to return the msgid, and ignore all further elements of the preferences list. */ if (strcmp (buf, "en") == 0) break; } else break; } if (size > 0) { char *languages = (char *) malloc (size); if (languages != NULL) { char *p = languages; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); strcpy (p, buf); p += strlen (buf); *p++ = ':'; if (strcmp (buf, "en") == 0) break; } else break; } *--p = '\0'; cached_languages = languages; } } } cache_initialized = 1; } if (cached_languages != NULL) return cached_languages; } #endif return NULL; } xfe-1.42/intl/vasnwprintf.h0000644000175100017510000000335212202431546012647 00000000000000/* vswprintf with automatic memory allocation. Copyright (C) 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNWPRINTF_H #define _VASNWPRINTF_H /* Get va_list. */ #include /* Get wchar_t, size_t. */ #include #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. */ extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); #ifdef __cplusplus } #endif #endif /* _VASNWPRINTF_H */ xfe-1.42/intl/relocatable.c0000644000175100017510000003670712202431550012543 00000000000000/* Provide relocatable packages. Copyright (C) 2003-2006 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for getline(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #include /* Specification. */ #include "relocatable.h" #if ENABLE_RELOCATABLE #include #include #include #include #ifdef NO_XMALLOC # define xmalloc malloc #else # include "xalloc.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include #endif #if DEPENDS_ON_LIBCHARSET # include #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV # include #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS # include #endif /* Faked cheap 'bool'. */ #undef bool #undef false #undef true #define bool int #define false 0 #define true 1 /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif /* Original installation prefix. */ static char *orig_prefix; static size_t orig_prefix_len; /* Current installation prefix. */ static char *curr_prefix; static size_t curr_prefix_len; /* These prefixes do not end in a slash. Anything that will be concatenated to them must start with a slash. */ /* Sets the original and the current installation prefix of this module. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ static void set_this_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { if (orig_prefix_arg != NULL && curr_prefix_arg != NULL /* Optimization: if orig_prefix and curr_prefix are equal, the relocation is a nop. */ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) { /* Duplicate the argument strings. */ char *memory; orig_prefix_len = strlen (orig_prefix_arg); curr_prefix_len = strlen (curr_prefix_arg); memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); #ifdef NO_XMALLOC if (memory != NULL) #endif { memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); orig_prefix = memory; memory += orig_prefix_len + 1; memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); curr_prefix = memory; return; } } orig_prefix = NULL; curr_prefix = NULL; /* Don't worry about wasted memory here - this function is usually only called once. */ } /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ void set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); /* Now notify all dependent libraries. */ #if DEPENDS_ON_LIBCHARSET libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif } #if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ #ifdef IN_LIBRARY #define compute_curr_prefix local_compute_curr_prefix static #endif const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname) { const char *curr_installdir; const char *rel_installdir; if (curr_pathname == NULL) return NULL; /* Determine the relative installation directory, relative to the prefix. This is simply the difference between orig_installprefix and orig_installdir. */ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) != 0) /* Shouldn't happen - nothing should be installed outside $(prefix). */ return NULL; rel_installdir = orig_installdir + strlen (orig_installprefix); /* Determine the current installation directory. */ { const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); const char *p = curr_pathname + strlen (curr_pathname); char *q; while (p > p_base) { p--; if (ISSLASH (*p)) break; } q = (char *) xmalloc (p - curr_pathname + 1); #ifdef NO_XMALLOC if (q == NULL) return NULL; #endif memcpy (q, curr_pathname, p - curr_pathname); q[p - curr_pathname] = '\0'; curr_installdir = q; } /* Compute the current installation prefix by removing the trailing rel_installdir from it. */ { const char *rp = rel_installdir + strlen (rel_installdir); const char *cp = curr_installdir + strlen (curr_installdir); const char *cp_base = curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); while (rp > rel_installdir && cp > cp_base) { bool same = false; const char *rpi = rp; const char *cpi = cp; while (rpi > rel_installdir && cpi > cp_base) { rpi--; cpi--; if (ISSLASH (*rpi) || ISSLASH (*cpi)) { if (ISSLASH (*rpi) && ISSLASH (*cpi)) same = true; break; } /* Do case-insensitive comparison if the filesystem is always or often case-insensitive. It's better to accept the comparison if the difference is only in case, rather than to fail. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) break; #else if (*rpi != *cpi) break; #endif } if (!same) break; /* The last pathname component was the same. opi and cpi now point to the slash before it. */ rp = rpi; cp = cpi; } if (rp > rel_installdir) /* Unexpected: The curr_installdir does not end with rel_installdir. */ return NULL; { size_t curr_prefix_len = cp - curr_installdir; char *curr_prefix; curr_prefix = (char *) xmalloc (curr_prefix_len + 1); #ifdef NO_XMALLOC if (curr_prefix == NULL) return NULL; #endif memcpy (curr_prefix, curr_installdir, curr_prefix_len); curr_prefix[curr_prefix_len] = '\0'; return curr_prefix; } } } #endif /* !IN_LIBRARY || PIC */ #if defined PIC && defined INSTALLDIR /* Full pathname of shared library, or NULL. */ static char *shared_library_fullname; #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ /* Determine the full pathname of the shared library when it is loaded. */ BOOL WINAPI DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) { (void) reserved; if (event == DLL_PROCESS_ATTACH) { /* The DLL is being loaded into an application's address range. */ static char location[MAX_PATH]; if (!GetModuleFileName (module_handle, location, sizeof (location))) /* Shouldn't happen. */ return FALSE; if (!IS_PATH_WITH_DIR (location)) /* Shouldn't happen. */ return FALSE; { #if defined __CYGWIN__ /* On Cygwin, we need to convert paths coming from Win32 system calls to the Unix-like slashified notation. */ static char location_as_posix_path[2 * MAX_PATH]; /* There's no error return defined for cygwin_conv_to_posix_path. See cygwin-api/func-cygwin-conv-to-posix-path.html. Does it overflow the buffer of expected size MAX_PATH or does it truncate the path? I don't know. Let's catch both. */ cygwin_conv_to_posix_path (location, location_as_posix_path); location_as_posix_path[MAX_PATH - 1] = '\0'; if (strlen (location_as_posix_path) >= MAX_PATH - 1) /* A sign of buffer overflow or path truncation. */ return FALSE; shared_library_fullname = strdup (location_as_posix_path); #else shared_library_fullname = strdup (location); #endif } } return TRUE; } #else /* Unix except Cygwin */ static void find_shared_library_fullname () { #if defined __linux__ && __GLIBC__ >= 2 /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ FILE *fp; /* Open the current process' maps file. It describes one VMA per line. */ fp = fopen ("/proc/self/maps", "r"); if (fp) { unsigned long address = (unsigned long) &find_shared_library_fullname; for (;;) { unsigned long start, end; int c; if (fscanf (fp, "%lx-%lx", &start, &end) != 2) break; if (address >= start && address <= end - 1) { /* Found it. Now see if this line contains a filename. */ while (c = getc (fp), c != EOF && c != '\n' && c != '/') continue; if (c == '/') { size_t size; int len; ungetc (c, fp); shared_library_fullname = NULL; size = 0; len = getline (&shared_library_fullname, &size, fp); if (len >= 0) { /* Success: filled shared_library_fullname. */ if (len > 0 && shared_library_fullname[len - 1] == '\n') shared_library_fullname[len - 1] = '\0'; } } break; } while (c = getc (fp), c != EOF && c != '\n') continue; } fclose (fp); } #endif } #endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */ /* Return the full pathname of the current shared library. Return NULL if unknown. Guaranteed to work only on Linux, Cygwin and Woe32. */ static char * get_shared_library_fullname () { #if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__) static bool tried_find_shared_library_fullname; if (!tried_find_shared_library_fullname) { find_shared_library_fullname (); tried_find_shared_library_fullname = true; } #endif return shared_library_fullname; } #endif /* PIC */ /* Returns the pathname, relocated according to the current installation directory. */ const char * relocate (const char *pathname) { #if defined PIC && defined INSTALLDIR static int initialized; /* Initialization code for a shared library. */ if (!initialized) { /* At this point, orig_prefix and curr_prefix likely have already been set through the main program's set_program_name_and_installdir function. This is sufficient in the case that the library has initially been installed in the same orig_prefix. But we can do better, to also cover the cases that 1. it has been installed in a different prefix before being moved to orig_prefix and (later) to curr_prefix, 2. unlike the program, it has not moved away from orig_prefix. */ const char *orig_installprefix = INSTALLPREFIX; const char *orig_installdir = INSTALLDIR; const char *curr_prefix_better; curr_prefix_better = compute_curr_prefix (orig_installprefix, orig_installdir, get_shared_library_fullname ()); if (curr_prefix_better == NULL) curr_prefix_better = curr_prefix; set_relocation_prefix (orig_installprefix, curr_prefix_better); initialized = 1; } #endif /* Note: It is not necessary to perform case insensitive comparison here, even for DOS-like filesystems, because the pathname argument was typically created from the same Makefile variable as orig_prefix came from. */ if (orig_prefix != NULL && curr_prefix != NULL && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) { if (pathname[orig_prefix_len] == '\0') /* pathname equals orig_prefix. */ return curr_prefix; if (ISSLASH (pathname[orig_prefix_len])) { /* pathname starts with orig_prefix. */ const char *pathname_tail = &pathname[orig_prefix_len]; char *result = (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); #ifdef NO_XMALLOC if (result != NULL) #endif { memcpy (result, curr_prefix, curr_prefix_len); strcpy (result + curr_prefix_len, pathname_tail); return result; } } } /* Nothing to relocate. */ return pathname; } #endif xfe-1.42/intl/hash-string.c0000644000175100017510000000323512202431550012503 00000000000000/* Implements a string hashing function. Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif /* Specification. */ #include "hash-string.h" /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ unsigned long int __hash_string (const char *str_param) { unsigned long int hval, g; const char *str = str_param; /* Compute the hash value for the given string. */ hval = 0; while (*str != '\0') { hval <<= 4; hval += (unsigned char) *str++; g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); if (g != 0) { hval ^= g >> (HASHWORDBITS - 8); hval ^= g; } } return hval; } xfe-1.42/intl/printf-parse.h0000644000175100017510000000425112202431546012677 00000000000000/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const char* dir_start; const char* dir_end; int flags; const char* width_start; const char* width_end; size_t width_arg_index; const char* precision_start; const char* precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } char_directive; /* A parsed format string. */ typedef struct { size_t count; char_directive *dir; size_t max_width_length; size_t max_precision_length; } char_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int printf_parse (const char *format, char_directives *d, arguments *a); #endif /* _PRINTF_PARSE_H */ xfe-1.42/intl/printf-args.c0000644000175100017510000001165712202431550012517 00000000000000/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include /* Specification. */ #include "printf-args.h" #ifdef STATIC STATIC #endif int printf_fetchargs (va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) switch (ap->type) { case TYPE_SCHAR: ap->a.a_schar = va_arg (args, /*signed char*/ int); break; case TYPE_UCHAR: ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); break; case TYPE_SHORT: ap->a.a_short = va_arg (args, /*short*/ int); break; case TYPE_USHORT: ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); break; case TYPE_INT: ap->a.a_int = va_arg (args, int); break; case TYPE_UINT: ap->a.a_uint = va_arg (args, unsigned int); break; case TYPE_LONGINT: ap->a.a_longint = va_arg (args, long int); break; case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; case TYPE_ULONGLONGINT: ap->a.a_ulonglongint = va_arg (args, unsigned long long int); break; #endif case TYPE_DOUBLE: ap->a.a_double = va_arg (args, double); break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: ap->a.a_longdouble = va_arg (args, long double); break; #endif case TYPE_CHAR: ap->a.a_char = va_arg (args, int); break; #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by default argument promotions", this is not the case in mingw32, where wint_t is 'unsigned short'. */ ap->a.a_wide_char = (sizeof (wint_t) < sizeof (int) ? va_arg (args, int) : va_arg (args, wint_t)); break; #endif case TYPE_STRING: ap->a.a_string = va_arg (args, const char *); /* A null pointer is an invalid argument for "%s", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_string == NULL) ap->a.a_string = "(NULL)"; break; #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: ap->a.a_wide_string = va_arg (args, const wchar_t *); /* A null pointer is an invalid argument for "%ls", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_wide_string == NULL) { static const wchar_t wide_null_string[] = { (wchar_t)'(', (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', (wchar_t)')', (wchar_t)0 }; ap->a.a_wide_string = wide_null_string; } break; #endif case TYPE_POINTER: ap->a.a_pointer = va_arg (args, void *); break; case TYPE_COUNT_SCHAR_POINTER: ap->a.a_count_schar_pointer = va_arg (args, signed char *); break; case TYPE_COUNT_SHORT_POINTER: ap->a.a_count_short_pointer = va_arg (args, short *); break; case TYPE_COUNT_INT_POINTER: ap->a.a_count_int_pointer = va_arg (args, int *); break; case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; #ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; #endif default: /* Unknown type. */ return -1; } return 0; } xfe-1.42/intl/plural.c0000644000175100017510000011525412202431550011560 00000000000000/* A Bison parser, made from plural.y by GNU bison 1.35. */ #define YYBISON 1 /* Identify Bison output. */ #define yyparse __gettextparse #define yylex __gettextlex #define yyerror __gettexterror #define yylval __gettextlval #define yychar __gettextchar #define yydebug __gettextdebug #define yynerrs __gettextnerrs # define EQUOP2 257 # define CMPOP2 258 # define ADDOP2 259 # define MULOP2 260 # define NUMBER 261 #line 1 "plural.y" /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg #line 51 "plural.y" #ifndef YYSTYPE typedef union { unsigned long int num; enum operator op; struct expression *exp; } yystype; # define YYSTYPE yystype # define YYSTYPE_IS_TRIVIAL 1 #endif #line 57 "plural.y" /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } #ifndef YYDEBUG # define YYDEBUG 0 #endif #define YYFINAL 27 #define YYFLAG -32768 #define YYNTBASE 16 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ #define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18) /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 6, 7, 8, 9, 11 }; #if YYDEBUG static const short yyprhs[] = { 0, 0, 2, 8, 12, 16, 20, 24, 28, 32, 35, 37, 39 }; static const short yyrhs[] = { 17, 0, 17, 3, 17, 12, 17, 0, 17, 4, 17, 0, 17, 5, 17, 0, 17, 6, 17, 0, 17, 7, 17, 0, 17, 8, 17, 0, 17, 9, 17, 0, 10, 17, 0, 13, 0, 11, 0, 14, 17, 15, 0 }; #endif #if YYDEBUG /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const short yyrline[] = { 0, 152, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 201 }; #endif #if (YYDEBUG) || defined YYERROR_VERBOSE /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ static const char *const yytname[] = { "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", "start", "exp", 0 }; #endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const short yyr1[] = { 0, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const short yyr2[] = { 0, 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, 1, 3 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const short yydefact[] = { 0, 0, 11, 10, 0, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 3, 4, 5, 6, 7, 8, 0, 2, 0, 0, 0 }; static const short yydefgoto[] = { 25, 5 }; static const short yypact[] = { -9, -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9, -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26, -3,-32768, -9, 34, 21, 53,-32768 }; static const short yypgoto[] = { -32768, -1 }; #define YYLAST 53 static const short yytable[] = { 6, 1, 2, 7, 3, 4, 14, 16, 17, 18, 19, 20, 21, 22, 8, 9, 10, 11, 12, 13, 14, 26, 24, 12, 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 13, 14, 23, 8, 9, 10, 11, 12, 13, 14, 10, 11, 12, 13, 14, 11, 12, 13, 14, 27 }; static const short yycheck[] = { 1, 10, 11, 4, 13, 14, 9, 8, 9, 10, 11, 12, 13, 14, 3, 4, 5, 6, 7, 8, 9, 0, 23, 7, 8, 9, 15, 3, 4, 5, 6, 7, 8, 9, 8, 9, 12, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, 8, 9, 0 }; #define YYPURE 1 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) /* The parser invokes alloca or malloc; define the necessary symbols. */ # if YYSTACK_USE_ALLOCA # define YYSTACK_ALLOC alloca # else # ifndef YYSTACK_USE_ALLOCA # if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca # else # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # else # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif # define YYSTACK_ALLOC malloc # define YYSTACK_FREE free # endif #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short yyss; YYSTYPE yyvs; # if YYLSP_NEEDED YYLTYPE yyls; # endif }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # if YYLSP_NEEDED # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + 2 * YYSTACK_GAP_MAX) # else # define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAX) # endif /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif #if ! defined (YYSIZE_T) && defined (size_t) # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif #endif #if ! defined (YYSIZE_T) # define YYSIZE_T unsigned int #endif #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Compute the default location (before the actions are run). When YYLLOC_DEFAULT is run, CURRENT is set the location of the first token. By default, to implement support for ranges, extend its range to the last symbol. */ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ Current.last_line = Rhs[N].last_line; \ Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ #if YYPURE # if YYLSP_NEEDED # ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) # else # define YYLEX yylex (&yylval, &yylloc) # endif # else /* !YYLSP_NEEDED */ # ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) # else # define YYLEX yylex (&yylval) # endif # endif /* !YYLSP_NEEDED */ #else /* !YYPURE */ # define YYLEX yylex () #endif /* !YYPURE */ /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #if YYMAXDEPTH == 0 # undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #ifdef YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T # if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) # else yystrlen (yystr) const char *yystr; # endif { register const char *yys = yystr; while (*yys++ != '\0') continue; return yys - yystr - 1; } # endif # endif # ifndef yystpcpy # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * # if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) # else yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; # endif { register char *yyd = yydest; register const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif #endif #line 315 "bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. It should actually point to an object. Grammar actions can access the variable by casting it to the proper pointer type. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM # define YYPARSE_PARAM_DECL # else # define YYPARSE_PARAM_ARG YYPARSE_PARAM # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; # endif #else /* !YYPARSE_PARAM */ # define YYPARSE_PARAM_ARG # define YYPARSE_PARAM_DECL #endif /* !YYPARSE_PARAM */ /* Prevent warning if -Wstrict-prototypes. */ #ifdef __GNUC__ # ifdef YYPARSE_PARAM int yyparse (void *); # else int yyparse (void); # endif #endif /* YY_DECL_VARIABLES -- depending whether we use a pure parser, variables are global, or local to YYPARSE. */ #define YY_DECL_NON_LSP_VARIABLES \ /* The lookahead symbol. */ \ int yychar; \ \ /* The semantic value of the lookahead symbol. */ \ YYSTYPE yylval; \ \ /* Number of parse errors so far. */ \ int yynerrs; #if YYLSP_NEEDED # define YY_DECL_VARIABLES \ YY_DECL_NON_LSP_VARIABLES \ \ /* Location data for the lookahead symbol. */ \ YYLTYPE yylloc; #else # define YY_DECL_VARIABLES \ YY_DECL_NON_LSP_VARIABLES #endif /* If nonreentrant, generate the variables here. */ #if !YYPURE YY_DECL_VARIABLES #endif /* !YYPURE */ int yyparse (YYPARSE_PARAM_ARG) YYPARSE_PARAM_DECL { /* If reentrant, generate the variables here. */ #if YYPURE YY_DECL_VARIABLES #endif /* !YYPURE */ register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ int yychar1 = 0; /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; #if YYLSP_NEEDED /* The location stack. */ YYLTYPE yylsa[YYINITDEPTH]; YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; #endif #if YYLSP_NEEDED # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else # define YYPOPSTACK (yyvsp--, yyssp--) #endif YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYLSP_NEEDED YYLTYPE yyloc; #endif /* When reducing, the number of symbols on the RHS of the reduced rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; #if YYLSP_NEEDED yylsp = yyls; #endif goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. */ # if YYLSP_NEEDED YYLTYPE *yyls1 = yyls; /* This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yyls1, yysize * sizeof (*yylsp), &yystacksize); yyls = yyls1; # else yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); # endif yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyoverflowlab; # else /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) goto yyoverflowlab; yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; { short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # if YYLSP_NEEDED YYSTACK_RELOCATE (yyls); # endif # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; #if YYLSP_NEEDED yylsp = yyls + yysize - 1; #endif YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyssp >= yyss + yystacksize - 1) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* yychar is either YYEMPTY or YYEOF or a valid token in external form. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yychar1 = YYTRANSLATE (yychar); #if YYDEBUG /* We have to keep this `#if YYDEBUG', since we use variables which are defined only if `YYDEBUG' is set. */ if (yydebug) { YYFPRINTF (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */ # ifdef YYPRINT YYPRINT (stderr, yychar, yylval); # endif YYFPRINTF (stderr, ")\n"); } #endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ YYDPRINTF ((stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; #if YYLSP_NEEDED *++yylsp = yylloc; #endif /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to the semantic value of the lookahead token. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; #if YYLSP_NEEDED /* Similarly for the default location. Let the user run additional commands if for instance locations are ranges. */ yyloc = yylsp[1-yylen]; YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); #endif #if YYDEBUG /* We have to keep this `#if YYDEBUG', since we use variables which are defined only if `YYDEBUG' is set. */ if (yydebug) { int yyi; YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); } #endif switch (yyn) { case 1: #line 153 "plural.y" { if (yyvsp[0].exp == NULL) YYABORT; ((struct parse_args *) arg)->res = yyvsp[0].exp; } break; case 2: #line 161 "plural.y" { yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp); } break; case 3: #line 165 "plural.y" { yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp); } break; case 4: #line 169 "plural.y" { yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp); } break; case 5: #line 173 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 6: #line 177 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 7: #line 181 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 8: #line 185 "plural.y" { yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp); } break; case 9: #line 189 "plural.y" { yyval.exp = new_exp_1 (lnot, yyvsp[0].exp); } break; case 10: #line 193 "plural.y" { yyval.exp = new_exp_0 (var); } break; case 11: #line 197 "plural.y" { if ((yyval.exp = new_exp_0 (num)) != NULL) yyval.exp->val.num = yyvsp[0].num; } break; case 12: #line 202 "plural.y" { yyval.exp = yyvsp[-1].exp; } break; } #line 705 "bison.simple" yyvsp -= yylen; yyssp -= yylen; #if YYLSP_NEEDED yylsp -= yylen; #endif #if YYDEBUG if (yydebug) { short *yyssp1 = yyss - 1; YYFPRINTF (stderr, "state stack now"); while (yyssp1 != yyssp) YYFPRINTF (stderr, " %d", *++yyssp1); YYFPRINTF (stderr, "\n"); } #endif *++yyvsp = yyval; #if YYLSP_NEEDED *++yylsp = yyloc; #endif /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTBASE] + *yyssp; if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; if (yyn > YYFLAG && yyn < YYLAST) { YYSIZE_T yysize = 0; char *yymsg; int yyx, yycount; yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx) yysize += yystrlen (yytname[yyx]) + 15, yycount++; yysize += yystrlen ("parse error, unexpected ") + 1; yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { char *yyp = yystpcpy (yymsg, "parse error, unexpected "); yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); if (yycount < 5) { yycount = 0; for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); yyp = yystpcpy (yyp, yytname[yyx]); yycount++; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else yyerror ("parse error; also virtual memory exhausted"); } else #endif /* defined (YYERROR_VERBOSE) */ yyerror ("parse error"); } goto yyerrlab1; /*--------------------------------------------------. | yyerrlab1 -- error raised explicitly by an action | `--------------------------------------------------*/ yyerrlab1: if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; YYDPRINTF ((stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1])); yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; /*-------------------------------------------------------------------. | yyerrdefault -- current state does not do anything special for the | | error token. | `-------------------------------------------------------------------*/ yyerrdefault: #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ /* If its default is to accept any token, ok. Otherwise pop it. */ yyn = yydefact[yystate]; if (yyn) goto yydefault; #endif /*---------------------------------------------------------------. | yyerrpop -- pop the current state because it cannot handle the | | error token | `---------------------------------------------------------------*/ yyerrpop: if (yyssp == yyss) YYABORT; yyvsp--; yystate = *--yyssp; #if YYLSP_NEEDED yylsp--; #endif #if YYDEBUG if (yydebug) { short *yyssp1 = yyss - 1; YYFPRINTF (stderr, "Error: state stack now"); while (yyssp1 != yyssp) YYFPRINTF (stderr, " %d", *++yyssp1); YYFPRINTF (stderr, "\n"); } #endif /*--------------. | yyerrhandle. | `--------------*/ yyerrhandle: yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; yyn += YYTERROR; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) goto yyerrdefault; yyn = yytable[yyn]; if (yyn < 0) { if (yyn == YYFLAG) goto yyerrpop; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; #if YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; /*---------------------------------------------. | yyoverflowab -- parser overflow comes here. | `---------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ yyreturn: #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } #line 207 "plural.y" void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } xfe-1.42/intl/textdomain.c0000644000175100017510000001101712202431550012425 00000000000000/* Implementation of the textdomain(3) function. Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_default_domain libintl_nl_default_default_domain # define _nl_current_default_domain libintl_nl_current_default_domain #endif /* @@ end of prolog @@ */ /* Name of the default text domain. */ extern const char _nl_default_default_domain[] attribute_hidden; /* Default text domain in which entries for gettext(3) are to be found. */ extern const char *_nl_current_default_domain attribute_hidden; /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define TEXTDOMAIN __textdomain # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define TEXTDOMAIN libintl_textdomain #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ char * TEXTDOMAIN (const char *domainname) { char *new_domain; char *old_domain; /* A NULL pointer requests the current setting. */ if (domainname == NULL) return (char *) _nl_current_default_domain; gl_rwlock_wrlock (_nl_state_lock); old_domain = (char *) _nl_current_default_domain; /* If domain name is the null string set to default domain "messages". */ if (domainname[0] == '\0' || strcmp (domainname, _nl_default_default_domain) == 0) { _nl_current_default_domain = _nl_default_default_domain; new_domain = (char *) _nl_current_default_domain; } else if (strcmp (domainname, old_domain) == 0) /* This can happen and people will use it to signal that some environment variable changed. */ new_domain = old_domain; else { /* If the following malloc fails `_nl_current_default_domain' will be NULL. This value will be returned and so signals we are out of core. */ #if defined _LIBC || defined HAVE_STRDUP new_domain = strdup (domainname); #else size_t len = strlen (domainname) + 1; new_domain = (char *) malloc (len); if (new_domain != NULL) memcpy (new_domain, domainname, len); #endif if (new_domain != NULL) _nl_current_default_domain = new_domain; } /* We use this possibility to signal a change of the loaded catalogs since this is most likely the case and there is no other easy we to do it. Do it only when the call was successful. */ if (new_domain != NULL) { ++_nl_msg_cat_cntr; if (old_domain != new_domain && old_domain != _nl_default_default_domain) free (old_domain); } gl_rwlock_unlock (_nl_state_lock); return new_domain; } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__textdomain, textdomain); #endif xfe-1.42/intl/dcigettext.c0000644000175100017510000014726012202431550012427 00000000000000/* Implementation of the internal dcigettext function. Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif /* NL_LOCALE_NAME does not work in glibc-2.4. Ignore it. */ #undef HAVE_NL_LOCALE_NAME #include #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #ifndef errno extern int errno; #endif #ifndef __set_errno # define __set_errno(val) errno = (val) #endif #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include #ifdef _LIBC /* Guess whether integer division by zero raises signal SIGFPE. Set to 1 only if you know for sure. In case of doubt, set to 0. */ # if defined __alpha__ || defined __arm__ || defined __i386__ \ || defined __m68k__ || defined __s390__ # define INTDIV0_RAISES_SIGFPE 1 # else # define INTDIV0_RAISES_SIGFPE 0 # endif #endif #if !INTDIV0_RAISES_SIGFPE # include #endif #if defined HAVE_SYS_PARAM_H || defined _LIBC # include #endif #if !defined _LIBC && HAVE_NL_LOCALE_NAME # include #endif #include "gettextP.h" #include "plural-exp.h" #ifdef _LIBC # include #else # ifdef IN_LIBGLOCALE # include # endif # include "libgnuintl.h" #endif #include "hash-string.h" /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* Alignment of types. */ #if defined __GNUC__ && __GNUC__ >= 2 # define alignof(TYPE) __alignof__ (TYPE) #else # define alignof(TYPE) \ ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_default_domain libintl_nl_default_default_domain # define _nl_current_default_domain libintl_nl_current_default_domain # define _nl_default_dirname libintl_nl_default_dirname # define _nl_domain_bindings libintl_nl_domain_bindings #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define getcwd __getcwd # ifndef stpcpy # define stpcpy __stpcpy # endif # define tfind __tfind #else # if !defined HAVE_GETCWD char *getwd (); # define getcwd(buf, max) getwd (buf) # else # if VMS # define getcwd(buf, max) (getcwd) (buf, max, 0) # else char *getcwd (); # endif # endif # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif # ifndef HAVE_MEMPCPY static void *mempcpy (void *dest, const void *src, size_t n); # endif #endif /* Amount to increase buffer size by in each try. */ #define PATH_INCR 32 /* The following is from pathmax.h. */ /* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define PATH_MAX but might cause redefinition warnings when sys/param.h is later included (as on MORE/BSD 4.3). */ #if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) # include #endif #ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 255 #endif #if !defined PATH_MAX && defined _PC_PATH_MAX # define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) #endif /* Don't include sys/param.h if it already has been. */ #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifndef PATH_MAX # define PATH_MAX _POSIX_PATH_MAX #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) #endif /* Whether to support different locales in different threads. */ #if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE # define HAVE_PER_THREAD_LOCALE #endif /* This is the type used for the search tree where known translations are stored. */ struct known_translation_t { /* Domain in which to search. */ const char *domainname; /* The category. */ int category; #ifdef HAVE_PER_THREAD_LOCALE /* Name of the relevant locale category, or "" for the global locale. */ const char *localename; #endif #ifdef IN_LIBGLOCALE /* The character encoding. */ const char *encoding; #endif /* State of the catalog counter at the point the string was found. */ int counter; /* Catalog where the string was found. */ struct loaded_l10nfile *domain; /* And finally the translation. */ const char *translation; size_t translation_length; /* Pointer to the string in question. */ char msgid[ZERO]; }; /* Root of the search tree with known translations. We can use this only if the system provides the `tsearch' function family. */ #if defined HAVE_TSEARCH || defined _LIBC # include gl_rwlock_define_initialized (static, tree_lock) static void *root; # ifdef _LIBC # define tsearch __tsearch # endif /* Function to compare two entries in the table of known translations. */ static int transcmp (const void *p1, const void *p2) { const struct known_translation_t *s1; const struct known_translation_t *s2; int result; s1 = (const struct known_translation_t *) p1; s2 = (const struct known_translation_t *) p2; result = strcmp (s1->msgid, s2->msgid); if (result == 0) { result = strcmp (s1->domainname, s2->domainname); if (result == 0) { #ifdef HAVE_PER_THREAD_LOCALE result = strcmp (s1->localename, s2->localename); if (result == 0) #endif { #ifdef IN_LIBGLOCALE result = strcmp (s1->encoding, s2->encoding); if (result == 0) #endif /* We compare the category last (though this is the cheapest operation) since it is hopefully always the same (namely LC_MESSAGES). */ result = s1->category - s2->category; } } } return result; } #endif /* Name of the default domain used for gettext(3) prior any call to textdomain(3). The default value for this is "messages". */ const char _nl_default_default_domain[] attribute_hidden = "messages"; #ifndef IN_LIBGLOCALE /* Value used as the default domain for gettext(3). */ const char *_nl_current_default_domain attribute_hidden = _nl_default_default_domain; #endif /* Contains the default location of the message catalogs. */ #if defined __EMX__ extern const char _nl_default_dirname[]; #else # ifdef _LIBC extern const char _nl_default_dirname[]; libc_hidden_proto (_nl_default_dirname) # endif const char _nl_default_dirname[] = LOCALEDIR; # ifdef _LIBC libc_hidden_data_def (_nl_default_dirname) # endif #endif #ifndef IN_LIBGLOCALE /* List with bindings of specific domains created by bindtextdomain() calls. */ struct binding *_nl_domain_bindings; #endif /* Prototypes for local functions. */ static char *plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) internal_function; #ifdef IN_LIBGLOCALE static const char *guess_category_value (int category, const char *categoryname, const char *localename) internal_function; #else static const char *guess_category_value (int category, const char *categoryname) internal_function; #endif #ifdef _LIBC # include "../locale/localeinfo.h" # define category_to_name(category) \ _nl_category_names.str + _nl_category_name_idxs[category] #else static const char *category_to_name (int category) internal_function; #endif #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE static const char *get_output_charset (struct binding *domainbinding) internal_function; #endif /* For those loosing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA /* Nothing has to be done. */ # define freea(p) /* nothing */ # define ADD_BLOCK(list, address) /* nothing */ # define FREE_BLOCKS(list) /* nothing */ #else struct block_list { void *address; struct block_list *next; }; # define ADD_BLOCK(list, addr) \ do { \ struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ /* If we cannot get a free block we cannot add the new element to \ the list. */ \ if (newp != NULL) { \ newp->address = (addr); \ newp->next = (list); \ (list) = newp; \ } \ } while (0) # define FREE_BLOCKS(list) \ do { \ while (list != NULL) { \ struct block_list *old = list; \ list = list->next; \ free (old->address); \ free (old); \ } \ } while (0) # undef alloca # define alloca(size) (malloc (size)) # define freea(p) free (p) #endif /* have alloca */ #ifdef _LIBC /* List of blocks allocated for translations. */ typedef struct transmem_list { struct transmem_list *next; char data[ZERO]; } transmem_block_t; static struct transmem_list *transmem_list; #else typedef unsigned char transmem_block_t; #endif /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCIGETTEXT __dcigettext #else # define DCIGETTEXT libintl_dcigettext #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden) /* Checking whether the binaries runs SUID must be done and glibc provides easier methods therefore we make a difference here. */ #ifdef _LIBC # define ENABLE_SECURE __libc_enable_secure # define DETERMINE_SECURE #else # ifndef HAVE_GETUID # define getuid() 0 # endif # ifndef HAVE_GETGID # define getgid() 0 # endif # ifndef HAVE_GETEUID # define geteuid() getuid() # endif # ifndef HAVE_GETEGID # define getegid() getgid() # endif static int enable_secure; # define ENABLE_SECURE (enable_secure == 1) # define DETERMINE_SECURE \ if (enable_secure == 0) \ { \ if (getuid () != geteuid () || getgid () != getegid ()) \ enable_secure = 1; \ else \ enable_secure = -1; \ } #endif /* Get the function to evaluate the plural expression. */ #include "eval-plural.h" /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale and, if PLURAL is nonzero, search over string depending on the plural form determined by N. */ #ifdef IN_LIBGLOCALE char * gl_dcigettext (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category, const char *localename, const char *encoding) #else char * DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category) #endif { #ifndef HAVE_ALLOCA struct block_list *block_list = NULL; #endif struct loaded_l10nfile *domain; struct binding *binding; const char *categoryname; const char *categoryvalue; const char *dirname; char *xdomainname; char *single_locale; char *retval; size_t retlen; int saved_errno; #if defined HAVE_TSEARCH || defined _LIBC struct known_translation_t *search; struct known_translation_t **foundp = NULL; size_t msgid_len; # if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE const char *localename; # endif #endif size_t domainname_len; /* If no real MSGID is given return NULL. */ if (msgid1 == NULL) return NULL; #ifdef _LIBC if (category < 0 || category >= __LC_LAST || category == LC_ALL) /* Bogus. */ return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); #endif gl_rwlock_rdlock (_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If CATEGORY is not LC_MESSAGES this might not make much sense but the definition left this undefined. */ if (domainname == NULL) domainname = _nl_current_default_domain; /* OS/2 specific: backward compatibility with older libintl versions */ #ifdef LC_MESSAGES_COMPAT if (category == LC_MESSAGES_COMPAT) category = LC_MESSAGES; #endif #if defined HAVE_TSEARCH || defined _LIBC msgid_len = strlen (msgid1) + 1; /* Try to find the translation among those which we found at some time. */ search = (struct known_translation_t *) alloca (offsetof (struct known_translation_t, msgid) + msgid_len); memcpy (search->msgid, msgid1, msgid_len); search->domainname = domainname; search->category = category; # ifdef HAVE_PER_THREAD_LOCALE # ifndef IN_LIBGLOCALE # ifdef _LIBC localename = __current_locale_name (category); # else # if HAVE_NL_LOCALE_NAME /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */ localename = nl_langinfo (NL_LOCALE_NAME (category)); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ { locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) localename = thread_locale->__names[category]; else localename = ""; } # endif # endif # endif # endif search->localename = localename; # ifdef IN_LIBGLOCALE search->encoding = encoding; # endif # endif /* Since tfind/tsearch manage a balanced tree, concurrent tfind and tsearch calls can be fatal. */ gl_rwlock_rdlock (tree_lock); foundp = (struct known_translation_t **) tfind (search, &root, transcmp); gl_rwlock_unlock (tree_lock); freea (search); if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) { /* Now deal with plural. */ if (plural) retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, (*foundp)->translation_length); else retval = (char *) (*foundp)->translation; gl_rwlock_unlock (_nl_state_lock); return retval; } #endif /* Preserve the `errno' value. */ saved_errno = errno; /* See whether this is a SUID binary or not. */ DETERMINE_SECURE; /* First find matching binding. */ #ifdef IN_LIBGLOCALE /* We can use a trivial binding, since _nl_find_msg will ignore it anyway, and _nl_load_domain and _nl_find_domain just pass it through. */ binding = NULL; dirname = bindtextdomain (domainname, NULL); #else for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding == NULL) dirname = _nl_default_dirname; else { dirname = binding->dirname; #endif if (!IS_ABSOLUTE_PATH (dirname)) { /* We have a relative path. Make it absolute now. */ size_t dirname_len = strlen (dirname) + 1; size_t path_max; char *resolved_dirname; char *ret; path_max = (unsigned int) PATH_MAX; path_max += 2; /* The getcwd docs say to do this. */ for (;;) { resolved_dirname = (char *) alloca (path_max + dirname_len); ADD_BLOCK (block_list, tmp_dirname); __set_errno (0); ret = getcwd (resolved_dirname, path_max); if (ret != NULL || errno != ERANGE) break; path_max += path_max / 2; path_max += PATH_INCR; } if (ret == NULL) /* We cannot get the current working directory. Don't signal an error but simply return the default string. */ goto return_untranslated; stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname); dirname = resolved_dirname; } #ifndef IN_LIBGLOCALE } #endif /* Now determine the symbolic name of CATEGORY and its value. */ categoryname = category_to_name (category); #ifdef IN_LIBGLOCALE categoryvalue = guess_category_value (category, categoryname, localename); #else categoryvalue = guess_category_value (category, categoryname); #endif domainname_len = strlen (domainname); xdomainname = (char *) alloca (strlen (categoryname) + domainname_len + 5); ADD_BLOCK (block_list, xdomainname); stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), domainname, domainname_len), ".mo"); /* Creating working area. */ single_locale = (char *) alloca (strlen (categoryvalue) + 1); ADD_BLOCK (block_list, single_locale); /* Search for the given string. This is a loop because we perhaps got an ordered list of languages to consider for the translation. */ while (1) { /* Make CATEGORYVALUE point to the next element of the list. */ while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') ++categoryvalue; if (categoryvalue[0] == '\0') { /* The whole contents of CATEGORYVALUE has been searched but no valid entry has been found. We solve this situation by implicitly appending a "C" entry, i.e. no translation will take place. */ single_locale[0] = 'C'; single_locale[1] = '\0'; } else { char *cp = single_locale; while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') *cp++ = *categoryvalue++; *cp = '\0'; /* When this is a SUID binary we must not allow accessing files outside the dedicated directories. */ if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) /* Ingore this entry. */ continue; } /* If the current locale value is C (or POSIX) we don't load a domain. Return the MSGID. */ if (strcmp (single_locale, "C") == 0 || strcmp (single_locale, "POSIX") == 0) break; /* Find structure describing the message catalog matching the DOMAINNAME and CATEGORY. */ domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); if (domain != NULL) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen); #endif if (retval == NULL) { int cnt; for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain->successor[cnt], binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain->successor[cnt], binding, msgid1, 1, &retlen); #endif if (retval != NULL) { domain = domain->successor[cnt]; break; } } } /* Returning -1 means that some resource problem exists (likely memory) and that the strings could not be converted. Return the original strings. */ if (__builtin_expect (retval == (char *) -1, 0)) break; if (retval != NULL) { /* Found the translation of MSGID1 in domain DOMAIN: starting at RETVAL, RETLEN bytes. */ FREE_BLOCKS (block_list); #if defined HAVE_TSEARCH || defined _LIBC if (foundp == NULL) { /* Create a new entry and add it to the search tree. */ size_t size; struct known_translation_t *newp; size = offsetof (struct known_translation_t, msgid) + msgid_len + domainname_len + 1; # ifdef HAVE_PER_THREAD_LOCALE size += strlen (localename) + 1; # endif newp = (struct known_translation_t *) malloc (size); if (newp != NULL) { char *new_domainname; # ifdef HAVE_PER_THREAD_LOCALE char *new_localename; # endif new_domainname = mempcpy (newp->msgid, msgid1, msgid_len); memcpy (new_domainname, domainname, domainname_len + 1); # ifdef HAVE_PER_THREAD_LOCALE new_localename = new_domainname + domainname_len + 1; strcpy (new_localename, localename); # endif newp->domainname = new_domainname; newp->category = category; # ifdef HAVE_PER_THREAD_LOCALE newp->localename = new_localename; # endif # ifdef IN_LIBGLOCALE newp->encoding = encoding; # endif newp->counter = _nl_msg_cat_cntr; newp->domain = domain; newp->translation = retval; newp->translation_length = retlen; gl_rwlock_wrlock (tree_lock); /* Insert the entry in the search tree. */ foundp = (struct known_translation_t **) tsearch (newp, &root, transcmp); gl_rwlock_unlock (tree_lock); if (foundp == NULL || __builtin_expect (*foundp != newp, 0)) /* The insert failed. */ free (newp); } } else { /* We can update the existing entry. */ (*foundp)->counter = _nl_msg_cat_cntr; (*foundp)->domain = domain; (*foundp)->translation = retval; (*foundp)->translation_length = retlen; } #endif __set_errno (saved_errno); /* Now deal with plural. */ if (plural) retval = plural_lookup (domain, n, retval, retlen); gl_rwlock_unlock (_nl_state_lock); return retval; } } } return_untranslated: /* Return the untranslated MSGID. */ FREE_BLOCKS (block_list); gl_rwlock_unlock (_nl_state_lock); #ifndef _LIBC if (!ENABLE_SECURE) { extern void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural); const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); if (logfilename != NULL && logfilename[0] != '\0') _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); } #endif __set_errno (saved_errno); return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); } /* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING. Return it if found. Return NULL if not found or in case of a conversion failure (problem in the particular message catalog). Return (char *) -1 in case of a memory allocation failure during conversion (only if ENCODING != NULL resp. CONVERT == true). */ char * internal_function #ifdef IN_LIBGLOCALE _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) #else _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) #endif { struct loaded_domain *domain; nls_uint32 nstrings; size_t act; char *result; size_t resultlen; if (domain_file->decided <= 0) _nl_load_domain (domain_file, domainbinding); if (domain_file->data == NULL) return NULL; domain = (struct loaded_domain *) domain_file->data; nstrings = domain->nstrings; /* Locate the MSGID and its translation. */ if (domain->hash_tab != NULL) { /* Use the hashing table. */ nls_uint32 len = strlen (msgid); nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); while (1) { nls_uint32 nstr = W (domain->must_swap_hash_tab, domain->hash_tab[idx]); if (nstr == 0) /* Hash table entry is empty. */ return NULL; nstr--; /* Compare msgid with the original string at index nstr. We compare the lengths with >=, not ==, because plural entries are represented by strings with an embedded NUL. */ if (nstr < nstrings ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len && (strcmp (msgid, domain->data + W (domain->must_swap, domain->orig_tab[nstr].offset)) == 0) : domain->orig_sysdep_tab[nstr - nstrings].length > len && (strcmp (msgid, domain->orig_sysdep_tab[nstr - nstrings].pointer) == 0)) { act = nstr; goto found; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } /* NOTREACHED */ } else { /* Try the default method: binary search in the sorted array of messages. */ size_t top, bottom; bottom = 0; top = nstrings; while (bottom < top) { int cmp_val; act = (bottom + top) / 2; cmp_val = strcmp (msgid, (domain->data + W (domain->must_swap, domain->orig_tab[act].offset))); if (cmp_val < 0) top = act; else if (cmp_val > 0) bottom = act + 1; else goto found; } /* No translation was found. */ return NULL; } found: /* The translation was found at index ACT. If we have to convert the string to use a different character set, this is the time. */ if (act < nstrings) { result = (char *) (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; } else { result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; resultlen = domain->trans_sysdep_tab[act - nstrings].length; } #if defined _LIBC || HAVE_ICONV # ifdef IN_LIBGLOCALE if (encoding != NULL) # else if (convert) # endif { /* We are supposed to do a conversion. */ # ifndef IN_LIBGLOCALE const char *encoding = get_output_charset (domainbinding); # endif /* Search whether a table with converted translations for this encoding has already been allocated. */ size_t nconversions = domain->nconversions; struct converted_domain *convd = NULL; size_t i; for (i = nconversions; i > 0; ) { i--; if (strcmp (domain->conversions[i].encoding, encoding) == 0) { convd = &domain->conversions[i]; break; } } if (convd == NULL) { /* Allocate a table for the converted translations for this encoding. */ struct converted_domain *new_conversions = (struct converted_domain *) (domain->conversions != NULL ? realloc (domain->conversions, (nconversions + 1) * sizeof (struct converted_domain)) : malloc ((nconversions + 1) * sizeof (struct converted_domain))); if (__builtin_expect (new_conversions == NULL, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; domain->conversions = new_conversions; /* Copy the 'encoding' string to permanent storage. */ encoding = strdup (encoding); if (__builtin_expect (encoding == NULL, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; convd = &new_conversions[nconversions]; convd->encoding = encoding; /* Find out about the character set the file is encoded with. This can be found (in textual form) in the entry "". If this entry does not exist or if this does not contain the 'charset=' information, we will assume the charset matches the one the current locale and we don't have to perform any conversion. */ # ifdef _LIBC convd->conv = (__gconv_t) -1; # else # if HAVE_ICONV convd->conv = (iconv_t) -1; # endif # endif { char *nullentry; size_t nullentrylen; /* Get the header entry. This is a recursion, but it doesn't reallocate domain->conversions because we pass encoding = NULL or convert = 0, respectively. */ nullentry = # ifdef IN_LIBGLOCALE _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); # else _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); # endif if (nullentry != NULL) { const char *charsetstr; charsetstr = strstr (nullentry, "charset="); if (charsetstr != NULL) { size_t len; char *charset; const char *outcharset; charsetstr += strlen ("charset="); len = strcspn (charsetstr, " \t\n"); charset = (char *) alloca (len + 1); # if defined _LIBC || HAVE_MEMPCPY *((char *) mempcpy (charset, charsetstr, len)) = '\0'; # else memcpy (charset, charsetstr, len); charset[len] = '\0'; # endif outcharset = encoding; # ifdef _LIBC /* We always want to use transliteration. */ outcharset = norm_add_slashes (outcharset, "TRANSLIT"); charset = norm_add_slashes (charset, ""); int r = __gconv_open (outcharset, charset, &convd->conv, GCONV_AVOID_NOCONV); if (__builtin_expect (r != __GCONV_OK, 0)) { /* If the output encoding is the same there is nothing to do. Otherwise do not use the translation at all. */ if (__builtin_expect (r != __GCONV_NOCONV, 1)) return NULL; convd->conv = (__gconv_t) -1; } # else # if HAVE_ICONV /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, we want to use transliteration. */ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ || _LIBICONV_VERSION >= 0x0105 if (strchr (outcharset, '/') == NULL) { char *tmp; len = strlen (outcharset); tmp = (char *) alloca (len + 10 + 1); memcpy (tmp, outcharset, len); memcpy (tmp + len, "//TRANSLIT", 10 + 1); outcharset = tmp; convd->conv = iconv_open (outcharset, charset); freea (outcharset); } else # endif convd->conv = iconv_open (outcharset, charset); # endif # endif freea (charset); } } } convd->conv_tab = NULL; /* Here domain->conversions is still == new_conversions. */ domain->nconversions++; } if ( # ifdef _LIBC convd->conv != (__gconv_t) -1 # else # if HAVE_ICONV convd->conv != (iconv_t) -1 # endif # endif ) { /* We are supposed to do a conversion. First allocate an appropriate table with the same structure as the table of translations in the file, where we can put the pointers to the converted strings in. There is a slight complication with plural entries. They are represented by consecutive NUL terminated strings. We handle this case by converting RESULTLEN bytes, including NULs. */ if (convd->conv_tab == NULL && ((convd->conv_tab = (char **) calloc (nstrings + domain->n_sysdep_strings, sizeof (char *))) == NULL)) /* Mark that we didn't succeed allocating a table. */ convd->conv_tab = (char **) -1; if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; if (convd->conv_tab[act] == NULL) { /* We haven't used this string so far, so it is not translated yet. Do this now. */ /* We use a bit more efficient memory handling. We allocate always larger blocks which get used over time. This is faster than many small allocations. */ __libc_lock_define_initialized (static, lock) # define INITIAL_BLOCK_SIZE 4080 static unsigned char *freemem; static size_t freemem_size; const unsigned char *inbuf; unsigned char *outbuf; int malloc_count; # ifndef _LIBC transmem_block_t *transmem_list = NULL; # endif __libc_lock_lock (lock); inbuf = (const unsigned char *) result; outbuf = freemem + sizeof (size_t); malloc_count = 0; while (1) { transmem_block_t *newmem; # ifdef _LIBC size_t non_reversible; int res; if (freemem_size < sizeof (size_t)) goto resize_freemem; res = __gconv (convd->conv, &inbuf, inbuf + resultlen, &outbuf, outbuf + freemem_size - sizeof (size_t), &non_reversible); if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) break; if (res != __GCONV_FULL_OUTPUT) { /* We should not use the translation at all, it is incorrectly encoded. */ __libc_lock_unlock (lock); return NULL; } inbuf = (const unsigned char *) result; # else # if HAVE_ICONV const char *inptr = (const char *) inbuf; size_t inleft = resultlen; char *outptr = (char *) outbuf; size_t outleft; if (freemem_size < sizeof (size_t)) goto resize_freemem; outleft = freemem_size - sizeof (size_t); if (iconv (convd->conv, (ICONV_CONST char **) &inptr, &inleft, &outptr, &outleft) != (size_t) (-1)) { outbuf = (unsigned char *) outptr; break; } if (errno != E2BIG) { __libc_lock_unlock (lock); return NULL; } # endif # endif resize_freemem: /* We must allocate a new buffer or resize the old one. */ if (malloc_count > 0) { ++malloc_count; freemem_size = malloc_count * INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) realloc (transmem_list, freemem_size); # ifdef _LIBC if (newmem != NULL) transmem_list = transmem_list->next; else { struct transmem_list *old = transmem_list; transmem_list = transmem_list->next; free (old); } # endif } else { malloc_count = 1; freemem_size = INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) malloc (freemem_size); } if (__builtin_expect (newmem == NULL, 0)) { freemem = NULL; freemem_size = 0; __libc_lock_unlock (lock); return (char *) -1; } # ifdef _LIBC /* Add the block to the list of blocks we have to free at some point. */ newmem->next = transmem_list; transmem_list = newmem; freemem = (unsigned char *) newmem->data; freemem_size -= offsetof (struct transmem_list, data); # else transmem_list = newmem; freemem = newmem; # endif outbuf = freemem + sizeof (size_t); } /* We have now in our buffer a converted string. Put this into the table of conversions. */ *(size_t *) freemem = outbuf - freemem - sizeof (size_t); convd->conv_tab[act] = (char *) freemem; /* Shrink freemem, but keep it aligned. */ freemem_size -= outbuf - freemem; freemem = outbuf; freemem += freemem_size & (alignof (size_t) - 1); freemem_size = freemem_size & ~ (alignof (size_t) - 1); __libc_lock_unlock (lock); } /* Now convd->conv_tab[act] contains the translation of all the plural variants. */ result = convd->conv_tab[act] + sizeof (size_t); resultlen = *(size_t *) convd->conv_tab[act]; } } /* The result string is converted. */ #endif /* _LIBC || HAVE_ICONV */ *lengthp = resultlen; return result; } /* Look up a plural variant. */ static char * internal_function plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; const char *p; index = plural_eval (domaindata->plural, n); if (index >= domaindata->nplurals) /* This should never happen. It means the plural expression and the given maximum value do not match. */ index = 0; /* Skip INDEX strings at TRANSLATION. */ p = translation; while (index-- > 0) { #ifdef _LIBC p = __rawmemchr (p, '\0'); #else p = strchr (p, '\0'); #endif /* And skip over the NUL byte. */ p++; if (p >= translation + translation_len) /* This should never happen. It means the plural expression evaluated to a value larger than the number of variants available for MSGID1. */ return (char *) translation; } return (char *) p; } #ifndef _LIBC /* Return string representation of locale CATEGORY. */ static const char * internal_function category_to_name (int category) { const char *retval; switch (category) { #ifdef LC_COLLATE case LC_COLLATE: retval = "LC_COLLATE"; break; #endif #ifdef LC_CTYPE case LC_CTYPE: retval = "LC_CTYPE"; break; #endif #ifdef LC_MONETARY case LC_MONETARY: retval = "LC_MONETARY"; break; #endif #ifdef LC_NUMERIC case LC_NUMERIC: retval = "LC_NUMERIC"; break; #endif #ifdef LC_TIME case LC_TIME: retval = "LC_TIME"; break; #endif #ifdef LC_MESSAGES case LC_MESSAGES: retval = "LC_MESSAGES"; break; #endif #ifdef LC_RESPONSE case LC_RESPONSE: retval = "LC_RESPONSE"; break; #endif #ifdef LC_ALL case LC_ALL: /* This might not make sense but is perhaps better than any other value. */ retval = "LC_ALL"; break; #endif default: /* If you have a better idea for a default value let me know. */ retval = "LC_XXX"; } return retval; } #endif /* Guess value of current locale from value of the environment variables or system-dependent defaults. */ static const char * internal_function #ifdef IN_LIBGLOCALE guess_category_value (int category, const char *categoryname, const char *locale) #else guess_category_value (int category, const char *categoryname) #endif { const char *language; #ifndef IN_LIBGLOCALE const char *locale; # ifndef _LIBC const char *language_default; int locale_defaulted; # endif #endif /* We use the settings in the following order: 1. The value of the environment variable 'LANGUAGE'. This is a GNU extension. Its value can be a colon-separated list of locale names. 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'. More precisely, the first among these that is set to a non-empty value. This is how POSIX specifies it. The value is a single locale name. 3. A system-dependent preference list of languages. Its value can be a colon-separated list of locale names. 4. A system-dependent default locale name. This way: - System-dependent settings can be overridden by environment variables. - If the system provides both a list of languages and a default locale, the former is used. */ #ifndef IN_LIBGLOCALE /* Fetch the locale name, through the POSIX method of looking to `LC_ALL', `LC_xxx', and `LANG'. On some systems this can be done by the `setlocale' function itself. */ # ifdef _LIBC locale = __current_locale_name (category); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) { locale = thread_locale->__names[category]; locale_defaulted = 0; } else # endif { locale = _nl_locale_name_posix (category, categoryname); locale_defaulted = 0; if (locale == NULL) { locale = _nl_locale_name_default (); locale_defaulted = 1; } } # endif #endif /* Ignore LANGUAGE and its system-dependent analogon if the locale is set to "C" because 1. "C" locale usually uses the ASCII encoding, and most international messages use non-ASCII characters. These characters get displayed as question marks (if using glibc's iconv()) or as invalid 8-bit characters (because other iconv()s refuse to convert most non-ASCII characters to ASCII). In any case, the output is ugly. 2. The precise output of some programs in the "C" locale is specified by POSIX and should not depend on environment variables like "LANGUAGE" or system-dependent information. We allow such programs to use gettext(). */ if (strcmp (locale, "C") == 0) return locale; /* The highest priority value is the value of the 'LANGUAGE' environment variable. */ language = getenv ("LANGUAGE"); if (language != NULL && language[0] != '\0') return language; #if !defined IN_LIBGLOCALE && !defined _LIBC /* The next priority value is the locale name, if not defaulted. */ if (locale_defaulted) { /* The next priority value is the default language preferences list. */ language_default = _nl_language_preferences_default (); if (language_default != NULL) return language_default; } /* The least priority value is the locale name, if defaulted. */ #endif return locale; } #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE /* Returns the output charset. */ static const char * internal_function get_output_charset (struct binding *domainbinding) { /* The output charset should normally be determined by the locale. But sometimes the locale is not used or not correctly set up, so we provide a possibility for the user to override this: the OUTPUT_CHARSET environment variable. Moreover, the value specified through bind_textdomain_codeset overrides both. */ if (domainbinding != NULL && domainbinding->codeset != NULL) return domainbinding->codeset; else { /* For speed reasons, we look at the value of OUTPUT_CHARSET only once. This is a user variable that is not supposed to change during a program run. */ static char *output_charset_cache; static int output_charset_cached; if (!output_charset_cached) { const char *value = getenv ("OUTPUT_CHARSET"); if (value != NULL && value[0] != '\0') { size_t len = strlen (value) + 1; char *value_copy = (char *) malloc (len); if (value_copy != NULL) memcpy (value_copy, value, len); output_charset_cache = value_copy; } output_charset_cached = 1; } if (output_charset_cache != NULL) return output_charset_cache; else { # ifdef _LIBC return _NL_CURRENT (LC_CTYPE, CODESET); # else # if HAVE_ICONV extern const char *locale_charset (void); return locale_charset (); # endif # endif } } } #endif /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif #if !_LIBC && !HAVE_MEMPCPY static void * mempcpy (void *dest, const void *src, size_t n) { return (void *) ((char *) memcpy (dest, src, n) + n); } #endif #ifdef _LIBC /* If we want to free all resources we have to do some work at program's end. */ libc_freeres_fn (free_mem) { void *old; while (_nl_domain_bindings != NULL) { struct binding *oldp = _nl_domain_bindings; _nl_domain_bindings = _nl_domain_bindings->next; if (oldp->dirname != _nl_default_dirname) /* Yes, this is a pointer comparison. */ free (oldp->dirname); free (oldp->codeset); free (oldp); } if (_nl_current_default_domain != _nl_default_default_domain) /* Yes, again a pointer comparison. */ free ((char *) _nl_current_default_domain); /* Remove the search tree with the known translations. */ __tdestroy (root, free); root = NULL; while (transmem_list != NULL) { old = transmem_list; transmem_list = transmem_list->next; free (old); } } #endif xfe-1.42/intl/vasnprintf.h0000644000175100017510000000557512202431546012471 00000000000000/* vsprintf with automatic memory allocation. Copyright (C) 2002-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H /* Get va_list. */ #include /* Get size_t. */ #include #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. When dynamic memory allocation occurs, the preallocated buffer is left alone (with possibly modified contents). This makes it possible to use a statically allocated or stack-allocated buffer, like this: char buf[100]; size_t len = sizeof (buf); char *output = vasnprintf (buf, &len, format, args); if (output == NULL) ... error handling ...; else { ... use the output string ...; if (output != buf) free (output); } */ extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))); #ifdef __cplusplus } #endif #endif /* _VASNPRINTF_H */ xfe-1.42/intl/wprintf-parse.h0000644000175100017510000000432112202431546013064 00000000000000/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _WPRINTF_PARSE_H #define _WPRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const wchar_t* dir_start; const wchar_t* dir_end; int flags; const wchar_t* width_start; const wchar_t* width_end; size_t width_arg_index; const wchar_t* precision_start; const wchar_t* precision_end; size_t precision_arg_index; wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } wchar_t_directive; /* A parsed format string. */ typedef struct { size_t count; wchar_t_directive *dir; size_t max_width_length; size_t max_precision_length; } wchar_t_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); #endif /* _WPRINTF_PARSE_H */ xfe-1.42/intl/lock.c0000644000175100017510000006077012202431550011213 00000000000000/* Locking in multithreaded situations. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ #include #include "lock.h" /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # if PTHREAD_IN_USE_DETECTION_HARD /* The function to be executed by a dummy thread. */ static void * dummy_thread_func (void *arg) { return arg; } int glthread_in_use (void) { static int tested; static int result; /* 1: linked with -lpthread, 0: only with libc */ if (!tested) { pthread_t thread; if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) /* Thread creation failed. */ result = 0; else { /* Thread creation works. */ void *retval; if (pthread_join (thread, &retval) != 0) abort (); result = 1; } tested = 1; } return result; } # endif /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # if !defined PTHREAD_RWLOCK_INITIALIZER void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_rwlock_init (&lock->rwlock, NULL) != 0) abort (); lock->initialized = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_rdlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_wrlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_unlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_destroy (&lock->rwlock) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_mutex_init (&lock->lock, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_readers, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_writers, NULL) != 0) abort (); lock->waiting_writers_count = 0; lock->runcount = 0; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ /* POSIX says: "It is implementation-defined whether the calling thread acquires the lock when a writer does not hold the lock and there are writers blocked on the lock." Let's say, no: give the writers a higher priority. */ while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ if (pthread_cond_wait (&lock->waiting_readers, &lock->lock) != 0) abort (); } lock->runcount++; if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether no readers or writers are currently running. */ while (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ lock->waiting_writers_count++; if (pthread_cond_wait (&lock->waiting_writers, &lock->lock) != 0) abort (); lock->waiting_writers_count--; } lock->runcount--; /* runcount becomes -1 */ if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers_count > 0) { /* Wake up one of the waiting writers. */ if (pthread_cond_signal (&lock->waiting_writers) != 0) abort (); } else { /* Wake up all waiting readers. */ if (pthread_cond_broadcast (&lock->waiting_readers) != 0) abort (); } } if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (pthread_mutex_destroy (&lock->lock) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_readers) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_writers) != 0) abort (); } # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if !(defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; if (pthread_mutexattr_init (&attributes) != 0) abort (); if (pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) abort (); if (pthread_mutex_init (&lock->recmutex, &attributes) != 0) abort (); if (pthread_mutexattr_destroy (&attributes) != 0) abort (); lock->initialized = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_recursive_lock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_mutex_lock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_unlock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_destroy (&lock->recmutex) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (pthread_mutex_init (&lock->mutex, NULL) != 0) abort (); lock->owner = (pthread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { pthread_t self = pthread_self (); if (lock->owner != self) { if (pthread_mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != pthread_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (pthread_t) 0; if (pthread_mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (pthread_t) 0) abort (); if (pthread_mutex_destroy (&lock->mutex) != 0) abort (); } # endif /* -------------------------- gl_once_t datatype -------------------------- */ static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; int glthread_once_singlethreaded (pthread_once_t *once_control) { /* We don't know whether pthread_once_t is an integer type, a floating-point type, a pointer type, or a structure type. */ char *firstbyte = (char *)once_control; if (*firstbyte == *(const char *)&fresh_once) { /* First time use of once_control. Invert the first byte. */ *firstbyte = ~ *(const char *)&fresh_once; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once_call (void *arg) { void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; void (*initfunction) (void) = *gl_once_temp_addr; initfunction (); } int glthread_once_singlethreaded (pth_once_t *once_control) { /* We know that pth_once_t is an integer type. */ if (*once_control == PTH_ONCE_INIT) { /* First time use of once_control. Invert the marker. */ *once_control = ~ PTH_ONCE_INIT; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (mutex_init (&lock->mutex, USYNC_THREAD, NULL) != 0) abort (); lock->owner = (thread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { thread_t self = thr_self (); if (lock->owner != self) { if (mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != thr_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (thread_t) 0; if (mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (thread_t) 0) abort (); if (mutex_destroy (&lock->mutex) != 0) abort (); } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (!once_control->inited) { /* Use the mutex to guarantee that if another thread is already calling the initfunction, this thread waits until it's finished. */ if (mutex_lock (&once_control->mutex) != 0) abort (); if (!once_control->inited) { once_control->inited = 1; initfunction (); } if (mutex_unlock (&once_control->mutex) != 0) abort (); } } int glthread_once_singlethreaded (gl_once_t *once_control) { /* We know that gl_once_t contains an integer type. */ if (!once_control->inited) { /* First time use of once_control. Invert the marker. */ once_control->inited = ~ 0; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_WIN32_THREADS /* -------------------------- gl_lock_t datatype -------------------------- */ void glthread_lock_init (gl_lock_t *lock) { InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_lock_lock (gl_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); } void glthread_lock_unlock (gl_lock_t *lock) { if (!lock->guard.done) abort (); LeaveCriticalSection (&lock->lock); } void glthread_lock_destroy (gl_lock_t *lock) { if (!lock->guard.done) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* ------------------------- gl_rwlock_t datatype ------------------------- */ static inline void gl_waitqueue_init (gl_waitqueue_t *wq) { wq->array = NULL; wq->count = 0; wq->alloc = 0; wq->offset = 0; } /* Enqueues the current thread, represented by an event, in a wait queue. Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ static HANDLE gl_waitqueue_add (gl_waitqueue_t *wq) { HANDLE event; unsigned int index; if (wq->count == wq->alloc) { unsigned int new_alloc = 2 * wq->alloc + 1; HANDLE *new_array = (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); if (new_array == NULL) /* No more memory. */ return INVALID_HANDLE_VALUE; /* Now is a good opportunity to rotate the array so that its contents starts at offset 0. */ if (wq->offset > 0) { unsigned int old_count = wq->count; unsigned int old_alloc = wq->alloc; unsigned int old_offset = wq->offset; unsigned int i; if (old_offset + old_count > old_alloc) { unsigned int limit = old_offset + old_count - old_alloc; for (i = 0; i < limit; i++) new_array[old_alloc + i] = new_array[i]; } for (i = 0; i < old_count; i++) new_array[i] = new_array[old_offset + i]; wq->offset = 0; } wq->array = new_array; wq->alloc = new_alloc; } event = CreateEvent (NULL, TRUE, FALSE, NULL); if (event == INVALID_HANDLE_VALUE) /* No way to allocate an event. */ return INVALID_HANDLE_VALUE; index = wq->offset + wq->count; if (index >= wq->alloc) index -= wq->alloc; wq->array[index] = event; wq->count++; return event; } /* Notifies the first thread from a wait queue and dequeues it. */ static inline void gl_waitqueue_notify_first (gl_waitqueue_t *wq) { SetEvent (wq->array[wq->offset + 0]); wq->offset++; wq->count--; if (wq->count == 0 || wq->offset == wq->alloc) wq->offset = 0; } /* Notifies all threads from a wait queue and dequeues them all. */ static inline void gl_waitqueue_notify_all (gl_waitqueue_t *wq) { unsigned int i; for (i = 0; i < wq->count; i++) { unsigned int index = wq->offset + i; if (index >= wq->alloc) index -= wq->alloc; SetEvent (wq->array[index]); } wq->count = 0; wq->offset = 0; } void glthread_rwlock_init (gl_rwlock_t *lock) { InitializeCriticalSection (&lock->lock); gl_waitqueue_init (&lock->waiting_readers); gl_waitqueue_init (&lock->waiting_writers); lock->runcount = 0; lock->guard.done = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ if (!(lock->runcount + 1 > 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_readers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_readers, incremented lock->runcount. */ if (!(lock->runcount > 0)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount + 1 > 0)); } } lock->runcount++; LeaveCriticalSection (&lock->lock); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether no readers or writers are currently running. */ if (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_writers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_writers, set lock->runcount = -1. */ if (!(lock->runcount == -1)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount == 0)); } } lock->runcount--; /* runcount becomes -1 */ LeaveCriticalSection (&lock->lock); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); EnterCriticalSection (&lock->lock); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers.count > 0) { /* Wake up one of the waiting writers. */ lock->runcount--; gl_waitqueue_notify_first (&lock->waiting_writers); } else { /* Wake up all waiting readers. */ lock->runcount += lock->waiting_readers.count; gl_waitqueue_notify_all (&lock->waiting_readers); } } LeaveCriticalSection (&lock->lock); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); if (lock->runcount != 0) abort (); DeleteCriticalSection (&lock->lock); if (lock->waiting_readers.array != NULL) free (lock->waiting_readers.array); if (lock->waiting_writers.array != NULL) free (lock->waiting_writers.array); lock->guard.done = 0; } /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { lock->owner = 0; lock->depth = 0; InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_recursive_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } { DWORD self = GetCurrentThreadId (); if (lock->owner != self) { EnterCriticalSection (&lock->lock); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != GetCurrentThreadId ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = 0; LeaveCriticalSection (&lock->lock); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != 0) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (once_control->inited <= 0) { if (InterlockedIncrement (&once_control->started) == 0) { /* This thread is the first one to come to this once_control. */ InitializeCriticalSection (&once_control->lock); EnterCriticalSection (&once_control->lock); once_control->inited = 0; initfunction (); once_control->inited = 1; LeaveCriticalSection (&once_control->lock); } else { /* Undo last operation. */ InterlockedDecrement (&once_control->started); /* Some other thread has already started the initialization. Yield the CPU while waiting for the other thread to finish initializing and taking the lock. */ while (once_control->inited < 0) Sleep (0); if (once_control->inited <= 0) { /* Take the lock. This blocks until the other thread has finished calling the initfunction. */ EnterCriticalSection (&once_control->lock); LeaveCriticalSection (&once_control->lock); if (!(once_control->inited > 0)) abort (); } } } } #endif /* ========================================================================= */ xfe-1.42/intl/dgettext.c0000644000175100017510000000337312202431550012107 00000000000000/* Implementation of the dgettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DGETTEXT __dgettext # define DCGETTEXT INTUSE(__dcgettext) #else # define DGETTEXT libintl_dgettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale. */ char * DGETTEXT (const char *domainname, const char *msgid) { return DCGETTEXT (domainname, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dgettext, dgettext); #endif xfe-1.42/intl/plural-exp.c0000644000175100017510000001044112202431550012342 00000000000000/* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" #if (defined __GNUC__ && !(__APPLE_CC__ > 1)) \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) /* These structs are the constant expression for the germanic plural form determination. It represents the expression "n != 1". */ static const struct expression plvar = { .nargs = 0, .operation = var, }; static const struct expression plone = { .nargs = 0, .operation = num, .val = { .num = 1 } }; struct expression GERMANIC_PLURAL = { .nargs = 2, .operation = not_equal, .val = { .args = { [0] = (struct expression *) &plvar, [1] = (struct expression *) &plone } } }; # define INIT_GERMANIC_PLURAL() #else /* For compilers without support for ISO C 99 struct/union initializers: Initialization at run-time. */ static struct expression plvar; static struct expression plone; struct expression GERMANIC_PLURAL; static void init_germanic_plural () { if (plone.val.num == 0) { plvar.nargs = 0; plvar.operation = var; plone.nargs = 0; plone.operation = num; plone.val.num = 1; GERMANIC_PLURAL.nargs = 2; GERMANIC_PLURAL.operation = not_equal; GERMANIC_PLURAL.val.args[0] = &plvar; GERMANIC_PLURAL.val.args[1] = &plone; } } # define INIT_GERMANIC_PLURAL() init_germanic_plural () #endif void internal_function EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp, unsigned long int *npluralsp) { if (nullentry != NULL) { const char *plural; const char *nplurals; plural = strstr (nullentry, "plural="); nplurals = strstr (nullentry, "nplurals="); if (plural == NULL || nplurals == NULL) goto no_plural; else { char *endp; unsigned long int n; struct parse_args args; /* First get the number. */ nplurals += 9; while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) ++nplurals; if (!(*nplurals >= '0' && *nplurals <= '9')) goto no_plural; #if defined HAVE_STRTOUL || defined _LIBC n = strtoul (nplurals, &endp, 10); #else for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) n = n * 10 + (*endp - '0'); #endif if (nplurals == endp) goto no_plural; *npluralsp = n; /* Due to the restrictions bison imposes onto the interface of the scanner function we have to put the input string and the result passed up from the parser into the same structure which address is passed down to the parser. */ plural += 7; args.cp = plural; if (PLURAL_PARSE (&args) != 0) goto no_plural; *pluralp = args.res; } } else { /* By default we are using the Germanic form: singular form only for `one', the plural form otherwise. Yes, this is also what English is using since English is a Germanic language. */ no_plural: INIT_GERMANIC_PLURAL (); *pluralp = &GERMANIC_PLURAL; *npluralsp = 2; } } xfe-1.42/intl/loadinfo.h0000644000175100017510000001232712202431546012063 00000000000000/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOADINFO_H #define _LOADINFO_H 1 /* Declarations of locale dependent catalog lookup functions. Implemented in localealias.c Possibly replace a locale name by another. explodename.c Split a locale name into its various fields. l10nflist.c Generate a list of filenames of possible message catalogs. finddomain.c Find and open the relevant message catalogs. The main function _nl_find_domain() in finddomain.c is declared in gettextP.h. */ #ifndef internal_function # define internal_function #endif #ifndef LIBINTL_DLL_EXPORTED # define LIBINTL_DLL_EXPORTED #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif /* Separator in PATH like lists of pathnames. */ #if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ /* Win32, OS/2, DOS */ # define PATH_SEPARATOR ';' #else /* Unix */ # define PATH_SEPARATOR ':' #endif /* Encoding of locale name parts. */ #define XPG_NORM_CODESET 1 #define XPG_CODESET 2 #define XPG_TERRITORY 4 #define XPG_MODIFIER 8 struct loaded_l10nfile { const char *filename; int decided; const void *data; struct loaded_l10nfile *next; struct loaded_l10nfile *successor[1]; }; /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ extern const char *_nl_normalize_codeset (const char *codeset, size_t name_len); /* Lookup a locale dependent file. *L10NFILE_LIST denotes a pool of lookup results of locale dependent files of the same kind, sorted in decreasing order of ->filename. DIRLIST and DIRLIST_LEN are an argz list of directories in which to look, containing at least one directory (i.e. DIRLIST_LEN > 0). MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER are the pieces of the locale name, as produced by _nl_explode_name(). FILENAME is the filename suffix. The return value is the lookup result, either found in *L10NFILE_LIST, or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL. If the return value is non-NULL, it is added to *L10NFILE_LIST, and its ->next field denotes the chaining inside *L10NFILE_LIST, and furthermore its ->successor[] field contains a list of other lookup results from which this lookup result inherits. */ extern struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate); /* Lookup the real locale name for a locale alias NAME, or NULL if NAME is not a locale alias (but possibly a real locale name). The return value is statically allocated and must not be freed. */ /* Part of the libintl ABI only for the sake of the gettext.m4 macro. */ extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name); /* Split a locale name NAME into its pieces: language, modifier, territory, codeset. NAME gets destructively modified: NUL bytes are inserted here and there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY, *CODESET gets assigned either a pointer into the old NAME string, or NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it is different from *CODESET; this one is dynamically allocated and has to be freed by the caller. The return value is a bitmask, where each bit corresponds to one filled-in value: XPG_MODIFIER for *MODIFIER, XPG_TERRITORY for *TERRITORY, XPG_CODESET for *CODESET, XPG_NORM_CODESET for *NORMALIZED_CODESET. */ extern int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset); #endif /* loadinfo.h */ xfe-1.42/intl/localcharset.c0000644000175100017510000003427512202431550012730 00000000000000/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "localcharset.h" #include #include #include #include #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # define OS2 #endif #if !defined WIN32_NATIVE # if HAVE_LANGINFO_CODESET # include # else # if 0 /* see comment below */ # include # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include # endif #elif defined WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif #if defined OS2 # define INCL_DOS # include #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) FILE *fp; const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) /* Out of memory or file not found, treat it as empty. */ cp = ""; else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; if (old_res_ptr != NULL) free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } if (file_name != NULL) free (file_name); #else # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WIN32_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". As long as this is not fixed, return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* Woe32 has a function returning the locale's codepage as a number. */ snprintf (buf, sizeof(buf)-1, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WIN32_NATIVE static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ snprintf (buf, sizeof(buf)-1, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { snprintf (buf, sizeof(buf)-1, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; return codeset; } xfe-1.42/intl/os2compat.h0000644000175100017510000000302611444154372012201 00000000000000/* OS/2 compatibility defines. This file is intended to be included from config.h Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* When included from os2compat.h we need all the original definitions */ #ifndef OS2_AWARE #undef LIBDIR #define LIBDIR _nlos2_libdir extern char *_nlos2_libdir; #undef LOCALEDIR #define LOCALEDIR _nlos2_localedir extern char *_nlos2_localedir; #undef LOCALE_ALIAS_PATH #define LOCALE_ALIAS_PATH _nlos2_localealiaspath extern char *_nlos2_localealiaspath; #endif #undef HAVE_STRCASECMP #define HAVE_STRCASECMP 1 #define strcasecmp stricmp #define strncasecmp strnicmp /* We have our own getenv() which works even if library is compiled as DLL */ #define getenv _nl_getenv /* Older versions of gettext used -1 as the value of LC_MESSAGES */ #define LC_MESSAGES_COMPAT (-1) xfe-1.42/intl/dngettext.c0000644000175100017510000000355712202431550012271 00000000000000/* Implementation of the dngettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DNGETTEXT __dngettext # define DCNGETTEXT __dcngettext #else # define DNGETTEXT libintl_dngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale and skip message according to the plural form. */ char * DNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dngettext, dngettext); #endif xfe-1.42/intl/lock.h0000644000175100017510000007567112202431546011233 00000000000000/* Locking in multithreaded situations. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ /* This file contains locking primitives for use with a given thread library. It does not contain primitives for creating threads or for other synchronization primitives. Normal (non-recursive) locks: Type: gl_lock_t Declaration: gl_lock_define(extern, name) Initializer: gl_lock_define_initialized(, name) Initialization: gl_lock_init (name); Taking the lock: gl_lock_lock (name); Releasing the lock: gl_lock_unlock (name); De-initialization: gl_lock_destroy (name); Read-Write (non-recursive) locks: Type: gl_rwlock_t Declaration: gl_rwlock_define(extern, name) Initializer: gl_rwlock_define_initialized(, name) Initialization: gl_rwlock_init (name); Taking the lock: gl_rwlock_rdlock (name); gl_rwlock_wrlock (name); Releasing the lock: gl_rwlock_unlock (name); De-initialization: gl_rwlock_destroy (name); Recursive locks: Type: gl_recursive_lock_t Declaration: gl_recursive_lock_define(extern, name) Initializer: gl_recursive_lock_define_initialized(, name) Initialization: gl_recursive_lock_init (name); Taking the lock: gl_recursive_lock_lock (name); Releasing the lock: gl_recursive_lock_unlock (name); De-initialization: gl_recursive_lock_destroy (name); Once-only execution: Type: gl_once_t Initializer: gl_once_define(extern, name) Execution: gl_once (name, initfunction); */ #ifndef _LOCK_H #define _LOCK_H /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ /* Weak references avoid dragging in external libraries if the other parts of the program don't use them. Here we use them, because we don't want every program that uses libintl to depend on libpthread. This assumes that libpthread would not be loaded after libintl; i.e. if libintl is loaded first, by an executable that does not depend on libpthread, and then a module is dynamically loaded that depends on libpthread, libintl will not be multithread-safe. */ /* The way to test at runtime whether libpthread is present is to test whether a function pointer's value, such as &pthread_mutex_init, is non-NULL. However, some versions of GCC have a bug through which, in PIC mode, &foo != NULL always evaluates to true if there is a direct call to foo(...) in the same function. To avoid this, we test the address of a function in libpthread that we don't use. */ # pragma weak pthread_mutex_init # pragma weak pthread_mutex_lock # pragma weak pthread_mutex_unlock # pragma weak pthread_mutex_destroy # pragma weak pthread_rwlock_init # pragma weak pthread_rwlock_rdlock # pragma weak pthread_rwlock_wrlock # pragma weak pthread_rwlock_unlock # pragma weak pthread_rwlock_destroy # pragma weak pthread_once # pragma weak pthread_cond_init # pragma weak pthread_cond_wait # pragma weak pthread_cond_signal # pragma weak pthread_cond_broadcast # pragma weak pthread_cond_destroy # pragma weak pthread_mutexattr_init # pragma weak pthread_mutexattr_settype # pragma weak pthread_mutexattr_destroy # ifndef pthread_self # pragma weak pthread_self # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pthread_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTHREAD_MUTEX_INITIALIZER # define gl_lock_init(NAME) \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) abort () # define gl_lock_lock(NAME) \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) abort () # define gl_lock_unlock(NAME) \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) abort () # define gl_lock_destroy(NAME) \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) abort () /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # ifdef PTHREAD_RWLOCK_INITIALIZER typedef pthread_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTHREAD_RWLOCK_INITIALIZER # define gl_rwlock_init(NAME) \ if (pthread_in_use () && pthread_rwlock_init (&NAME, NULL) != 0) abort () # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use () && pthread_rwlock_rdlock (&NAME) != 0) abort () # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use () && pthread_rwlock_wrlock (&NAME) != 0) abort () # define gl_rwlock_unlock(NAME) \ if (pthread_in_use () && pthread_rwlock_unlock (&NAME) != 0) abort () # define gl_rwlock_destroy(NAME) \ if (pthread_in_use () && pthread_rwlock_destroy (&NAME) != 0) abort () # else typedef struct { int initialized; pthread_mutex_t guard; /* protects the initialization */ pthread_rwlock_t rwlock; /* read-write lock */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { 0, PTHREAD_MUTEX_INITIALIZER } # define gl_rwlock_init(NAME) \ if (pthread_in_use ()) glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ if (pthread_in_use ()) glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif # else typedef struct { pthread_mutex_t lock; /* protects the remaining fields */ pthread_cond_t waiting_readers; /* waiting readers */ pthread_cond_t waiting_writers; /* waiting writers */ unsigned int waiting_writers_count; /* number of waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } # define gl_rwlock_init(NAME) \ if (pthread_in_use ()) glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ if (pthread_in_use ()) glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ if (pthread_in_use ()) glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP typedef pthread_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; # ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER # else # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP # endif # define gl_recursive_lock_init(NAME) \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) abort () # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) abort () # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) abort () # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) abort () # else typedef struct { pthread_mutex_t recmutex; /* recursive mutex */ pthread_mutex_t guard; /* protects the initialization */ int initialized; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } # define gl_recursive_lock_init(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif # else /* Old versions of POSIX threads on Solaris did not have recursive locks. We have to implement them ourselves. */ typedef struct { pthread_mutex_t mutex; pthread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (pthread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif /* -------------------------- gl_once_t datatype -------------------------- */ typedef pthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pthread_in_use ()) \ { \ if (pthread_once (&NAME, INITFUNCTION) != 0) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern int glthread_once_singlethreaded (pthread_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_mutex_init # pragma weak pth_mutex_acquire # pragma weak pth_mutex_release # pragma weak pth_rwlock_init # pragma weak pth_rwlock_acquire # pragma weak pth_rwlock_release # pragma weak pth_once # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pth_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTH_MUTEX_INIT # define gl_lock_init(NAME) \ if (pth_in_use() && !pth_mutex_init (&NAME)) abort () # define gl_lock_lock(NAME) \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort () # define gl_lock_unlock(NAME) \ if (pth_in_use() && !pth_mutex_release (&NAME)) abort () # define gl_lock_destroy(NAME) \ (void)(&NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef pth_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTH_RWLOCK_INIT # define gl_rwlock_init(NAME) \ if (pth_in_use() && !pth_rwlock_init (&NAME)) abort () # define gl_rwlock_rdlock(NAME) \ if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RD, 0, NULL)) abort () # define gl_rwlock_wrlock(NAME) \ if (pth_in_use() && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RW, 0, NULL)) abort () # define gl_rwlock_unlock(NAME) \ if (pth_in_use() && !pth_rwlock_release (&NAME)) abort () # define gl_rwlock_destroy(NAME) \ (void)(&NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* In Pth, mutexes are recursive by default. */ typedef pth_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ PTH_MUTEX_INIT # define gl_recursive_lock_init(NAME) \ if (pth_in_use() && !pth_mutex_init (&NAME)) abort () # define gl_recursive_lock_lock(NAME) \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) abort () # define gl_recursive_lock_unlock(NAME) \ if (pth_in_use() && !pth_mutex_release (&NAME)) abort () # define gl_recursive_lock_destroy(NAME) \ (void)(&NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef pth_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pth_in_use ()) \ { \ void (*gl_once_temp) (void) = INITFUNCTION; \ if (!pth_once (&NAME, glthread_once_call, &gl_once_temp)) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once_call (void *arg); extern int glthread_once_singlethreaded (pth_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include # include # include # ifdef __cplusplus extern "C" { # endif # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak mutex_init # pragma weak mutex_lock # pragma weak mutex_unlock # pragma weak mutex_destroy # pragma weak rwlock_init # pragma weak rw_rdlock # pragma weak rw_wrlock # pragma weak rw_unlock # pragma weak rwlock_destroy # pragma weak thr_self # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ DEFAULTMUTEX # define gl_lock_init(NAME) \ if (thread_in_use () && mutex_init (&NAME, USYNC_THREAD, NULL) != 0) abort () # define gl_lock_lock(NAME) \ if (thread_in_use () && mutex_lock (&NAME) != 0) abort () # define gl_lock_unlock(NAME) \ if (thread_in_use () && mutex_unlock (&NAME) != 0) abort () # define gl_lock_destroy(NAME) \ if (thread_in_use () && mutex_destroy (&NAME) != 0) abort () /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ DEFAULTRWLOCK # define gl_rwlock_init(NAME) \ if (thread_in_use () && rwlock_init (&NAME, USYNC_THREAD, NULL) != 0) abort () # define gl_rwlock_rdlock(NAME) \ if (thread_in_use () && rw_rdlock (&NAME) != 0) abort () # define gl_rwlock_wrlock(NAME) \ if (thread_in_use () && rw_wrlock (&NAME) != 0) abort () # define gl_rwlock_unlock(NAME) \ if (thread_in_use () && rw_unlock (&NAME) != 0) abort () # define gl_rwlock_destroy(NAME) \ if (thread_in_use () && rwlock_destroy (&NAME) != 0) abort () /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* Old Solaris threads did not have recursive locks. We have to implement them ourselves. */ typedef struct { mutex_t mutex; thread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { DEFAULTMUTEX, (thread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ if (thread_in_use ()) glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ if (thread_in_use ()) glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ if (thread_in_use ()) glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ if (thread_in_use ()) glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; mutex_t mutex; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (thread_in_use ()) \ { \ glthread_once (&NAME, INITFUNCTION); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); extern int glthread_once_singlethreaded (gl_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WIN32_THREADS # include # ifdef __cplusplus extern "C" { # endif /* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex, Semaphore types, because - we need only to synchronize inside a single process (address space), not inter-process locking, - we don't need to support trylock operations. (TryEnterCriticalSection does not work on Windows 95/98/ME. Packages that need trylock usually define their own mutex type.) */ /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ typedef struct { volatile int done; volatile long started; } gl_spinlock_t; /* -------------------------- gl_lock_t datatype -------------------------- */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; } gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME = gl_lock_initializer; # define gl_lock_initializer \ { { 0, -1 } } # define gl_lock_init(NAME) \ glthread_lock_init (&NAME) # define gl_lock_lock(NAME) \ glthread_lock_lock (&NAME) # define gl_lock_unlock(NAME) \ glthread_lock_unlock (&NAME) # define gl_lock_destroy(NAME) \ glthread_lock_destroy (&NAME) extern void glthread_lock_init (gl_lock_t *lock); extern void glthread_lock_lock (gl_lock_t *lock); extern void glthread_lock_unlock (gl_lock_t *lock); extern void glthread_lock_destroy (gl_lock_t *lock); /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* It is impossible to implement read-write locks using plain locks, without introducing an extra thread dedicated to managing read-write locks. Therefore here we need to use the low-level Event type. */ typedef struct { HANDLE *array; /* array of waiting threads, each represented by an event */ unsigned int count; /* number of waiting threads */ unsigned int alloc; /* length of allocated array */ unsigned int offset; /* index of first waiting thread in array */ } gl_waitqueue_t; typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; /* protects the remaining fields */ gl_waitqueue_t waiting_readers; /* waiting readers */ gl_waitqueue_t waiting_writers; /* waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { { 0, -1 } } # define gl_rwlock_init(NAME) \ glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* The Win32 documentation says that CRITICAL_SECTION already implements a recursive lock. But we need not rely on it: It's easy to implement a recursive lock without this assumption. */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ DWORD owner; unsigned long depth; CRITICAL_SECTION lock; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { { 0, -1 }, 0, 0 } # define gl_recursive_lock_init(NAME) \ glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; volatile long started; CRITICAL_SECTION lock; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { -1, -1 }; # define gl_once(NAME, INITFUNCTION) \ glthread_once (&NAME, INITFUNCTION) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS) /* Provide dummy implementation if threads are not supported. */ /* -------------------------- gl_lock_t datatype -------------------------- */ typedef int gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) # define gl_lock_define_initialized(STORAGECLASS, NAME) # define gl_lock_init(NAME) # define gl_lock_lock(NAME) # define gl_lock_unlock(NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef int gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) # define gl_rwlock_define_initialized(STORAGECLASS, NAME) # define gl_rwlock_init(NAME) # define gl_rwlock_rdlock(NAME) # define gl_rwlock_wrlock(NAME) # define gl_rwlock_unlock(NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ typedef int gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) # define gl_recursive_lock_init(NAME) # define gl_recursive_lock_lock(NAME) # define gl_recursive_lock_unlock(NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef int gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = 0; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (NAME == 0) \ { \ NAME = ~ 0; \ INITFUNCTION (); \ } \ } \ while (0) #endif /* ========================================================================= */ #endif /* _LOCK_H */ xfe-1.42/intl/explodename.c0000644000175100017510000000724312202431550012560 00000000000000/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ /* Split a locale name NAME into a leading language part and all the rest. Return a pointer to the first character after the language, i.e. to the first byte of the rest. */ static char *_nl_find_language (const char *name); static char * _nl_find_language (const char *name) { while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.') ++name; return (char *) name; } int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset) { char *cp; int mask; *modifier = NULL; *territory = NULL; *codeset = NULL; *normalized_codeset = NULL; /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = 0; *language = cp = name; cp = _nl_find_language (*language); if (*language == cp) /* This does not make sense: language has to be specified. Use this entry as it is without exploding. Perhaps it is an alias. */ cp = strchr (*language, '\0'); else { if (cp[0] == '_') { /* Next is the territory. */ cp[0] = '\0'; *territory = ++cp; while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') ++cp; mask |= XPG_TERRITORY; } if (cp[0] == '.') { /* Next is the codeset. */ cp[0] = '\0'; *codeset = ++cp; while (cp[0] != '\0' && cp[0] != '@') ++cp; mask |= XPG_CODESET; if (*codeset != cp && (*codeset)[0] != '\0') { *normalized_codeset = _nl_normalize_codeset (*codeset, cp - *codeset); if (strcmp (*codeset, *normalized_codeset) == 0) free ((char *) *normalized_codeset); else mask |= XPG_NORM_CODESET; } } } if (cp[0] == '@') { /* Next is the modifier. */ cp[0] = '\0'; *modifier = ++cp; if (cp[0] != '\0') mask |= XPG_MODIFIER; } if (*territory != NULL && (*territory)[0] == '\0') mask &= ~XPG_TERRITORY; if (*codeset != NULL && (*codeset)[0] == '\0') mask &= ~XPG_CODESET; return mask; } xfe-1.42/intl/gettextP.h0000644000175100017510000001773612202431546012105 00000000000000/* Header describing internals of libintl library. Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXTP_H #define _GETTEXTP_H #include /* Get size_t. */ #ifdef _LIBC # include "../iconv/gconv_int.h" #else # if HAVE_ICONV # include # endif #endif #ifdef _LIBC extern char *__gettext (const char *__msgid); extern char *__dgettext (const char *__domainname, const char *__msgid); extern char *__dcgettext (const char *__domainname, const char *__msgid, int __category); extern char *__ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *__dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int n); extern char *__dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); extern char *__dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); extern char *__textdomain (const char *__domainname); extern char *__bindtextdomain (const char *__domainname, const char *__dirname); extern char *__bind_textdomain_codeset (const char *__domainname, const char *__codeset); extern void _nl_finddomain_subfreeres (void) attribute_hidden; extern void _nl_unload_domain (struct loaded_domain *__domain) internal_function attribute_hidden; #else /* Declare the exported libintl_* functions, in a way that allows us to call them under their real name. */ # undef _INTL_REDIRECT_INLINE # undef _INTL_REDIRECT_MACROS # define _INTL_REDIRECT_MACROS # include "libgnuintl.h" # ifdef IN_LIBGLOCALE extern char *gl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category, const char *__localename, const char *__encoding); # else extern char *libintl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); # endif #endif #include "loadinfo.h" #include "gmo.h" /* Get nls_uint32. */ /* @@ end of prolog @@ */ #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif #ifndef W # define W(flag, data) ((flag) ? SWAP (data) : (data)) #endif #ifdef _LIBC # include # define SWAP(i) bswap_32 (i) #else static inline nls_uint32 SWAP (i) nls_uint32 i; { return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); } #endif /* In-memory representation of system dependent string. */ struct sysdep_string_desc { /* Length of addressed string, including the trailing NUL. */ size_t length; /* Pointer to addressed string. */ const char *pointer; }; /* Cache of translated strings after charset conversion. Note: The strings are converted to the target encoding only on an as-needed basis. */ struct converted_domain { /* The target encoding name. */ const char *encoding; /* The descriptor for conversion from the message catalog's encoding to this target encoding. */ #ifdef _LIBC __gconv_t conv; #else # if HAVE_ICONV iconv_t conv; # endif #endif /* The table of translated strings after charset conversion. */ char **conv_tab; }; /* The representation of an opened message catalog. */ struct loaded_domain { /* Pointer to memory containing the .mo file. */ const char *data; /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ int use_mmap; /* Size of mmap()ed memory. */ size_t mmap_size; /* 1 if the .mo file uses a different endianness than this machine. */ int must_swap; /* Pointer to additional malloc()ed memory. */ void *malloced; /* Number of static strings pairs. */ nls_uint32 nstrings; /* Pointer to descriptors of original strings in the file. */ const struct string_desc *orig_tab; /* Pointer to descriptors of translated strings in the file. */ const struct string_desc *trans_tab; /* Number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Pointer to descriptors of original sysdep strings. */ const struct sysdep_string_desc *orig_sysdep_tab; /* Pointer to descriptors of translated sysdep strings. */ const struct sysdep_string_desc *trans_sysdep_tab; /* Size of hash table. */ nls_uint32 hash_size; /* Pointer to hash table. */ const nls_uint32 *hash_tab; /* 1 if the hash table uses a different endianness than this machine. */ int must_swap_hash_tab; /* Cache of charset conversions of the translated strings. */ struct converted_domain *conversions; size_t nconversions; struct expression *plural; unsigned long int nplurals; }; /* We want to allocate a string at the end of the struct. But ISO C doesn't allow zero sized arrays. */ #ifdef __GNUC__ # define ZERO 0 #else # define ZERO 1 #endif /* A set of settings bound to a message domain. Used to store settings from bindtextdomain() and bind_textdomain_codeset(). */ struct binding { struct binding *next; char *dirname; char *codeset; char domainname[ZERO]; }; /* A counter which is incremented each time some previous translations become invalid. This variable is part of the external ABI of the GNU libintl. */ #ifdef IN_LIBGLOCALE # include extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr; #else extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr; #endif #ifndef _LIBC const char *_nl_language_preferences_default (void); const char *_nl_locale_name_posix (int category, const char *categoryname); const char *_nl_locale_name_default (void); const char *_nl_locale_name (int category, const char *categoryname); #endif struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, const char *__domainname, struct binding *__domainbinding) internal_function; void _nl_load_domain (struct loaded_l10nfile *__domain, struct binding *__domainbinding) internal_function; #ifdef IN_LIBGLOCALE char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) internal_function; #else char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) internal_function; #endif /* @@ begin of epilog @@ */ #endif /* gettextP.h */ xfe-1.42/intl/ref-del.sin0000644000175100017510000000203011444154372012144 00000000000000# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } xfe-1.42/intl/gmo.h0000644000175100017510000001150512202431546011047 00000000000000/* Description of GNU message catalog format: general file layout. Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXT_H #define _GETTEXT_H 1 #include /* @@ end of prolog @@ */ /* The magic number of the GNU message catalog format. */ #define _MAGIC 0x950412de #define _MAGIC_SWAPPED 0xde120495 /* Revision number of the currently used .mo (binary) file format. */ #define MO_REVISION_NUMBER 0 #define MO_REVISION_NUMBER_WITH_SYSDEP_I 1 /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work when cross-compiling. */ #if __STDC__ # define UINT_MAX_32_BITS 4294967295U #else # define UINT_MAX_32_BITS 0xFFFFFFFF #endif /* If UINT_MAX isn't defined, assume it's a 32-bit type. This should be valid for all systems GNU cares about because that doesn't include 16-bit systems, and only modern systems (that certainly have ) have 64+-bit integral types. */ #ifndef UINT_MAX # define UINT_MAX UINT_MAX_32_BITS #endif #if UINT_MAX == UINT_MAX_32_BITS typedef unsigned nls_uint32; #else # if USHRT_MAX == UINT_MAX_32_BITS typedef unsigned short nls_uint32; # else # if ULONG_MAX == UINT_MAX_32_BITS typedef unsigned long nls_uint32; # else /* The following line is intended to throw an error. Using #error is not portable enough. */ "Cannot determine unsigned 32-bit data type." # endif # endif #endif /* Header for binary .mo file format. */ struct mo_file_header { /* The magic number. */ nls_uint32 magic; /* The revision number of the file format. */ nls_uint32 revision; /* The following are only used in .mo files with major revision 0 or 1. */ /* The number of strings pairs. */ nls_uint32 nstrings; /* Offset of table with start offsets of original strings. */ nls_uint32 orig_tab_offset; /* Offset of table with start offsets of translated strings. */ nls_uint32 trans_tab_offset; /* Size of hash table. */ nls_uint32 hash_tab_size; /* Offset of first hash table entry. */ nls_uint32 hash_tab_offset; /* The following are only used in .mo files with minor revision >= 1. */ /* The number of system dependent segments. */ nls_uint32 n_sysdep_segments; /* Offset of table describing system dependent segments. */ nls_uint32 sysdep_segments_offset; /* The number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Offset of table with start offsets of original sysdep strings. */ nls_uint32 orig_sysdep_tab_offset; /* Offset of table with start offsets of translated sysdep strings. */ nls_uint32 trans_sysdep_tab_offset; }; /* Descriptor for static string contained in the binary .mo file. */ struct string_desc { /* Length of addressed string, not including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* The following are only used in .mo files with minor revision >= 1. */ /* Descriptor for system dependent string segment. */ struct sysdep_segment { /* Length of addressed string, including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* Descriptor for system dependent string. */ struct sysdep_string { /* Offset of static string segments in file. */ nls_uint32 offset; /* Alternating sequence of static and system dependent segments. The last segment is a static segment, including the trailing NUL. */ struct segment_pair { /* Size of static segment. */ nls_uint32 segsize; /* Reference to system dependent string segment, or ~0 at the end. */ nls_uint32 sysdepref; } segments[1]; }; /* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF, regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */ #define SEGMENTS_END ((nls_uint32) ~0) /* @@ begin of epilog @@ */ #endif /* gettext.h */ xfe-1.42/intl/l10nflist.c0000644000175100017510000003014012202431550012063 00000000000000/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for stpcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #if defined _LIBC || defined HAVE_ARGZ_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # ifndef stpcpy # define stpcpy(dest, src) __stpcpy(dest, src) # endif #else # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) #endif /* Define function which are usually not available. */ #ifdef _LIBC # define __argz_count(argz, len) INTUSE(__argz_count) (argz, len) #elif defined HAVE_ARGZ_COUNT # undef __argz_count # define __argz_count argz_count #else /* Returns the number of strings in ARGZ. */ static size_t argz_count__ (const char *argz, size_t len) { size_t count = 0; while (len > 0) { size_t part_len = strlen (argz); argz += part_len + 1; len -= part_len + 1; count++; } return count; } # undef __argz_count # define __argz_count(argz, len) argz_count__ (argz, len) #endif /* !_LIBC && !HAVE_ARGZ_COUNT */ #ifdef _LIBC # define __argz_stringify(argz, len, sep) \ INTUSE(__argz_stringify) (argz, len, sep) #elif defined HAVE_ARGZ_STRINGIFY # undef __argz_stringify # define __argz_stringify argz_stringify #else /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ static void argz_stringify__ (char *argz, size_t len, int sep) { while (len > 0) { size_t part_len = strlen (argz); argz += part_len; len -= part_len + 1; if (len > 0) *argz++ = sep; } } # undef __argz_stringify # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) #endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */ #ifdef _LIBC #elif defined HAVE_ARGZ_NEXT # undef __argz_next # define __argz_next argz_next #else static char * argz_next__ (char *argz, size_t argz_len, const char *entry) { if (entry) { if (entry < argz + argz_len) entry = strchr (entry, '\0') + 1; return entry >= argz + argz_len ? NULL : (char *) entry; } else if (argz_len > 0) return argz; else return 0; } # undef __argz_next # define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) #endif /* !_LIBC && !HAVE_ARGZ_NEXT */ /* Return number of bits set in X. */ static inline int pop (int x) { /* We assume that no more than 16 bits are used. */ x = ((x & ~0x5555) >> 1) + (x & 0x5555); x = ((x & ~0x3333) >> 2) + (x & 0x3333); x = ((x >> 4) + x) & 0x0f0f; x = ((x >> 8) + x) & 0xff; return x; } struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate) { char *abs_filename; struct loaded_l10nfile **lastp; struct loaded_l10nfile *retval; char *cp; size_t dirlist_count; size_t entries; int cnt; /* If LANGUAGE contains an absolute directory specification, we ignore DIRLIST. */ if (IS_ABSOLUTE_PATH (language)) dirlist_len = 0; /* Allocate room for the full file name. */ abs_filename = (char *) malloc (dirlist_len + strlen (language) + ((mask & XPG_TERRITORY) != 0 ? strlen (territory) + 1 : 0) + ((mask & XPG_CODESET) != 0 ? strlen (codeset) + 1 : 0) + ((mask & XPG_NORM_CODESET) != 0 ? strlen (normalized_codeset) + 1 : 0) + ((mask & XPG_MODIFIER) != 0 ? strlen (modifier) + 1 : 0) + 1 + strlen (filename) + 1); if (abs_filename == NULL) return NULL; /* Construct file name. */ cp = abs_filename; if (dirlist_len > 0) { memcpy (cp, dirlist, dirlist_len); __argz_stringify (cp, dirlist_len, PATH_SEPARATOR); cp += dirlist_len; cp[-1] = '/'; } cp = stpcpy (cp, language); if ((mask & XPG_TERRITORY) != 0) { *cp++ = '_'; cp = stpcpy (cp, territory); } if ((mask & XPG_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, codeset); } if ((mask & XPG_NORM_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, normalized_codeset); } if ((mask & XPG_MODIFIER) != 0) { *cp++ = '@'; cp = stpcpy (cp, modifier); } *cp++ = '/'; stpcpy (cp, filename); /* Look in list of already loaded domains whether it is already available. */ lastp = l10nfile_list; for (retval = *l10nfile_list; retval != NULL; retval = retval->next) if (retval->filename != NULL) { int compare = strcmp (retval->filename, abs_filename); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It's not in the list. */ retval = NULL; break; } lastp = &retval->next; } if (retval != NULL || do_allocate == 0) { free (abs_filename); return retval; } dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1); /* Allocate a new loaded_l10nfile. */ retval = (struct loaded_l10nfile *) malloc (sizeof (*retval) + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0)) * sizeof (struct loaded_l10nfile *))); if (retval == NULL) { free (abs_filename); return NULL; } retval->filename = abs_filename; /* We set retval->data to NULL here; it is filled in later. Setting retval->decided to 1 here means that retval does not correspond to a real file (dirlist_count > 1) or is not worth looking up (if an unnormalized codeset was specified). */ retval->decided = (dirlist_count > 1 || ((mask & XPG_CODESET) != 0 && (mask & XPG_NORM_CODESET) != 0)); retval->data = NULL; retval->next = *lastp; *lastp = retval; entries = 0; /* Recurse to fill the inheritance list of RETVAL. If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL entry does not correspond to a real file; retval->filename contains colons. In this case we loop across all elements of DIRLIST and across all bit patterns dominated by MASK. If the DIRLIST is a single directory or entirely redundant (i.e. DIRLIST_COUNT == 1), we loop across all bit patterns dominated by MASK, excluding MASK itself. In either case, we loop down from MASK to 0. This has the effect that the extra bits in the locale name are dropped in this order: first the modifier, then the territory, then the codeset, then the normalized_codeset. */ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt) if ((cnt & ~mask) == 0 && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) { if (dirlist_count > 1) { /* Iterate over all elements of the DIRLIST. */ char *dir = NULL; while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) != NULL) retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } else retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } retval->successor[entries] = NULL; return retval; } /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ const char * _nl_normalize_codeset (const char *codeset, size_t name_len) { int len = 0; int only_digit = 1; char *retval; char *wp; size_t cnt; for (cnt = 0; cnt < name_len; ++cnt) if (isalnum ((unsigned char) codeset[cnt])) { ++len; if (isalpha ((unsigned char) codeset[cnt])) only_digit = 0; } retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); if (retval != NULL) { if (only_digit) wp = stpcpy (retval, "iso"); else wp = retval; for (cnt = 0; cnt < name_len; ++cnt) if (isalpha ((unsigned char) codeset[cnt])) *wp++ = tolower ((unsigned char) codeset[cnt]); else if (isdigit ((unsigned char) codeset[cnt])) *wp++ = codeset[cnt]; *wp = '\0'; } return (const char *) retval; } /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif xfe-1.42/intl/version.c0000644000175100017510000000173111444154372011753 00000000000000/* libintl library version. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "libgnuintl.h" /* Version number: (major<<16) + (minor<<8) + subminor */ int libintl_version = LIBINTL_VERSION; xfe-1.42/intl/log.c0000644000175100017510000000667012202431550011043 00000000000000/* Log file output. Copyright (C) 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Print an ASCII string with quotes and escape sequences where needed. */ static void print_escaped (FILE *stream, const char *str) { putc ('"', stream); for (; *str != '\0'; str++) if (*str == '\n') { fputs ("\\n\"", stream); if (str[1] == '\0') return; fputs ("\n\"", stream); } else { if (*str == '"' || *str == '\\') putc ('\\', stream); putc (*str, stream); } putc ('"', stream); } static char *last_logfilename = NULL; static FILE *last_logfile = NULL; __libc_lock_define_initialized (static, lock) static inline void _nl_log_untranslated_locked (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { FILE *logfile; /* Can we reuse the last opened logfile? */ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) { /* Close the last used logfile. */ if (last_logfilename != NULL) { if (last_logfile != NULL) { fclose (last_logfile); last_logfile = NULL; } free (last_logfilename); last_logfilename = NULL; } /* Open the logfile. */ last_logfilename = (char *) malloc (strlen (logfilename) + 1); if (last_logfilename == NULL) return; strcpy (last_logfilename, logfilename); last_logfile = fopen (logfilename, "a"); if (last_logfile == NULL) return; } logfile = last_logfile; fprintf (logfile, "domain "); print_escaped (logfile, domainname); fprintf (logfile, "\nmsgid "); print_escaped (logfile, msgid1); if (plural) { fprintf (logfile, "\nmsgid_plural "); print_escaped (logfile, msgid2); fprintf (logfile, "\nmsgstr[0] \"\"\n"); } else fprintf (logfile, "\nmsgstr \"\"\n"); putc ('\n', logfile); } /* Add to the log file an entry denoting a failed translation. */ void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { __libc_lock_lock (lock); _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); __libc_lock_unlock (lock); } xfe-1.42/intl/gettext.c0000644000175100017510000000355612202431550011746 00000000000000/* Implementation of gettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define GETTEXT __gettext # define DCGETTEXT INTUSE(__dcgettext) #else # define GETTEXT libintl_gettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * GETTEXT (const char *msgid) { return DCGETTEXT (NULL, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__gettext, gettext); #endif xfe-1.42/intl/relocatable.h0000644000175100017510000000561512202431546012547 00000000000000/* Provide relocatable packages. Copyright (C) 2003, 2005 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _RELOCATABLE_H #define _RELOCATABLE_H #ifdef __cplusplus extern "C" { #endif /* This can be enabled through the configure --enable-relocatable option. */ #if ENABLE_RELOCATABLE /* When building a DLL, we must export some functions. Note that because this is a private .h file, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) #else # define RELOCATABLE_DLL_EXPORTED #endif /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ extern RELOCATABLE_DLL_EXPORTED void set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); /* Returns the pathname, relocated according to the current installation directory. */ extern const char * relocate (const char *pathname); /* Memory management: relocate() leaks memory, because it has to construct a fresh pathname. If this is a problem because your program calls relocate() frequently, think about caching the result. */ /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ extern const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname); #else /* By default, we use the hardwired pathnames. */ #define relocate(pathname) (pathname) #endif #ifdef __cplusplus } #endif #endif /* _RELOCATABLE_H */ xfe-1.42/intl/localcharset.h0000644000175100017510000000261312202431546012731 00000000000000/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ xfe-1.42/intl/printf-args.h0000644000175100017510000000576612202431546012535 00000000000000/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H /* Get size_t. */ #include /* Get wchar_t. */ #ifdef HAVE_WCHAR_T # include #endif /* Get wint_t. */ #ifdef HAVE_WINT_T # include #endif /* Get va_list. */ #include /* Argument types */ typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, #ifdef HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif TYPE_DOUBLE, #ifdef HAVE_LONG_DOUBLE TYPE_LONGDOUBLE, #endif TYPE_CHAR, #ifdef HAVE_WINT_T TYPE_WIDE_CHAR, #endif TYPE_STRING, #ifdef HAVE_WCHAR_T TYPE_WIDE_STRING, #endif TYPE_POINTER, TYPE_COUNT_SCHAR_POINTER, TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #ifdef HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif } arg_type; /* Polymorphic argument */ typedef struct { arg_type type; union { signed char a_schar; unsigned char a_uchar; short a_short; unsigned short a_ushort; int a_int; unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; #ifdef HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif float a_float; double a_double; #ifdef HAVE_LONG_DOUBLE long double a_longdouble; #endif int a_char; #ifdef HAVE_WINT_T wint_t a_wide_char; #endif const char* a_string; #ifdef HAVE_WCHAR_T const wchar_t* a_wide_string; #endif void* a_pointer; signed char * a_count_schar_pointer; short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; #ifdef HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif } a; } argument; typedef struct { size_t count; argument *arg; } arguments; /* Fetch the arguments, putting them into a. */ #ifdef STATIC STATIC #else extern #endif int printf_fetchargs (va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */ xfe-1.42/intl/plural-exp.h0000644000175100017510000001027112202431546012355 00000000000000/* Expression parsing and evaluation for plural form selection. Copyright (C) 2000-2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PLURAL_EXP_H #define _PLURAL_EXP_H #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif /* This is the representation of the expressions to determine the plural form. */ struct expression { int nargs; /* Number of arguments. */ enum operator { /* Without arguments: */ var, /* The variable "n". */ num, /* Decimal number. */ /* Unary operators: */ lnot, /* Logical NOT. */ /* Binary operators: */ mult, /* Multiplication. */ divide, /* Division. */ module, /* Modulo operation. */ plus, /* Addition. */ minus, /* Subtraction. */ less_than, /* Comparison. */ greater_than, /* Comparison. */ less_or_equal, /* Comparison. */ greater_or_equal, /* Comparison. */ equal, /* Comparison for equality. */ not_equal, /* Comparison for inequality. */ land, /* Logical AND. */ lor, /* Logical OR. */ /* Ternary operators: */ qmop /* Question mark operator. */ } operation; union { unsigned long int num; /* Number value for `num'. */ struct expression *args[3]; /* Up to three arguments. */ } val; }; /* This is the data structure to pass information to the parser and get the result in a thread-safe way. */ struct parse_args { const char *cp; struct expression *res; }; /* Names for the libintl functions are a problem. This source code is used 1. in the GNU C Library library, 2. in the GNU libintl library, 3. in the GNU gettext tools. The function names in each situation must be different, to allow for binary incompatible changes in 'struct expression'. Furthermore, 1. in the GNU C Library library, the names have a __ prefix, 2.+3. in the GNU libintl library and in the GNU gettext tools, the names must follow ANSI C and not start with __. So we have to distinguish the three cases. */ #ifdef _LIBC # define FREE_EXPRESSION __gettext_free_exp # define PLURAL_PARSE __gettextparse # define GERMANIC_PLURAL __gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural #elif defined (IN_LIBINTL) # define FREE_EXPRESSION libintl_gettext_free_exp # define PLURAL_PARSE libintl_gettextparse # define GERMANIC_PLURAL libintl_gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural #else # define FREE_EXPRESSION free_plural_expression # define PLURAL_PARSE parse_plural_expression # define GERMANIC_PLURAL germanic_plural # define EXTRACT_PLURAL_EXPRESSION extract_plural_expression #endif extern void FREE_EXPRESSION (struct expression *exp) internal_function; extern int PLURAL_PARSE (void *arg); extern struct expression GERMANIC_PLURAL attribute_hidden; extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp, unsigned long int *npluralsp) internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE) extern unsigned long int plural_eval (struct expression *pexp, unsigned long int n); #endif #endif /* _PLURAL_EXP_H */ xfe-1.42/intl/hash-string.h0000644000175100017510000000256611444154372012531 00000000000000/* Description of GNU message catalog format: string hashing function. Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* @@ end of prolog @@ */ /* We assume to have `unsigned long int' value with at least 32 bits. */ #define HASHWORDBITS 32 #ifndef _LIBC # ifdef IN_LIBINTL # define __hash_string libintl_hash_string # else # define __hash_string hash_string # endif #endif /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ extern unsigned long int __hash_string (const char *str_param); xfe-1.42/intl/localealias.c0000644000175100017510000003023612202431550012526 00000000000000/* Handle aliases for locale names. Copyright (C) 1995-1999, 2000-2001, 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #if defined _LIBC || defined HAVE___FSETLOCKING # include #endif #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #include "gettextP.h" #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define strcasecmp __strcasecmp # ifndef mempcpy # define mempcpy __mempcpy # endif # define HAVE_MEMPCPY 1 # define HAVE___FSETLOCKING 1 #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif #ifndef internal_function # define internal_function #endif /* Some optimizations for glibc. */ #ifdef _LIBC # define FEOF(fp) feof_unlocked (fp) # define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp) #else # define FEOF(fp) feof (fp) # define FGETS(buf, n, fp) fgets (buf, n, fp) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(buf, len, s) fgets_unlocked (buf, len, s) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(s) feof_unlocked (s) #endif __libc_lock_define_initialized (static, lock) struct alias_map { const char *alias; const char *value; }; #ifndef _LIBC # define libc_freeres_ptr(decl) decl #endif libc_freeres_ptr (static char *string_space); static size_t string_space_act; static size_t string_space_max; libc_freeres_ptr (static struct alias_map *map); static size_t nmap; static size_t maxmap; /* Prototypes for local functions. */ static size_t read_alias_file (const char *fname, int fname_len) internal_function; static int extend_alias_table (void); static int alias_compare (const struct alias_map *map1, const struct alias_map *map2); const char * _nl_expand_alias (const char *name) { static const char *locale_alias_path; struct alias_map *retval; const char *result = NULL; size_t added; __libc_lock_lock (lock); if (locale_alias_path == NULL) locale_alias_path = LOCALE_ALIAS_PATH; do { struct alias_map item; item.alias = name; if (nmap > 0) retval = (struct alias_map *) bsearch (&item, map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *) ) alias_compare); else retval = NULL; /* We really found an alias. Return the value. */ if (retval != NULL) { result = retval->value; break; } /* Perhaps we can find another alias file. */ added = 0; while (added == 0 && locale_alias_path[0] != '\0') { const char *start; while (locale_alias_path[0] == PATH_SEPARATOR) ++locale_alias_path; start = locale_alias_path; while (locale_alias_path[0] != '\0' && locale_alias_path[0] != PATH_SEPARATOR) ++locale_alias_path; if (start < locale_alias_path) added = read_alias_file (start, locale_alias_path - start); } } while (added != 0); __libc_lock_unlock (lock); return result; } static size_t internal_function read_alias_file (const char *fname, int fname_len) { FILE *fp; char *full_fname; size_t added; static const char aliasfile[] = "/locale.alias"; full_fname = (char *) alloca (fname_len + sizeof aliasfile); #ifdef HAVE_MEMPCPY mempcpy (mempcpy (full_fname, fname, fname_len), aliasfile, sizeof aliasfile); #else memcpy (full_fname, fname, fname_len); memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); #endif #ifdef _LIBC /* Note the file is opened with cancellation in the I/O functions disabled. */ fp = fopen (relocate (full_fname), "rc"); #else fp = fopen (relocate (full_fname), "r"); #endif freea (full_fname); if (fp == NULL) return 0; #ifdef HAVE___FSETLOCKING /* No threads present. */ __fsetlocking (fp, FSETLOCKING_BYCALLER); #endif added = 0; while (!FEOF (fp)) { /* It is a reasonable approach to use a fix buffer here because a) we are only interested in the first two fields b) these fields must be usable as file names and so must not be that long We avoid a multi-kilobyte buffer here since this would use up stack space which we might not have if the program ran out of memory. */ char buf[400]; char *alias; char *value; char *cp; int complete_line; if (FGETS (buf, sizeof buf, fp) == NULL) /* EOF reached. */ break; /* Determine whether the line is complete. */ complete_line = strchr (buf, '\n') != NULL; cp = buf; /* Ignore leading white space. */ while (isspace ((unsigned char) cp[0])) ++cp; /* A leading '#' signals a comment line. */ if (cp[0] != '\0' && cp[0] != '#') { alias = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate alias name. */ if (cp[0] != '\0') *cp++ = '\0'; /* Now look for the beginning of the value. */ while (isspace ((unsigned char) cp[0])) ++cp; if (cp[0] != '\0') { value = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate value. */ if (cp[0] == '\n') { /* This has to be done to make the following test for the end of line possible. We are looking for the terminating '\n' which do not overwrite here. */ *cp++ = '\0'; *cp = '\n'; } else if (cp[0] != '\0') *cp++ = '\0'; #ifdef IN_LIBGLOCALE /* glibc's locale.alias contains entries for ja_JP and ko_KR that make it impossible to use a Japanese or Korean UTF-8 locale under the name "ja_JP" or "ko_KR". Ignore these entries. */ if (strchr (alias, '_') == NULL) #endif { size_t alias_len; size_t value_len; if (nmap >= maxmap) if (__builtin_expect (extend_alias_table (), 0)) goto out; alias_len = strlen (alias) + 1; value_len = strlen (value) + 1; if (string_space_act + alias_len + value_len > string_space_max) { /* Increase size of memory pool. */ size_t new_size = (string_space_max + (alias_len + value_len > 1024 ? alias_len + value_len : 1024)); char *new_pool = (char *) realloc (string_space, new_size); if (new_pool == NULL) goto out; if (__builtin_expect (string_space != new_pool, 0)) { size_t i; for (i = 0; i < nmap; i++) { map[i].alias += new_pool - string_space; map[i].value += new_pool - string_space; } } string_space = new_pool; string_space_max = new_size; } map[nmap].alias = memcpy (&string_space[string_space_act], alias, alias_len); string_space_act += alias_len; map[nmap].value = memcpy (&string_space[string_space_act], value, value_len); string_space_act += value_len; ++nmap; ++added; } } } /* Possibly not the whole line fits into the buffer. Ignore the rest of the line. */ if (! complete_line) do if (FGETS (buf, sizeof buf, fp) == NULL) /* Make sure the inner loop will be left. The outer loop will exit at the `feof' test. */ break; while (strchr (buf, '\n') == NULL); } out: /* Should we test for ferror()? I think we have to silently ignore errors. --drepper */ fclose (fp); if (added > 0) qsort (map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *)) alias_compare); return added; } static int extend_alias_table () { size_t new_size; struct alias_map *new_map; new_size = maxmap == 0 ? 100 : 2 * maxmap; new_map = (struct alias_map *) realloc (map, (new_size * sizeof (struct alias_map))); if (new_map == NULL) /* Simply don't extend: we don't have any more core. */ return -1; map = new_map; maxmap = new_size; return 0; } static int alias_compare (const struct alias_map *map1, const struct alias_map *map2) { #if defined _LIBC || defined HAVE_STRCASECMP return strcasecmp (map1->alias, map2->alias); #else const unsigned char *p1 = (const unsigned char *) map1->alias; const unsigned char *p2 = (const unsigned char *) map2->alias; unsigned char c1, c2; if (p1 == p2) return 0; do { /* I know this seems to be odd but the tolower() function in some systems libc cannot handle nonalpha characters. */ c1 = isupper (*p1) ? tolower (*p1) : *p1; c2 = isupper (*p2) ? tolower (*p2) : *p2; if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); return c1 - c2; #endif } xfe-1.42/intl/vasnprintf.c0000644000175100017510000010310512202431550012443 00000000000000/* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for snprintf(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #include #ifndef IN_LIBINTL # include #endif /* Specification. */ #if WIDE_CHAR_VERSION # include "vasnwprintf.h" #else # include "vasnprintf.h" #endif #include /* snprintf(), sprintf() */ #include /* abort(), malloc(), realloc(), free() */ #include /* memcpy(), strlen() */ #include /* errno */ #include /* CHAR_BIT */ #include /* DBL_MAX_EXP, LDBL_MAX_EXP */ #if WIDE_CHAR_VERSION # include "wprintf-parse.h" #else # include "printf-parse.h" #endif /* Checked size_t computations. */ #include "xsize.h" #ifdef HAVE_WCHAR_T # ifdef HAVE_WCSLEN # define local_wcslen wcslen # else /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid a dependency towards this library, here is a local substitute. Define this substitute only once, even if this file is included twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t local_wcslen (const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) ; return ptr - s; } # endif # endif #endif #if WIDE_CHAR_VERSION # define VASNPRINTF vasnwprintf # define CHAR_T wchar_t # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives # define PRINTF_PARSE wprintf_parse # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF /* On Windows, the function swprintf() has a different signature than on Unix; we use the _snwprintf() function instead. */ # define SNPRINTF _snwprintf # else /* Unix. */ # define SNPRINTF swprintf # endif #else # define VASNPRINTF vasnprintf # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives # define PRINTF_PARSE printf_parse # define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) # if HAVE_DECL__SNPRINTF /* Windows. */ # define SNPRINTF _snprintf # else /* Unix. */ # define SNPRINTF snprintf # endif #endif CHAR_T * VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args) { DIRECTIVES d; arguments a; if (PRINTF_PARSE (format, &d, &a) < 0) { errno = EINVAL; return NULL; } #define CLEANUP() \ free (d.dir); \ if (a.arg) \ free (a.arg); if (printf_fetchargs (args, &a) < 0) { CLEANUP (); errno = EINVAL; return NULL; } { size_t buf_neededlength; CHAR_T *buf; CHAR_T *buf_malloced; const CHAR_T *cp; size_t i; DIRECTIVE *dp; /* Output string accumulator. */ CHAR_T *result; size_t allocated; size_t length; /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = xsum4 (7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA if (buf_neededlength < 4000 / sizeof (CHAR_T)) { buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T)); buf_malloced = NULL; } else #endif { size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T)); if (size_overflow_p (buf_memsize)) goto out_of_memory_1; buf = (CHAR_T *) malloc (buf_memsize); if (buf == NULL) goto out_of_memory_1; buf_malloced = buf; } if (resultbuf != NULL) { result = resultbuf; allocated = *lengthp; } else { result = NULL; allocated = 0; } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. If length > 0, then result != NULL. */ /* Ensures that allocated >= needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ #define ENSURE_ALLOCATION(needed) \ if ((needed) > allocated) \ { \ size_t memory_size; \ CHAR_T *memory; \ \ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ if ((needed) > allocated) \ allocated = (needed); \ memory_size = xtimes (allocated, sizeof (CHAR_T)); \ if (size_overflow_p (memory_size)) \ goto out_of_memory; \ if (result == resultbuf || result == NULL) \ memory = (CHAR_T *) malloc (memory_size); \ else \ memory = (CHAR_T *) realloc (result, memory_size); \ if (memory == NULL) \ goto out_of_memory; \ if (result == resultbuf && length > 0) \ memcpy (memory, result, length * sizeof (CHAR_T)); \ result = memory; \ } for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { if (cp != dp->dir_start) { size_t n = dp->dir_start - cp; size_t augmented_length = xsum (length, n); ENSURE_ALLOCATION (augmented_length); memcpy (result + length, cp, n * sizeof (CHAR_T)); length = augmented_length; } if (i == d.count) break; /* Execute a single directive. */ if (dp->conversion == '%') { size_t augmented_length; if (!(dp->arg_index == ARG_NONE)) abort (); augmented_length = xsum (length, 1); ENSURE_ALLOCATION (augmented_length); result[length] = '%'; length = augmented_length; } else { if (!(dp->arg_index != ARG_NONE)) abort (); if (dp->conversion == 'n') { switch (a.arg[dp->arg_index].type) { case TYPE_COUNT_SCHAR_POINTER: *a.arg[dp->arg_index].a.a_count_schar_pointer = length; break; case TYPE_COUNT_SHORT_POINTER: *a.arg[dp->arg_index].a.a_count_short_pointer = length; break; case TYPE_COUNT_INT_POINTER: *a.arg[dp->arg_index].a.a_count_int_pointer = length; break; case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; #ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; #endif default: abort (); } } else { arg_type type = a.arg[dp->arg_index].type; CHAR_T *p; unsigned int prefix_count; int prefixes[2]; #if !USE_SNPRINTF size_t tmp_length; CHAR_T tmpbuf[700]; CHAR_T *tmp; /* Allocate a temporary buffer of sufficient size for calling sprintf. */ { size_t width; size_t precision; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; width = (arg < 0 ? (unsigned int) (-arg) : arg); } else { const CHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } } precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; precision = (arg < 0 ? 0 : arg); } else { const CHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); } } switch (dp->conversion) { case 'd': case 'i': case 'u': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Multiply by 2, as an estimate for FLAG_GROUP. */ tmp_length = xsum (tmp_length, tmp_length); /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'o': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'x': case 'X': # ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 2, to account for a leading sign or alternate form. */ tmp_length = xsum (tmp_length, 2); break; case 'f': case 'F': # ifdef HAVE_LONG_DOUBLE if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ else # endif tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ tmp_length = xsum (tmp_length, precision); break; case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': tmp_length = 12; /* sign, decimal point, exponent etc. */ tmp_length = xsum (tmp_length, precision); break; case 'c': # if defined HAVE_WINT_T && !WIDE_CHAR_VERSION if (type == TYPE_WIDE_CHAR) tmp_length = MB_CUR_MAX; else # endif tmp_length = 1; break; case 's': # ifdef HAVE_WCHAR_T if (type == TYPE_WIDE_STRING) { tmp_length = local_wcslen (a.arg[dp->arg_index].a.a_wide_string); # if !WIDE_CHAR_VERSION tmp_length = xtimes (tmp_length, MB_CUR_MAX); # endif } else # endif tmp_length = strlen (a.arg[dp->arg_index].a.a_string); break; case 'p': tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1 /* turn floor into ceil */ + 2; /* account for leading 0x */ break; default: abort (); } if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ } if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (CHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } #endif /* Construct the format string for calling snprintf or sprintf. */ p = buf; *p++ = '%'; if (dp->flags & FLAG_GROUP) *p++ = '\''; if (dp->flags & FLAG_LEFT) *p++ = '-'; if (dp->flags & FLAG_SHOWSIGN) *p++ = '+'; if (dp->flags & FLAG_SPACE) *p++ = ' '; if (dp->flags & FLAG_ALT) *p++ = '#'; if (dp->flags & FLAG_ZERO) *p++ = '0'; if (dp->width_start != dp->width_end) { size_t n = dp->width_end - dp->width_start; memcpy (p, dp->width_start, n * sizeof (CHAR_T)); p += n; } if (dp->precision_start != dp->precision_end) { size_t n = dp->precision_end - dp->precision_start; memcpy (p, dp->precision_start, n * sizeof (CHAR_T)); p += n; } switch (type) { #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: *p++ = 'l'; /*FALLTHROUGH*/ #endif case TYPE_LONGINT: case TYPE_ULONGINT: #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: #endif #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: #endif *p++ = 'l'; break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: *p++ = 'L'; break; #endif default: break; } *p = dp->conversion; #if USE_SNPRINTF p[1] = '%'; p[2] = 'n'; p[3] = '\0'; #else p[1] = '\0'; #endif /* Construct the arguments for calling snprintf or sprintf. */ prefix_count = 0; if (dp->width_arg_index != ARG_NONE) { if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; } if (dp->precision_arg_index != ARG_NONE) { if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; } #if USE_SNPRINTF /* Prepare checking whether snprintf returns the count via %n. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; #endif for (;;) { size_t maxlen; int count; int retcount; maxlen = allocated - length; count = -1; retcount = 0; #if USE_SNPRINTF # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ retcount = SNPRINTF (result + length, maxlen, buf, \ arg, &count); \ break; \ case 1: \ retcount = SNPRINTF (result + length, maxlen, buf, \ prefixes[0], arg, &count); \ break; \ case 2: \ retcount = SNPRINTF (result + length, maxlen, buf, \ prefixes[0], prefixes[1], arg, \ &count); \ break; \ default: \ abort (); \ } #else # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ count = sprintf (tmp, buf, arg); \ break; \ case 1: \ count = sprintf (tmp, buf, prefixes[0], arg); \ break; \ case 2: \ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ arg); \ break; \ default: \ abort (); \ } #endif switch (type) { case TYPE_SCHAR: { int arg = a.arg[dp->arg_index].a.a_schar; SNPRINTF_BUF (arg); } break; case TYPE_UCHAR: { unsigned int arg = a.arg[dp->arg_index].a.a_uchar; SNPRINTF_BUF (arg); } break; case TYPE_SHORT: { int arg = a.arg[dp->arg_index].a.a_short; SNPRINTF_BUF (arg); } break; case TYPE_USHORT: { unsigned int arg = a.arg[dp->arg_index].a.a_ushort; SNPRINTF_BUF (arg); } break; case TYPE_INT: { int arg = a.arg[dp->arg_index].a.a_int; SNPRINTF_BUF (arg); } break; case TYPE_UINT: { unsigned int arg = a.arg[dp->arg_index].a.a_uint; SNPRINTF_BUF (arg); } break; case TYPE_LONGINT: { long int arg = a.arg[dp->arg_index].a.a_longint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGINT: { unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; SNPRINTF_BUF (arg); } break; #ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGLONGINT: { unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; SNPRINTF_BUF (arg); } break; #endif case TYPE_DOUBLE: { double arg = a.arg[dp->arg_index].a.a_double; SNPRINTF_BUF (arg); } break; #ifdef HAVE_LONG_DOUBLE case TYPE_LONGDOUBLE: { long double arg = a.arg[dp->arg_index].a.a_longdouble; SNPRINTF_BUF (arg); } break; #endif case TYPE_CHAR: { int arg = a.arg[dp->arg_index].a.a_char; SNPRINTF_BUF (arg); } break; #ifdef HAVE_WINT_T case TYPE_WIDE_CHAR: { wint_t arg = a.arg[dp->arg_index].a.a_wide_char; SNPRINTF_BUF (arg); } break; #endif case TYPE_STRING: { const char *arg = a.arg[dp->arg_index].a.a_string; SNPRINTF_BUF (arg); } break; #ifdef HAVE_WCHAR_T case TYPE_WIDE_STRING: { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; SNPRINTF_BUF (arg); } break; #endif case TYPE_POINTER: { void *arg = a.arg[dp->arg_index].a.a_pointer; SNPRINTF_BUF (arg); } break; default: abort (); } #if USE_SNPRINTF /* Portability: Not all implementations of snprintf() are ISO C 99 compliant. Determine the number of bytes that snprintf() has produced or would have produced. */ if (count >= 0) { /* Verify that snprintf() has NUL-terminated its result. */ if (count < maxlen && result[length + count] != '\0') abort (); /* Portability hack. */ if (retcount > count) count = retcount; } else { /* snprintf() doesn't understand the '%n' directive. */ if (p[1] != '\0') { /* Don't use the '%n' directive; instead, look at the snprintf() return value. */ p[1] = '\0'; continue; } else { /* Look at the snprintf() return value. */ if (retcount < 0) { /* HP-UX 10.20 snprintf() is doubly deficient: It doesn't understand the '%n' directive, *and* it returns -1 (rather than the length that would have been required) when the buffer is too small. */ size_t bigger_need = xsum (xtimes (allocated, 2), 12); ENSURE_ALLOCATION (bigger_need); continue; } else count = retcount; } } #endif /* Attempt to handle failure. */ if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EINVAL; return NULL; } #if !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); #endif /* Make room for the result. */ if (count >= maxlen) { /* Need at least count bytes. But allocate proportionally, to avoid looping eternally if snprintf() reports a too small count. */ size_t n = xmax (xsum (length, count), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); #if USE_SNPRINTF continue; #endif } #if USE_SNPRINTF /* The snprintf() result did fit. */ #else /* Append the sprintf() result. */ memcpy (result + length, tmp, count * sizeof (CHAR_T)); if (tmp != tmpbuf) free (tmp); #endif length += count; break; } } } } /* Add the final NUL. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; if (result != resultbuf && length + 1 < allocated) { /* Shrink the allocated memory if possible. */ CHAR_T *memory; memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T)); if (memory != NULL) result = memory; } if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but that's only because snprintf() returns an 'int'. This function does not have this limitation. */ return result; out_of_memory: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); out_of_memory_1: CLEANUP (); errno = ENOMEM; return NULL; } } #undef SNPRINTF #undef USE_SNPRINTF #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T #undef VASNPRINTF xfe-1.42/intl/locale.alias0000644000175100017510000000512611444154372012376 00000000000000# Locale name alias data base. # Copyright (C) 1996-2001,2003 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # The format of this file is the same as for the corresponding file of # the X Window System, which normally can be found in # /usr/lib/X11/locale/locale.alias # A single line contains two fields: an alias and a substitution value. # All entries are case independent. # Note: This file is far from being complete. If you have a value for # your own site which you think might be useful for others too, share # it with the rest of us. Send it using the `glibcbug' script to # bugs@gnu.org. # Packages using this file: bokmal nb_NO.ISO-8859-1 bokml nb_NO.ISO-8859-1 catalan ca_ES.ISO-8859-1 croatian hr_HR.ISO-8859-2 czech cs_CZ.ISO-8859-2 danish da_DK.ISO-8859-1 dansk da_DK.ISO-8859-1 deutsch de_DE.ISO-8859-1 dutch nl_NL.ISO-8859-1 eesti et_EE.ISO-8859-1 estonian et_EE.ISO-8859-1 finnish fi_FI.ISO-8859-1 franais fr_FR.ISO-8859-1 french fr_FR.ISO-8859-1 galego gl_ES.ISO-8859-1 galician gl_ES.ISO-8859-1 german de_DE.ISO-8859-1 greek el_GR.ISO-8859-7 hebrew he_IL.ISO-8859-8 hrvatski hr_HR.ISO-8859-2 hungarian hu_HU.ISO-8859-2 icelandic is_IS.ISO-8859-1 italian it_IT.ISO-8859-1 japanese ja_JP.eucJP japanese.euc ja_JP.eucJP ja_JP ja_JP.eucJP ja_JP.ujis ja_JP.eucJP japanese.sjis ja_JP.SJIS korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 no_NO nb_NO.ISO-8859-1 no_NO.ISO-8859-1 nb_NO.ISO-8859-1 norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 romanian ro_RO.ISO-8859-2 russian ru_RU.ISO-8859-5 slovak sk_SK.ISO-8859-2 slovene sl_SI.ISO-8859-2 slovenian sl_SI.ISO-8859-2 spanish es_ES.ISO-8859-1 swedish sv_SE.ISO-8859-1 thai th_TH.TIS-620 turkish tr_TR.ISO-8859-9 xfe-1.42/intl/export.h0000644000175100017510000000023511444154372011612 00000000000000 #if @HAVE_VISIBILITY@ && BUILDING_LIBINTL #define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) #else #define LIBINTL_DLL_EXPORTED #endif xfe-1.42/intl/config.charset0000755000175100017510000004702611444154372012754 00000000000000#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-3 Y glibc solaris # ISO-8859-4 Y osf solaris freebsd netbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-6 Y glibc aix hpux solaris # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin # ISO-8859-8 Y glibc aix hpux osf solaris # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin # ISO-8859-13 glibc netbsd darwin # ISO-8859-14 glibc # ISO-8859-15 glibc aix osf solaris freebsd darwin # KOI8-R Y glibc solaris freebsd netbsd darwin # KOI8-U Y glibc freebsd netbsd darwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix woe32 dos # CP943 aix # CP949 osf woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1250 woe32 # CP1251 glibc solaris netbsd darwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin # BIG5-HKSCS glibc solaris # GBK glibc aix osf solaris woe32 dos # GB18030 glibc solaris netbsd # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris # VISCII Y glibc # TCVN5712-1 glibc # GEORGIAN-PS glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but it is useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. echo "* UTF-8" ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero " echo "# and Bruno Haible ." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac xfe-1.42/intl/ChangeLog0000644000175100017510000000011111444154372011663 000000000000002006-11-27 GNU * Version 0.16.1 released. xfe-1.42/intl/localename.c0000644000175100017510000014263212202431550012361 00000000000000/* Determine the current selected locale. Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Ulrich Drepper , 1995. */ /* Win32 code written by Tor Lillqvist . */ /* MacOS X code written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # if HAVE_CFLOCALECOPYCURRENT # include # elif HAVE_CFPREFERENCESCOPYAPPVALUE # include # endif #endif #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #ifdef WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include /* List of language codes, sorted by value: 0x01 LANG_ARABIC 0x02 LANG_BULGARIAN 0x03 LANG_CATALAN 0x04 LANG_CHINESE 0x05 LANG_CZECH 0x06 LANG_DANISH 0x07 LANG_GERMAN 0x08 LANG_GREEK 0x09 LANG_ENGLISH 0x0a LANG_SPANISH 0x0b LANG_FINNISH 0x0c LANG_FRENCH 0x0d LANG_HEBREW 0x0e LANG_HUNGARIAN 0x0f LANG_ICELANDIC 0x10 LANG_ITALIAN 0x11 LANG_JAPANESE 0x12 LANG_KOREAN 0x13 LANG_DUTCH 0x14 LANG_NORWEGIAN 0x15 LANG_POLISH 0x16 LANG_PORTUGUESE 0x17 LANG_RHAETO_ROMANCE 0x18 LANG_ROMANIAN 0x19 LANG_RUSSIAN 0x1a LANG_CROATIAN == LANG_SERBIAN 0x1b LANG_SLOVAK 0x1c LANG_ALBANIAN 0x1d LANG_SWEDISH 0x1e LANG_THAI 0x1f LANG_TURKISH 0x20 LANG_URDU 0x21 LANG_INDONESIAN 0x22 LANG_UKRAINIAN 0x23 LANG_BELARUSIAN 0x24 LANG_SLOVENIAN 0x25 LANG_ESTONIAN 0x26 LANG_LATVIAN 0x27 LANG_LITHUANIAN 0x28 LANG_TAJIK 0x29 LANG_FARSI 0x2a LANG_VIETNAMESE 0x2b LANG_ARMENIAN 0x2c LANG_AZERI 0x2d LANG_BASQUE 0x2e LANG_SORBIAN 0x2f LANG_MACEDONIAN 0x30 LANG_SUTU 0x31 LANG_TSONGA 0x32 LANG_TSWANA 0x33 LANG_VENDA 0x34 LANG_XHOSA 0x35 LANG_ZULU 0x36 LANG_AFRIKAANS 0x37 LANG_GEORGIAN 0x38 LANG_FAEROESE 0x39 LANG_HINDI 0x3a LANG_MALTESE 0x3b LANG_SAAMI 0x3c LANG_GAELIC 0x3d LANG_YIDDISH 0x3e LANG_MALAY 0x3f LANG_KAZAK 0x40 LANG_KYRGYZ 0x41 LANG_SWAHILI 0x42 LANG_TURKMEN 0x43 LANG_UZBEK 0x44 LANG_TATAR 0x45 LANG_BENGALI 0x46 LANG_PUNJABI 0x47 LANG_GUJARATI 0x48 LANG_ORIYA 0x49 LANG_TAMIL 0x4a LANG_TELUGU 0x4b LANG_KANNADA 0x4c LANG_MALAYALAM 0x4d LANG_ASSAMESE 0x4e LANG_MARATHI 0x4f LANG_SANSKRIT 0x50 LANG_MONGOLIAN 0x51 LANG_TIBETAN 0x52 LANG_WELSH 0x53 LANG_CAMBODIAN 0x54 LANG_LAO 0x55 LANG_BURMESE 0x56 LANG_GALICIAN 0x57 LANG_KONKANI 0x58 LANG_MANIPURI 0x59 LANG_SINDHI 0x5a LANG_SYRIAC 0x5b LANG_SINHALESE 0x5c LANG_CHEROKEE 0x5d LANG_INUKTITUT 0x5e LANG_AMHARIC 0x5f LANG_TAMAZIGHT 0x60 LANG_KASHMIRI 0x61 LANG_NEPALI 0x62 LANG_FRISIAN 0x63 LANG_PASHTO 0x64 LANG_TAGALOG 0x65 LANG_DIVEHI 0x66 LANG_EDO 0x67 LANG_FULFULDE 0x68 LANG_HAUSA 0x69 LANG_IBIBIO 0x6a LANG_YORUBA 0x70 LANG_IGBO 0x71 LANG_KANURI 0x72 LANG_OROMO 0x73 LANG_TIGRINYA 0x74 LANG_GUARANI 0x75 LANG_HAWAIIAN 0x76 LANG_LATIN 0x77 LANG_SOMALI 0x78 LANG_YI 0x79 LANG_PAPIAMENTU */ /* Mingw headers don't have latest language and sublanguage codes. */ # ifndef LANG_AFRIKAANS # define LANG_AFRIKAANS 0x36 # endif # ifndef LANG_ALBANIAN # define LANG_ALBANIAN 0x1c # endif # ifndef LANG_AMHARIC # define LANG_AMHARIC 0x5e # endif # ifndef LANG_ARABIC # define LANG_ARABIC 0x01 # endif # ifndef LANG_ARMENIAN # define LANG_ARMENIAN 0x2b # endif # ifndef LANG_ASSAMESE # define LANG_ASSAMESE 0x4d # endif # ifndef LANG_AZERI # define LANG_AZERI 0x2c # endif # ifndef LANG_BASQUE # define LANG_BASQUE 0x2d # endif # ifndef LANG_BELARUSIAN # define LANG_BELARUSIAN 0x23 # endif # ifndef LANG_BENGALI # define LANG_BENGALI 0x45 # endif # ifndef LANG_BURMESE # define LANG_BURMESE 0x55 # endif # ifndef LANG_CAMBODIAN # define LANG_CAMBODIAN 0x53 # endif # ifndef LANG_CATALAN # define LANG_CATALAN 0x03 # endif # ifndef LANG_CHEROKEE # define LANG_CHEROKEE 0x5c # endif # ifndef LANG_DIVEHI # define LANG_DIVEHI 0x65 # endif # ifndef LANG_EDO # define LANG_EDO 0x66 # endif # ifndef LANG_ESTONIAN # define LANG_ESTONIAN 0x25 # endif # ifndef LANG_FAEROESE # define LANG_FAEROESE 0x38 # endif # ifndef LANG_FARSI # define LANG_FARSI 0x29 # endif # ifndef LANG_FRISIAN # define LANG_FRISIAN 0x62 # endif # ifndef LANG_FULFULDE # define LANG_FULFULDE 0x67 # endif # ifndef LANG_GAELIC # define LANG_GAELIC 0x3c # endif # ifndef LANG_GALICIAN # define LANG_GALICIAN 0x56 # endif # ifndef LANG_GEORGIAN # define LANG_GEORGIAN 0x37 # endif # ifndef LANG_GUARANI # define LANG_GUARANI 0x74 # endif # ifndef LANG_GUJARATI # define LANG_GUJARATI 0x47 # endif # ifndef LANG_HAUSA # define LANG_HAUSA 0x68 # endif # ifndef LANG_HAWAIIAN # define LANG_HAWAIIAN 0x75 # endif # ifndef LANG_HEBREW # define LANG_HEBREW 0x0d # endif # ifndef LANG_HINDI # define LANG_HINDI 0x39 # endif # ifndef LANG_IBIBIO # define LANG_IBIBIO 0x69 # endif # ifndef LANG_IGBO # define LANG_IGBO 0x70 # endif # ifndef LANG_INDONESIAN # define LANG_INDONESIAN 0x21 # endif # ifndef LANG_INUKTITUT # define LANG_INUKTITUT 0x5d # endif # ifndef LANG_KANNADA # define LANG_KANNADA 0x4b # endif # ifndef LANG_KANURI # define LANG_KANURI 0x71 # endif # ifndef LANG_KASHMIRI # define LANG_KASHMIRI 0x60 # endif # ifndef LANG_KAZAK # define LANG_KAZAK 0x3f # endif # ifndef LANG_KONKANI # define LANG_KONKANI 0x57 # endif # ifndef LANG_KYRGYZ # define LANG_KYRGYZ 0x40 # endif # ifndef LANG_LAO # define LANG_LAO 0x54 # endif # ifndef LANG_LATIN # define LANG_LATIN 0x76 # endif # ifndef LANG_LATVIAN # define LANG_LATVIAN 0x26 # endif # ifndef LANG_LITHUANIAN # define LANG_LITHUANIAN 0x27 # endif # ifndef LANG_MACEDONIAN # define LANG_MACEDONIAN 0x2f # endif # ifndef LANG_MALAY # define LANG_MALAY 0x3e # endif # ifndef LANG_MALAYALAM # define LANG_MALAYALAM 0x4c # endif # ifndef LANG_MALTESE # define LANG_MALTESE 0x3a # endif # ifndef LANG_MANIPURI # define LANG_MANIPURI 0x58 # endif # ifndef LANG_MARATHI # define LANG_MARATHI 0x4e # endif # ifndef LANG_MONGOLIAN # define LANG_MONGOLIAN 0x50 # endif # ifndef LANG_NEPALI # define LANG_NEPALI 0x61 # endif # ifndef LANG_ORIYA # define LANG_ORIYA 0x48 # endif # ifndef LANG_OROMO # define LANG_OROMO 0x72 # endif # ifndef LANG_PAPIAMENTU # define LANG_PAPIAMENTU 0x79 # endif # ifndef LANG_PASHTO # define LANG_PASHTO 0x63 # endif # ifndef LANG_PUNJABI # define LANG_PUNJABI 0x46 # endif # ifndef LANG_RHAETO_ROMANCE # define LANG_RHAETO_ROMANCE 0x17 # endif # ifndef LANG_SAAMI # define LANG_SAAMI 0x3b # endif # ifndef LANG_SANSKRIT # define LANG_SANSKRIT 0x4f # endif # ifndef LANG_SERBIAN # define LANG_SERBIAN 0x1a # endif # ifndef LANG_SINDHI # define LANG_SINDHI 0x59 # endif # ifndef LANG_SINHALESE # define LANG_SINHALESE 0x5b # endif # ifndef LANG_SLOVAK # define LANG_SLOVAK 0x1b # endif # ifndef LANG_SOMALI # define LANG_SOMALI 0x77 # endif # ifndef LANG_SORBIAN # define LANG_SORBIAN 0x2e # endif # ifndef LANG_SUTU # define LANG_SUTU 0x30 # endif # ifndef LANG_SWAHILI # define LANG_SWAHILI 0x41 # endif # ifndef LANG_SYRIAC # define LANG_SYRIAC 0x5a # endif # ifndef LANG_TAGALOG # define LANG_TAGALOG 0x64 # endif # ifndef LANG_TAJIK # define LANG_TAJIK 0x28 # endif # ifndef LANG_TAMAZIGHT # define LANG_TAMAZIGHT 0x5f # endif # ifndef LANG_TAMIL # define LANG_TAMIL 0x49 # endif # ifndef LANG_TATAR # define LANG_TATAR 0x44 # endif # ifndef LANG_TELUGU # define LANG_TELUGU 0x4a # endif # ifndef LANG_THAI # define LANG_THAI 0x1e # endif # ifndef LANG_TIBETAN # define LANG_TIBETAN 0x51 # endif # ifndef LANG_TIGRINYA # define LANG_TIGRINYA 0x73 # endif # ifndef LANG_TSONGA # define LANG_TSONGA 0x31 # endif # ifndef LANG_TSWANA # define LANG_TSWANA 0x32 # endif # ifndef LANG_TURKMEN # define LANG_TURKMEN 0x42 # endif # ifndef LANG_UKRAINIAN # define LANG_UKRAINIAN 0x22 # endif # ifndef LANG_URDU # define LANG_URDU 0x20 # endif # ifndef LANG_UZBEK # define LANG_UZBEK 0x43 # endif # ifndef LANG_VENDA # define LANG_VENDA 0x33 # endif # ifndef LANG_VIETNAMESE # define LANG_VIETNAMESE 0x2a # endif # ifndef LANG_WELSH # define LANG_WELSH 0x52 # endif # ifndef LANG_XHOSA # define LANG_XHOSA 0x34 # endif # ifndef LANG_YI # define LANG_YI 0x78 # endif # ifndef LANG_YIDDISH # define LANG_YIDDISH 0x3d # endif # ifndef LANG_YORUBA # define LANG_YORUBA 0x6a # endif # ifndef LANG_ZULU # define LANG_ZULU 0x35 # endif # ifndef SUBLANG_ARABIC_SAUDI_ARABIA # define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 # endif # ifndef SUBLANG_ARABIC_IRAQ # define SUBLANG_ARABIC_IRAQ 0x02 # endif # ifndef SUBLANG_ARABIC_EGYPT # define SUBLANG_ARABIC_EGYPT 0x03 # endif # ifndef SUBLANG_ARABIC_LIBYA # define SUBLANG_ARABIC_LIBYA 0x04 # endif # ifndef SUBLANG_ARABIC_ALGERIA # define SUBLANG_ARABIC_ALGERIA 0x05 # endif # ifndef SUBLANG_ARABIC_MOROCCO # define SUBLANG_ARABIC_MOROCCO 0x06 # endif # ifndef SUBLANG_ARABIC_TUNISIA # define SUBLANG_ARABIC_TUNISIA 0x07 # endif # ifndef SUBLANG_ARABIC_OMAN # define SUBLANG_ARABIC_OMAN 0x08 # endif # ifndef SUBLANG_ARABIC_YEMEN # define SUBLANG_ARABIC_YEMEN 0x09 # endif # ifndef SUBLANG_ARABIC_SYRIA # define SUBLANG_ARABIC_SYRIA 0x0a # endif # ifndef SUBLANG_ARABIC_JORDAN # define SUBLANG_ARABIC_JORDAN 0x0b # endif # ifndef SUBLANG_ARABIC_LEBANON # define SUBLANG_ARABIC_LEBANON 0x0c # endif # ifndef SUBLANG_ARABIC_KUWAIT # define SUBLANG_ARABIC_KUWAIT 0x0d # endif # ifndef SUBLANG_ARABIC_UAE # define SUBLANG_ARABIC_UAE 0x0e # endif # ifndef SUBLANG_ARABIC_BAHRAIN # define SUBLANG_ARABIC_BAHRAIN 0x0f # endif # ifndef SUBLANG_ARABIC_QATAR # define SUBLANG_ARABIC_QATAR 0x10 # endif # ifndef SUBLANG_AZERI_LATIN # define SUBLANG_AZERI_LATIN 0x01 # endif # ifndef SUBLANG_AZERI_CYRILLIC # define SUBLANG_AZERI_CYRILLIC 0x02 # endif # ifndef SUBLANG_BENGALI_INDIA # define SUBLANG_BENGALI_INDIA 0x00 # endif # ifndef SUBLANG_BENGALI_BANGLADESH # define SUBLANG_BENGALI_BANGLADESH 0x01 # endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 # endif # ifndef SUBLANG_ENGLISH_SOUTH_AFRICA # define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 # endif # ifndef SUBLANG_ENGLISH_JAMAICA # define SUBLANG_ENGLISH_JAMAICA 0x08 # endif # ifndef SUBLANG_ENGLISH_CARIBBEAN # define SUBLANG_ENGLISH_CARIBBEAN 0x09 # endif # ifndef SUBLANG_ENGLISH_BELIZE # define SUBLANG_ENGLISH_BELIZE 0x0a # endif # ifndef SUBLANG_ENGLISH_TRINIDAD # define SUBLANG_ENGLISH_TRINIDAD 0x0b # endif # ifndef SUBLANG_ENGLISH_ZIMBABWE # define SUBLANG_ENGLISH_ZIMBABWE 0x0c # endif # ifndef SUBLANG_ENGLISH_PHILIPPINES # define SUBLANG_ENGLISH_PHILIPPINES 0x0d # endif # ifndef SUBLANG_ENGLISH_INDONESIA # define SUBLANG_ENGLISH_INDONESIA 0x0e # endif # ifndef SUBLANG_ENGLISH_HONGKONG # define SUBLANG_ENGLISH_HONGKONG 0x0f # endif # ifndef SUBLANG_ENGLISH_INDIA # define SUBLANG_ENGLISH_INDIA 0x10 # endif # ifndef SUBLANG_ENGLISH_MALAYSIA # define SUBLANG_ENGLISH_MALAYSIA 0x11 # endif # ifndef SUBLANG_ENGLISH_SINGAPORE # define SUBLANG_ENGLISH_SINGAPORE 0x12 # endif # ifndef SUBLANG_FRENCH_LUXEMBOURG # define SUBLANG_FRENCH_LUXEMBOURG 0x05 # endif # ifndef SUBLANG_FRENCH_MONACO # define SUBLANG_FRENCH_MONACO 0x06 # endif # ifndef SUBLANG_FRENCH_WESTINDIES # define SUBLANG_FRENCH_WESTINDIES 0x07 # endif # ifndef SUBLANG_FRENCH_REUNION # define SUBLANG_FRENCH_REUNION 0x08 # endif # ifndef SUBLANG_FRENCH_CONGO # define SUBLANG_FRENCH_CONGO 0x09 # endif # ifndef SUBLANG_FRENCH_SENEGAL # define SUBLANG_FRENCH_SENEGAL 0x0a # endif # ifndef SUBLANG_FRENCH_CAMEROON # define SUBLANG_FRENCH_CAMEROON 0x0b # endif # ifndef SUBLANG_FRENCH_COTEDIVOIRE # define SUBLANG_FRENCH_COTEDIVOIRE 0x0c # endif # ifndef SUBLANG_FRENCH_MALI # define SUBLANG_FRENCH_MALI 0x0d # endif # ifndef SUBLANG_FRENCH_MOROCCO # define SUBLANG_FRENCH_MOROCCO 0x0e # endif # ifndef SUBLANG_FRENCH_HAITI # define SUBLANG_FRENCH_HAITI 0x0f # endif # ifndef SUBLANG_GERMAN_LUXEMBOURG # define SUBLANG_GERMAN_LUXEMBOURG 0x04 # endif # ifndef SUBLANG_GERMAN_LIECHTENSTEIN # define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 # endif # ifndef SUBLANG_KASHMIRI_INDIA # define SUBLANG_KASHMIRI_INDIA 0x02 # endif # ifndef SUBLANG_MALAY_MALAYSIA # define SUBLANG_MALAY_MALAYSIA 0x01 # endif # ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM # define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 # endif # ifndef SUBLANG_NEPALI_INDIA # define SUBLANG_NEPALI_INDIA 0x02 # endif # ifndef SUBLANG_PUNJABI_INDIA # define SUBLANG_PUNJABI_INDIA 0x00 # endif # ifndef SUBLANG_PUNJABI_PAKISTAN # define SUBLANG_PUNJABI_PAKISTAN 0x01 # endif # ifndef SUBLANG_ROMANIAN_ROMANIA # define SUBLANG_ROMANIAN_ROMANIA 0x00 # endif # ifndef SUBLANG_ROMANIAN_MOLDOVA # define SUBLANG_ROMANIAN_MOLDOVA 0x01 # endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 # endif # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif # ifndef SUBLANG_SINDHI_INDIA # define SUBLANG_SINDHI_INDIA 0x00 # endif # ifndef SUBLANG_SINDHI_PAKISTAN # define SUBLANG_SINDHI_PAKISTAN 0x01 # endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif # ifndef SUBLANG_SPANISH_COSTA_RICA # define SUBLANG_SPANISH_COSTA_RICA 0x05 # endif # ifndef SUBLANG_SPANISH_PANAMA # define SUBLANG_SPANISH_PANAMA 0x06 # endif # ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC # define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 # endif # ifndef SUBLANG_SPANISH_VENEZUELA # define SUBLANG_SPANISH_VENEZUELA 0x08 # endif # ifndef SUBLANG_SPANISH_COLOMBIA # define SUBLANG_SPANISH_COLOMBIA 0x09 # endif # ifndef SUBLANG_SPANISH_PERU # define SUBLANG_SPANISH_PERU 0x0a # endif # ifndef SUBLANG_SPANISH_ARGENTINA # define SUBLANG_SPANISH_ARGENTINA 0x0b # endif # ifndef SUBLANG_SPANISH_ECUADOR # define SUBLANG_SPANISH_ECUADOR 0x0c # endif # ifndef SUBLANG_SPANISH_CHILE # define SUBLANG_SPANISH_CHILE 0x0d # endif # ifndef SUBLANG_SPANISH_URUGUAY # define SUBLANG_SPANISH_URUGUAY 0x0e # endif # ifndef SUBLANG_SPANISH_PARAGUAY # define SUBLANG_SPANISH_PARAGUAY 0x0f # endif # ifndef SUBLANG_SPANISH_BOLIVIA # define SUBLANG_SPANISH_BOLIVIA 0x10 # endif # ifndef SUBLANG_SPANISH_EL_SALVADOR # define SUBLANG_SPANISH_EL_SALVADOR 0x11 # endif # ifndef SUBLANG_SPANISH_HONDURAS # define SUBLANG_SPANISH_HONDURAS 0x12 # endif # ifndef SUBLANG_SPANISH_NICARAGUA # define SUBLANG_SPANISH_NICARAGUA 0x13 # endif # ifndef SUBLANG_SPANISH_PUERTO_RICO # define SUBLANG_SPANISH_PUERTO_RICO 0x14 # endif # ifndef SUBLANG_SWEDISH_FINLAND # define SUBLANG_SWEDISH_FINLAND 0x02 # endif # ifndef SUBLANG_TAMAZIGHT_ARABIC # define SUBLANG_TAMAZIGHT_ARABIC 0x01 # endif # ifndef SUBLANG_TAMAZIGHT_LATIN # define SUBLANG_TAMAZIGHT_LATIN 0x02 # endif # ifndef SUBLANG_TIGRINYA_ETHIOPIA # define SUBLANG_TIGRINYA_ETHIOPIA 0x00 # endif # ifndef SUBLANG_TIGRINYA_ERITREA # define SUBLANG_TIGRINYA_ERITREA 0x01 # endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 # endif # ifndef SUBLANG_URDU_INDIA # define SUBLANG_URDU_INDIA 0x02 # endif # ifndef SUBLANG_UZBEK_LATIN # define SUBLANG_UZBEK_LATIN 0x01 # endif # ifndef SUBLANG_UZBEK_CYRILLIC # define SUBLANG_UZBEK_CYRILLIC 0x02 # endif #endif # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ /* Canonicalize a MacOS X locale name to a Unix locale name. NAME is a sufficiently large buffer. On input, it contains the MacOS X locale name. On output, it contains the Unix locale name. */ void _nl_locale_name_canonicalize (char *name) { /* This conversion is based on a posting by Deborah GoldSmith on 2005-03-08, http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this. Therefore we do it ourselves, using a table based on the results of the MacOS X 10.3.8 function CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ typedef struct { const char legacy[21+1]; const char unixy[5+1]; } legacy_entry; static const legacy_entry legacy_table[] = { { "Afrikaans", "af" }, { "Albanian", "sq" }, { "Amharic", "am" }, { "Arabic", "ar" }, { "Armenian", "hy" }, { "Assamese", "as" }, { "Aymara", "ay" }, { "Azerbaijani", "az" }, { "Basque", "eu" }, { "Belarusian", "be" }, { "Belorussian", "be" }, { "Bengali", "bn" }, { "Brazilian Portugese", "pt_BR" }, { "Brazilian Portuguese", "pt_BR" }, { "Breton", "br" }, { "Bulgarian", "bg" }, { "Burmese", "my" }, { "Byelorussian", "be" }, { "Catalan", "ca" }, { "Chewa", "ny" }, { "Chichewa", "ny" }, { "Chinese", "zh" }, { "Chinese, Simplified", "zh_CN" }, { "Chinese, Traditional", "zh_TW" }, { "Chinese, Tradtional", "zh_TW" }, { "Croatian", "hr" }, { "Czech", "cs" }, { "Danish", "da" }, { "Dutch", "nl" }, { "Dzongkha", "dz" }, { "English", "en" }, { "Esperanto", "eo" }, { "Estonian", "et" }, { "Faroese", "fo" }, { "Farsi", "fa" }, { "Finnish", "fi" }, { "Flemish", "nl_BE" }, { "French", "fr" }, { "Galician", "gl" }, { "Gallegan", "gl" }, { "Georgian", "ka" }, { "German", "de" }, { "Greek", "el" }, { "Greenlandic", "kl" }, { "Guarani", "gn" }, { "Gujarati", "gu" }, { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ { "Hebrew", "he" }, { "Hindi", "hi" }, { "Hungarian", "hu" }, { "Icelandic", "is" }, { "Indonesian", "id" }, { "Inuktitut", "iu" }, { "Irish", "ga" }, { "Italian", "it" }, { "Japanese", "ja" }, { "Javanese", "jv" }, { "Kalaallisut", "kl" }, { "Kannada", "kn" }, { "Kashmiri", "ks" }, { "Kazakh", "kk" }, { "Khmer", "km" }, { "Kinyarwanda", "rw" }, { "Kirghiz", "ky" }, { "Korean", "ko" }, { "Kurdish", "ku" }, { "Latin", "la" }, { "Latvian", "lv" }, { "Lithuanian", "lt" }, { "Macedonian", "mk" }, { "Malagasy", "mg" }, { "Malay", "ms" }, { "Malayalam", "ml" }, { "Maltese", "mt" }, { "Manx", "gv" }, { "Marathi", "mr" }, { "Moldavian", "mo" }, { "Mongolian", "mn" }, { "Nepali", "ne" }, { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ { "Nyanja", "ny" }, { "Nynorsk", "nn" }, { "Oriya", "or" }, { "Oromo", "om" }, { "Panjabi", "pa" }, { "Pashto", "ps" }, { "Persian", "fa" }, { "Polish", "pl" }, { "Portuguese", "pt" }, { "Portuguese, Brazilian", "pt_BR" }, { "Punjabi", "pa" }, { "Pushto", "ps" }, { "Quechua", "qu" }, { "Romanian", "ro" }, { "Ruanda", "rw" }, { "Rundi", "rn" }, { "Russian", "ru" }, { "Sami", "se_NO" }, /* Not just "se". */ { "Sanskrit", "sa" }, { "Scottish", "gd" }, { "Serbian", "sr" }, { "Simplified Chinese", "zh_CN" }, { "Sindhi", "sd" }, { "Sinhalese", "si" }, { "Slovak", "sk" }, { "Slovenian", "sl" }, { "Somali", "so" }, { "Spanish", "es" }, { "Sundanese", "su" }, { "Swahili", "sw" }, { "Swedish", "sv" }, { "Tagalog", "tl" }, { "Tajik", "tg" }, { "Tajiki", "tg" }, { "Tamil", "ta" }, { "Tatar", "tt" }, { "Telugu", "te" }, { "Thai", "th" }, { "Tibetan", "bo" }, { "Tigrinya", "ti" }, { "Tongan", "to" }, { "Traditional Chinese", "zh_TW" }, { "Turkish", "tr" }, { "Turkmen", "tk" }, { "Uighur", "ug" }, { "Ukrainian", "uk" }, { "Urdu", "ur" }, { "Uzbek", "uz" }, { "Vietnamese", "vi" }, { "Welsh", "cy" }, { "Yiddish", "yi" } }; /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) to Unix (ISO 639 and ISO 3166) names. */ typedef struct { const char langtag[7+1]; const char unixy[12+1]; } langtag_entry; static const langtag_entry langtag_table[] = { /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". The default script for az on Unix is Latin. */ { "az-Latn", "az" }, /* MacOS X has "ga-dots". Does not yet exist on Unix. */ { "ga-dots", "ga" }, /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "mn-Cyrl", "mn-Mong". The default script for mn on Unix is Cyrillic. */ { "mn-Cyrl", "mn" }, /* MacOS X has "ms-Arab", "ms-Latn". The default script for ms on Unix is Latin. */ { "ms-Latn", "ms" }, /* MacOS X has "tg-Cyrl". The default script for tg on Unix is Cyrillic. */ { "tg-Cyrl", "tg" }, /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "tt-Cyrl". The default script for tt on Unix is Cyrillic. */ { "tt-Cyrl", "tt" }, /* MacOS X has "zh-Hans", "zh-Hant". Country codes are used to distinguish these on Unix. */ { "zh-Hans", "zh_CN" }, { "zh-Hant", "zh_TW" } }; /* Convert script names (ISO 15924) to Unix conventions. See http://www.unicode.org/iso15924/iso15924-codes.html */ typedef struct { const char script[4+1]; const char unixy[9+1]; } script_entry; static const script_entry script_table[] = { { "Arab", "arabic" }, { "Cyrl", "cyrillic" }, { "Mong", "mongolian" } }; /* Step 1: Convert using legacy_table. */ if (name[0] >= 'A' && name[0] <= 'Z') { unsigned int i1, i2; i1 = 0; i2 = sizeof (legacy_table) / sizeof (legacy_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in legacy_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const legacy_entry *p = &legacy_table[i]; if (strcmp (name, p->legacy) < 0) i2 = i; else i1 = i; } if (strcmp (name, legacy_table[i1].legacy) == 0) { strcpy (name, legacy_table[i1].unixy); return; } } /* Step 2: Convert using langtag_table and script_table. */ if (strlen (name) == 7 && name[2] == '-') { unsigned int i1, i2; i1 = 0; i2 = sizeof (langtag_table) / sizeof (langtag_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in langtag_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const langtag_entry *p = &langtag_table[i]; if (strcmp (name, p->langtag) < 0) i2 = i; else i1 = i; } if (strcmp (name, langtag_table[i1].langtag) == 0) { strcpy (name, langtag_table[i1].unixy); return; } i1 = 0; i2 = sizeof (script_table) / sizeof (script_entry); while (i2 - i1 > 1) { /* At this point we know that if (name + 3) occurs in script_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const script_entry *p = &script_table[i]; if (strcmp (name + 3, p->script) < 0) i2 = i; else i1 = i; } if (strcmp (name + 3, script_table[i1].script) == 0) { name[2] = '@'; strcpy (name + 3, script_table[i1].unixy); return; } } /* Step 3: Convert new-style dash to Unix underscore. */ { char *p; for (p = name; *p != '\0'; p++) if (*p == '-') *p = '_'; } } #endif /* XPG3 defines the result of 'setlocale (category, NULL)' as: "Directs 'setlocale()' to query 'category' and return the current setting of 'local'." However it does not specify the exact format. Neither do SUSV2 and ISO C 99. So we can use this feature only on selected systems (e.g. those using GNU C Library). */ #if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2) # define HAVE_LOCALE_NULL #endif /* Determine the current locale's name, and canonicalize it into XPG syntax language[_territory][.codeset][@modifier] The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ const char * _nl_locale_name_posix (int category, const char *categoryname) { /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL return setlocale (category, NULL); #else const char *retval; /* Setting of LC_ALL overrides all other. */ retval = getenv ("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; /* Next comes the name of the desired category. */ retval = getenv (categoryname); if (retval != NULL && retval[0] != '\0') return retval; /* Last possibility is the LANG environment variable. */ retval = getenv ("LANG"); if (retval != NULL && retval[0] != '\0') return retval; return NULL; #endif } const char * _nl_locale_name_default (void) { /* POSIX:2001 says: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty string. This default locale can be the POSIX locale or any other implementation-defined locale. Some implementations may provide facilities for local installation administrators to set the default locale, customizing it for each location. POSIX:2001 does not require such a facility. */ #if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE)) /* The system does not have a way of setting the locale, other than the POSIX specified environment variables. We use C as default locale. */ return "C"; #else /* Return an XPG style locale name language[_territory][@modifier]. Don't even bother determining the codeset; it's not useful in this context, because message catalogs are not specific to a single codeset. */ # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the locale name, since CoreFoundation calls are expensive. */ static const char *cached_localename; if (cached_localename == NULL) { char namebuf[256]; # if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ CFLocaleRef locale = CFLocaleCopyCurrent (); CFStringRef name = CFLocaleGetIdentifier (locale); if (CFStringGetCString (name, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } CFRelease (locale); # elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ CFTypeRef value = CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), kCFPreferencesCurrentApplication); if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } # endif if (cached_localename == NULL) cached_localename = "C"; } return cached_localename; } # endif # if defined(WIN32_NATIVE) /* WIN32, not Cygwin */ { LCID lcid; LANGID langid; int primary, sub; /* Use native Win32 API locale ID. */ lcid = GetThreadLocale (); /* Strip off the sorting rules, keep only the language part. */ langid = LANGIDFROMLCID (lcid); /* Split into language and territory part. */ primary = PRIMARYLANGID (langid); sub = SUBLANGID (langid); /* Dispatch on language. See also http://www.unicode.org/unicode/onlinedat/languages.html . For details about languages, see http://www.ethnologue.com/ . */ switch (primary) { case LANG_AFRIKAANS: return "af_ZA"; case LANG_ALBANIAN: return "sq_AL"; case LANG_AMHARIC: return "am_ET"; case LANG_ARABIC: switch (sub) { case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; case SUBLANG_ARABIC_EGYPT: return "ar_EG"; case SUBLANG_ARABIC_LIBYA: return "ar_LY"; case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; case SUBLANG_ARABIC_OMAN: return "ar_OM"; case SUBLANG_ARABIC_YEMEN: return "ar_YE"; case SUBLANG_ARABIC_SYRIA: return "ar_SY"; case SUBLANG_ARABIC_JORDAN: return "ar_JO"; case SUBLANG_ARABIC_LEBANON: return "ar_LB"; case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; case SUBLANG_ARABIC_UAE: return "ar_AE"; case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; case SUBLANG_ARABIC_QATAR: return "ar_QA"; } return "ar"; case LANG_ARMENIAN: return "hy_AM"; case LANG_ASSAMESE: return "as_IN"; case LANG_AZERI: switch (sub) { /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; } return "az"; case LANG_BASQUE: switch (sub) { case SUBLANG_DEFAULT: return "eu_ES"; } return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ case LANG_BELARUSIAN: return "be_BY"; case LANG_BENGALI: switch (sub) { case SUBLANG_BENGALI_INDIA: return "bn_IN"; case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; } return "bn"; case LANG_BULGARIAN: return "bg_BG"; case LANG_BURMESE: return "my_MM"; case LANG_CAMBODIAN: return "km_KH"; case LANG_CATALAN: return "ca_ES"; case LANG_CHEROKEE: return "chr_US"; case LANG_CHINESE: switch (sub) { case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; case SUBLANG_CHINESE_MACAU: return "zh_MO"; } return "zh"; case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. * (Says tml, who knows nothing about Serbian * or Croatian.) * (I can feel those flames coming already.) */ switch (sub) { case SUBLANG_DEFAULT: return "hr_HR"; case SUBLANG_SERBIAN_LATIN: return "sr_CS"; case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; } return "hr"; case LANG_CZECH: return "cs_CZ"; case LANG_DANISH: return "da_DK"; case LANG_DIVEHI: return "dv_MV"; case LANG_DUTCH: switch (sub) { case SUBLANG_DUTCH: return "nl_NL"; case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; } return "nl"; case LANG_EDO: return "bin_NG"; case LANG_ENGLISH: switch (sub) { /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought * English was the language spoken in England. * Oh well. */ case SUBLANG_ENGLISH_US: return "en_US"; case SUBLANG_ENGLISH_UK: return "en_GB"; case SUBLANG_ENGLISH_AUS: return "en_AU"; case SUBLANG_ENGLISH_CAN: return "en_CA"; case SUBLANG_ENGLISH_NZ: return "en_NZ"; case SUBLANG_ENGLISH_EIRE: return "en_IE"; case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; case SUBLANG_ENGLISH_INDIA: return "en_IN"; case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; } return "en"; case LANG_ESTONIAN: return "et_EE"; case LANG_FAEROESE: return "fo_FO"; case LANG_FARSI: return "fa_IR"; case LANG_FINNISH: return "fi_FI"; case LANG_FRENCH: switch (sub) { case SUBLANG_FRENCH: return "fr_FR"; case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; case SUBLANG_FRENCH_SWISS: return "fr_CH"; case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; case SUBLANG_FRENCH_MONACO: return "fr_MC"; case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ case SUBLANG_FRENCH_REUNION: return "fr_RE"; case SUBLANG_FRENCH_CONGO: return "fr_CG"; case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; case SUBLANG_FRENCH_MALI: return "fr_ML"; case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; case SUBLANG_FRENCH_HAITI: return "fr_HT"; } return "fr"; case LANG_FRISIAN: return "fy_NL"; case LANG_FULFULDE: /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ return "ff_NG"; case LANG_GAELIC: switch (sub) { case 0x01: /* SCOTTISH */ return "gd_GB"; case 0x02: /* IRISH */ return "ga_IE"; } return "C"; case LANG_GALICIAN: return "gl_ES"; case LANG_GEORGIAN: return "ka_GE"; case LANG_GERMAN: switch (sub) { case SUBLANG_GERMAN: return "de_DE"; case SUBLANG_GERMAN_SWISS: return "de_CH"; case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; } return "de"; case LANG_GREEK: return "el_GR"; case LANG_GUARANI: return "gn_PY"; case LANG_GUJARATI: return "gu_IN"; case LANG_HAUSA: return "ha_NG"; case LANG_HAWAIIAN: /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) or Hawaii Creole English ("cpe_US", 600000 speakers)? */ return "cpe_US"; case LANG_HEBREW: return "he_IL"; case LANG_HINDI: return "hi_IN"; case LANG_HUNGARIAN: return "hu_HU"; case LANG_IBIBIO: return "nic_NG"; case LANG_ICELANDIC: return "is_IS"; case LANG_IGBO: return "ig_NG"; case LANG_INDONESIAN: return "id_ID"; case LANG_INUKTITUT: return "iu_CA"; case LANG_ITALIAN: switch (sub) { case SUBLANG_ITALIAN: return "it_IT"; case SUBLANG_ITALIAN_SWISS: return "it_CH"; } return "it"; case LANG_JAPANESE: return "ja_JP"; case LANG_KANNADA: return "kn_IN"; case LANG_KANURI: return "kr_NG"; case LANG_KASHMIRI: switch (sub) { case SUBLANG_DEFAULT: return "ks_PK"; case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; } return "ks"; case LANG_KAZAK: return "kk_KZ"; case LANG_KONKANI: /* FIXME: Adjust this when such locales appear on Unix. */ return "kok_IN"; case LANG_KOREAN: return "ko_KR"; case LANG_KYRGYZ: return "ky_KG"; case LANG_LAO: return "lo_LA"; case LANG_LATIN: return "la_VA"; case LANG_LATVIAN: return "lv_LV"; case LANG_LITHUANIAN: return "lt_LT"; case LANG_MACEDONIAN: return "mk_MK"; case LANG_MALAY: switch (sub) { case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; } return "ms"; case LANG_MALAYALAM: return "ml_IN"; case LANG_MALTESE: return "mt_MT"; case LANG_MANIPURI: /* FIXME: Adjust this when such locales appear on Unix. */ return "mni_IN"; case LANG_MARATHI: return "mr_IN"; case LANG_MONGOLIAN: switch (sub) { case SUBLANG_DEFAULT: return "mn_MN"; } return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ case LANG_NEPALI: switch (sub) { case SUBLANG_DEFAULT: return "ne_NP"; case SUBLANG_NEPALI_INDIA: return "ne_IN"; } return "ne"; case LANG_NORWEGIAN: switch (sub) { case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; } return "no"; case LANG_ORIYA: return "or_IN"; case LANG_OROMO: return "om_ET"; case LANG_PAPIAMENTU: return "pap_AN"; case LANG_PASHTO: return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ case LANG_POLISH: return "pl_PL"; case LANG_PORTUGUESE: switch (sub) { case SUBLANG_PORTUGUESE: return "pt_PT"; /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; } return "pt"; case LANG_PUNJABI: switch (sub) { case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ } return "pa"; case LANG_RHAETO_ROMANCE: return "rm_CH"; case LANG_ROMANIAN: switch (sub) { case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; } return "ro"; case LANG_RUSSIAN: switch (sub) { case SUBLANG_DEFAULT: return "ru_RU"; } return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; case LANG_SANSKRIT: return "sa_IN"; case LANG_SINDHI: switch (sub) { case SUBLANG_SINDHI_INDIA: return "sd_IN"; case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; } return "sd"; case LANG_SINHALESE: return "si_LK"; case LANG_SLOVAK: return "sk_SK"; case LANG_SLOVENIAN: return "sl_SI"; case LANG_SOMALI: return "so_SO"; case LANG_SORBIAN: /* FIXME: Adjust this when such locales appear on Unix. */ return "wen_DE"; case LANG_SPANISH: switch (sub) { case SUBLANG_SPANISH: return "es_ES"; case SUBLANG_SPANISH_MEXICAN: return "es_MX"; case SUBLANG_SPANISH_MODERN: return "es_ES@modern"; /* not seen on Unix */ case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; case SUBLANG_SPANISH_PANAMA: return "es_PA"; case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; case SUBLANG_SPANISH_PERU: return "es_PE"; case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; case SUBLANG_SPANISH_ECUADOR: return "es_EC"; case SUBLANG_SPANISH_CHILE: return "es_CL"; case SUBLANG_SPANISH_URUGUAY: return "es_UY"; case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; case SUBLANG_SPANISH_HONDURAS: return "es_HN"; case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; } return "es"; case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ case LANG_SWAHILI: return "sw_KE"; case LANG_SWEDISH: switch (sub) { case SUBLANG_DEFAULT: return "sv_SE"; case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; } return "sv"; case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ case LANG_TAGALOG: return "tl_PH"; case LANG_TAJIK: return "tg_TJ"; case LANG_TAMAZIGHT: switch (sub) { /* FIXME: Adjust this when Tamazight locales appear on Unix. */ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin"; } return "ber_MA"; case LANG_TAMIL: switch (sub) { case SUBLANG_DEFAULT: return "ta_IN"; } return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ case LANG_TATAR: return "tt_RU"; case LANG_TELUGU: return "te_IN"; case LANG_THAI: return "th_TH"; case LANG_TIBETAN: return "bo_CN"; case LANG_TIGRINYA: switch (sub) { case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; } return "ti"; case LANG_TSONGA: return "ts_ZA"; case LANG_TSWANA: return "tn_BW"; case LANG_TURKISH: return "tr_TR"; case LANG_TURKMEN: return "tk_TM"; case LANG_UKRAINIAN: return "uk_UA"; case LANG_URDU: switch (sub) { case SUBLANG_URDU_PAKISTAN: return "ur_PK"; case SUBLANG_URDU_INDIA: return "ur_IN"; } return "ur"; case LANG_UZBEK: switch (sub) { case SUBLANG_UZBEK_LATIN: return "uz_UZ"; case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; } return "uz"; case LANG_VENDA: return "ve_ZA"; case LANG_VIETNAMESE: return "vi_VN"; case LANG_WELSH: return "cy_GB"; case LANG_XHOSA: return "xh_ZA"; case LANG_YI: return "sit_CN"; case LANG_YIDDISH: return "yi_IL"; case LANG_YORUBA: return "yo_NG"; case LANG_ZULU: return "zu_ZA"; default: return "C"; } } # endif #endif } const char * _nl_locale_name (int category, const char *categoryname) { const char *retval; retval = _nl_locale_name_posix (category, categoryname); if (retval != NULL) return retval; return _nl_locale_name_default (); } xfe-1.42/intl/bindtextdom.c0000644000175100017510000002611012202431550012572 00000000000000/* Implementation of the bindtextdomain(3) function Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_dirname libintl_nl_default_dirname # define _nl_domain_bindings libintl_nl_domain_bindings #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ /* Contains the default location of the message catalogs. */ extern const char _nl_default_dirname[]; #ifdef _LIBC libc_hidden_proto (_nl_default_dirname) #endif /* List with bindings of specific domains. */ extern struct binding *_nl_domain_bindings; /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define BINDTEXTDOMAIN __bindtextdomain # define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define BINDTEXTDOMAIN libintl_bindtextdomain # define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset #endif /* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP to be used for the DOMAINNAME message catalog. If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not modified, only the current value is returned. If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void set_binding_values (const char *domainname, const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; /* Some sanity checks. */ if (domainname == NULL || domainname[0] == '\0') { if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; return; } gl_rwlock_wrlock (_nl_state_lock); modified = 0; for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding != NULL) { if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The current binding has be to returned. */ *dirnamep = binding->dirname; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->dirname; if (strcmp (dirname, result) != 0) { if (strcmp (dirname, _nl_default_dirname) == 0) result = (char *) _nl_default_dirname; else { #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, dirname, len); #endif } if (__builtin_expect (result != NULL, 1)) { if (binding->dirname != _nl_default_dirname) free (binding->dirname); binding->dirname = result; modified = 1; } } *dirnamep = result; } } if (codesetp) { const char *codeset = *codesetp; if (codeset == NULL) /* The current binding has be to returned. */ *codesetp = binding->codeset; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->codeset; if (result == NULL || strcmp (codeset, result) != 0) { #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, codeset, len); #endif if (__builtin_expect (result != NULL, 1)) { if (binding->codeset != NULL) free (binding->codeset); binding->codeset = result; modified = 1; } } *codesetp = result; } } } else if ((dirnamep == NULL || *dirnamep == NULL) && (codesetp == NULL || *codesetp == NULL)) { /* Simply return the default values. */ if (dirnamep) *dirnamep = _nl_default_dirname; if (codesetp) *codesetp = NULL; } else { /* We have to create a new binding. */ size_t len = strlen (domainname) + 1; struct binding *new_binding = (struct binding *) malloc (offsetof (struct binding, domainname) + len); if (__builtin_expect (new_binding == NULL, 0)) goto failed; memcpy (new_binding->domainname, domainname, len); if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The default value. */ dirname = _nl_default_dirname; else { if (strcmp (dirname, _nl_default_dirname) == 0) dirname = _nl_default_dirname; else { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; memcpy (result, dirname, len); #endif dirname = result; } } *dirnamep = dirname; new_binding->dirname = (char *) dirname; } else /* The default value. */ new_binding->dirname = (char *) _nl_default_dirname; if (codesetp) { const char *codeset = *codesetp; if (codeset != NULL) { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; memcpy (result, codeset, len); #endif codeset = result; } *codesetp = codeset; new_binding->codeset = (char *) codeset; } else new_binding->codeset = NULL; /* Now enqueue it. */ if (_nl_domain_bindings == NULL || strcmp (domainname, _nl_domain_bindings->domainname) < 0) { new_binding->next = _nl_domain_bindings; _nl_domain_bindings = new_binding; } else { binding = _nl_domain_bindings; while (binding->next != NULL && strcmp (domainname, binding->next->domainname) > 0) binding = binding->next; new_binding->next = binding->next; binding->next = new_binding; } modified = 1; /* Here we deal with memory allocation failures. */ if (0) { failed_codeset: if (new_binding->dirname != _nl_default_dirname) free (new_binding->dirname); failed_dirname: free (new_binding); failed: if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; } } /* If we modified any binding, we flush the caches. */ if (modified) ++_nl_msg_cat_cntr; gl_rwlock_unlock (_nl_state_lock); } /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ char * BINDTEXTDOMAIN (const char *domainname, const char *dirname) { set_binding_values (domainname, &dirname, NULL); return (char *) dirname; } /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) { set_binding_values (domainname, NULL, &codeset); return (char *) codeset; } #ifdef _LIBC /* Aliases for function names in GNU C Library. */ weak_alias (__bindtextdomain, bindtextdomain); weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); #endif xfe-1.42/intl/plural.y0000644000175100017510000001646111444154372011621 00000000000000%{ /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg %} %pure_parser %expect 7 %union { unsigned long int num; enum operator op; struct expression *exp; } %{ /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } %} /* This declares that all operators have the same associativity and the precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. There is no unary minus and no bitwise operators. Operators with the same syntactic behaviour have been merged into a single token, to save space in the array generated by bison. */ %right '?' /* ? */ %left '|' /* || */ %left '&' /* && */ %left EQUOP2 /* == != */ %left CMPOP2 /* < > <= >= */ %left ADDOP2 /* + - */ %left MULOP2 /* * / % */ %right '!' /* ! */ %token EQUOP2 CMPOP2 ADDOP2 MULOP2 %token NUMBER %type exp %% start: exp { if ($1 == NULL) YYABORT; ((struct parse_args *) arg)->res = $1; } ; exp: exp '?' exp ':' exp { $$ = new_exp_3 (qmop, $1, $3, $5); } | exp '|' exp { $$ = new_exp_2 (lor, $1, $3); } | exp '&' exp { $$ = new_exp_2 (land, $1, $3); } | exp EQUOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp CMPOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp ADDOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp MULOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | '!' exp { $$ = new_exp_1 (lnot, $2); } | 'n' { $$ = new_exp_0 (var); } | NUMBER { if (($$ = new_exp_0 (num)) != NULL) $$->val.num = $1; } | '(' exp ')' { $$ = $2; } ; %% void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } xfe-1.42/intl/libgnuintl.h.in0000644000175100017510000003412711444154372013054 00000000000000/* Message catalogs for internationalization. Copyright (C) 1995-1997, 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LIBINTL_H #define _LIBINTL_H 1 #include /* The LC_MESSAGES locale category is the category used by the functions gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. On systems that don't define it, use an arbitrary value instead. On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) then includes (i.e. this file!) and then only defines LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES in this case. */ #if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) # define LC_MESSAGES 1729 #endif /* We define an additional symbol to signal that we use the GNU implementation of gettext. */ #define __USE_GNU_GETTEXT 1 /* Provide information about the supported file formats. Returns the maximum minor revision number supported for a given major revision. */ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ((major) == 0 || (major) == 1 ? 1 : -1) /* Resolve a platform specific conflict on DJGPP. GNU gettext takes precedence over _conio_gettext. */ #ifdef __DJGPP__ # undef gettext #endif #ifdef __cplusplus extern "C" { #endif /* Version number: (major<<16) + (minor<<8) + subminor */ #define LIBINTL_VERSION 0x001000 extern int libintl_version; /* We redirect the functions to those prefixed with "libintl_". This is necessary, because some systems define gettext/textdomain/... in the C library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). If we used the unprefixed names, there would be cases where the definition in the C library would override the one in the libintl.so shared library. Recall that on ELF systems, the symbols are looked up in the following order: 1. in the executable, 2. in the shared libraries specified on the link command line, in order, 3. in the dependencies of the shared libraries specified on the link command line, 4. in the dlopen()ed shared libraries, in the order in which they were dlopen()ed. The definition in the C library would override the one in libintl.so if either * -lc is given on the link command line and -lintl isn't, or * -lc is given on the link command line before -lintl, or * libintl.so is a dependency of a dlopen()ed shared library but not linked to the executable at link time. Since Solaris gettext() behaves differently than GNU gettext(), this would be unacceptable. The redirection happens by default through macros in C, so that &gettext is independent of the compilation unit, but through inline functions in C++, in order not to interfere with the name mangling of class fields or class methods called 'gettext'. */ /* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. If he doesn't, we choose the method. A third possible method is _INTL_REDIRECT_ASM, supported only by GCC. */ #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) # if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) # define _INTL_REDIRECT_ASM # else # ifdef __cplusplus # define _INTL_REDIRECT_INLINE # else # define _INTL_REDIRECT_MACROS # endif # endif #endif /* Auxiliary macros. */ #ifdef _INTL_REDIRECT_ASM # define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring # define _INTL_STRINGIFY(prefix) #prefix #else # define _INTL_ASM(cname) #endif /* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return its n-th argument literally. This enables GCC to warn for example about printf (gettext ("foo %y")). */ #if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus) # define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) #else # define _INTL_MAY_RETURN_STRING_ARG(n) #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_gettext (const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (1); static inline char *gettext (const char *__msgid) { return libintl_gettext (__msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define gettext libintl_gettext #endif extern char *gettext (const char *__msgid) _INTL_ASM (libintl_gettext) _INTL_MAY_RETURN_STRING_ARG (1); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current LC_MESSAGES locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dgettext (const char *__domainname, const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dgettext (const char *__domainname, const char *__msgid) { return libintl_dgettext (__domainname, __msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define dgettext libintl_dgettext #endif extern char *dgettext (const char *__domainname, const char *__msgid) _INTL_ASM (libintl_dgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dcgettext (const char *__domainname, const char *__msgid, int __category) { return libintl_dcgettext (__domainname, __msgid, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcgettext libintl_dcgettext #endif extern char *dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_ASM (libintl_dcgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `gettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_ngettext (__msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define ngettext libintl_ngettext #endif extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_ngettext) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `dgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define dngettext libintl_dngettext #endif extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_dngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif /* Similar to `dcgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) { return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcngettext libintl_dcngettext #endif extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_ASM (libintl_dcngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif #ifndef IN_LIBGLOCALE /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_textdomain (const char *__domainname); static inline char *textdomain (const char *__domainname) { return libintl_textdomain (__domainname); } #else #ifdef _INTL_REDIRECT_MACROS # define textdomain libintl_textdomain #endif extern char *textdomain (const char *__domainname) _INTL_ASM (libintl_textdomain); #endif /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bindtextdomain (const char *__domainname, const char *__dirname); static inline char *bindtextdomain (const char *__domainname, const char *__dirname) { return libintl_bindtextdomain (__domainname, __dirname); } #else #ifdef _INTL_REDIRECT_MACROS # define bindtextdomain libintl_bindtextdomain #endif extern char *bindtextdomain (const char *__domainname, const char *__dirname) _INTL_ASM (libintl_bindtextdomain); #endif /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bind_textdomain_codeset (const char *__domainname, const char *__codeset); static inline char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) { return libintl_bind_textdomain_codeset (__domainname, __codeset); } #else #ifdef _INTL_REDIRECT_MACROS # define bind_textdomain_codeset libintl_bind_textdomain_codeset #endif extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) _INTL_ASM (libintl_bind_textdomain_codeset); #endif #endif /* IN_LIBGLOCALE */ /* Support for format strings with positions in *printf(), following the POSIX/XSI specification. Note: These replacements for the *printf() functions are visible only in source files that #include or #include "gettext.h". Packages that use *printf() in source files that don't refer to _() or gettext() but for which the format string could be the return value of _() or gettext() need to add this #include. Oh well. */ #if !@HAVE_POSIX_PRINTF@ #include #include /* Get va_list. */ #if __STDC__ || defined __cplusplus || defined _MSC_VER # include #else # include #endif #undef fprintf #define fprintf libintl_fprintf extern int fprintf (FILE *, const char *, ...); #undef vfprintf #define vfprintf libintl_vfprintf extern int vfprintf (FILE *, const char *, va_list); #undef printf #if defined __NetBSD__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif #define printf libintl_printf extern int printf (const char *, ...); #undef vprintf #define vprintf libintl_vprintf extern int vprintf (const char *, va_list); #undef sprintf #define sprintf libintl_sprintf extern int sprintf (char *, const char *, ...); #undef vsprintf #define vsprintf libintl_vsprintf extern int vsprintf (char *, const char *, va_list); #if @HAVE_SNPRINTF@ #undef snprintf #define snprintf libintl_snprintf extern int snprintf (char *, size_t, const char *, ...); #undef vsnprintf #define vsnprintf libintl_vsnprintf extern int vsnprintf (char *, size_t, const char *, va_list); #endif #if @HAVE_ASPRINTF@ #undef asprintf #define asprintf libintl_asprintf extern int asprintf (char **, const char *, ...); #undef vasprintf #define vasprintf libintl_vasprintf extern int vasprintf (char **, const char *, va_list); #endif #if @HAVE_WPRINTF@ #undef fwprintf #define fwprintf libintl_fwprintf extern int fwprintf (FILE *, const wchar_t *, ...); #undef vfwprintf #define vfwprintf libintl_vfwprintf extern int vfwprintf (FILE *, const wchar_t *, va_list); #undef wprintf #define wprintf libintl_wprintf extern int wprintf (const wchar_t *, ...); #undef vwprintf #define vwprintf libintl_vwprintf extern int vwprintf (const wchar_t *, va_list); #undef swprintf #define swprintf libintl_swprintf extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); #undef vswprintf #define vswprintf libintl_vswprintf extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); #endif #endif /* Support for relocatable packages. */ /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ #define libintl_set_relocation_prefix libintl_set_relocation_prefix extern void libintl_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); #ifdef __cplusplus } #endif #endif /* libintl.h */ xfe-1.42/intl/printf-parse.c0000644000175100017510000004521312202431550012670 00000000000000/* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include /* Specification. */ #if WIDE_CHAR_VERSION # include "wprintf-parse.h" #else # include "printf-parse.h" #endif /* Get size_t, NULL. */ #include /* Get intmax_t. */ #if HAVE_STDINT_H_WITH_UINTMAX # include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX # include #endif /* malloc(), realloc(), free(). */ #include /* Checked size_t computations. */ #include "xsize.h" #if WIDE_CHAR_VERSION # define PRINTF_PARSE wprintf_parse # define CHAR_T wchar_t # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives #else # define PRINTF_PARSE printf_parse # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives #endif #ifdef STATIC STATIC #endif int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ size_t a_allocated; /* allocated elements of a->arg */ size_t max_width_length = 0; size_t max_precision_length = 0; d->count = 0; d_allocated = 1; d->dir = malloc (d_allocated * sizeof (DIRECTIVE)); if (d->dir == NULL) /* Out of memory. */ return -1; a->count = 0; a_allocated = 0; a->arg = NULL; #define REGISTER_ARG(_index_,_type_) \ { \ size_t n = (_index_); \ if (n >= a_allocated) \ { \ size_t memory_size; \ argument *memory; \ \ a_allocated = xtimes (a_allocated, 2); \ if (a_allocated <= n) \ a_allocated = xsum (n, 1); \ memory_size = xtimes (a_allocated, sizeof (argument)); \ if (size_overflow_p (memory_size)) \ /* Overflow, would lead to out of memory. */ \ goto error; \ memory = (a->arg \ ? realloc (a->arg, memory_size) \ : malloc (memory_size)); \ if (memory == NULL) \ /* Out of memory. */ \ goto error; \ a->arg = memory; \ } \ while (a->count <= n) \ a->arg[a->count++].type = TYPE_NONE; \ if (a->arg[n].type == TYPE_NONE) \ a->arg[n].type = (_type_); \ else if (a->arg[n].type != (_type_)) \ /* Ambiguous type for positional argument. */ \ goto error; \ } while (*cp != '\0') { CHAR_T c = *cp++; if (c == '%') { size_t arg_index = ARG_NONE; DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */ /* Initialize the next directive. */ dp->dir_start = cp - 1; dp->flags = 0; dp->width_start = NULL; dp->width_end = NULL; dp->width_arg_index = ARG_NONE; dp->precision_start = NULL; dp->precision_end = NULL; dp->precision_arg_index = ARG_NONE; dp->arg_index = ARG_NONE; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; arg_index = n - 1; cp = np + 1; } } /* Read the flags. */ for (;;) { if (*cp == '\'') { dp->flags |= FLAG_GROUP; cp++; } else if (*cp == '-') { dp->flags |= FLAG_LEFT; cp++; } else if (*cp == '+') { dp->flags |= FLAG_SHOWSIGN; cp++; } else if (*cp == ' ') { dp->flags |= FLAG_SPACE; cp++; } else if (*cp == '#') { dp->flags |= FLAG_ALT; cp++; } else if (*cp == '0') { dp->flags |= FLAG_ZERO; cp++; } else break; } /* Parse the field width. */ if (*cp == '*') { dp->width_start = cp; cp++; dp->width_end = cp; if (max_width_length < 1) max_width_length = 1; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->width_arg_index = n - 1; cp = np + 1; } } if (dp->width_arg_index == ARG_NONE) { dp->width_arg_index = arg_posn++; if (dp->width_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->width_arg_index, TYPE_INT); } else if (*cp >= '0' && *cp <= '9') { size_t width_length; dp->width_start = cp; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->width_end = cp; width_length = dp->width_end - dp->width_start; if (max_width_length < width_length) max_width_length = width_length; } /* Parse the precision. */ if (*cp == '.') { cp++; if (*cp == '*') { dp->precision_start = cp - 1; cp++; dp->precision_end = cp; if (max_precision_length < 2) max_precision_length = 2; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->precision_arg_index = n - 1; cp = np + 1; } } if (dp->precision_arg_index == ARG_NONE) { dp->precision_arg_index = arg_posn++; if (dp->precision_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->precision_arg_index, TYPE_INT); } else { size_t precision_length; dp->precision_start = cp - 1; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->precision_end = cp; precision_length = dp->precision_end - dp->precision_start; if (max_precision_length < precision_length) max_precision_length = precision_length; } } { arg_type type; /* Parse argument type/size specifiers. */ { int flags = 0; for (;;) { if (*cp == 'h') { flags |= (1 << (flags & 1)); cp++; } else if (*cp == 'L') { flags |= 4; cp++; } else if (*cp == 'l') { flags += 8; cp++; } #ifdef HAVE_INTMAX_T else if (*cp == 'j') { if (sizeof (intmax_t) > sizeof (long)) { /* intmax_t = long long */ flags += 16; } else if (sizeof (intmax_t) > sizeof (int)) { /* intmax_t = long */ flags += 8; } cp++; } #endif else if (*cp == 'z' || *cp == 'Z') { /* 'z' is standardized in ISO C 99, but glibc uses 'Z' because the warning facility in gcc-2.95.2 understands only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ if (sizeof (size_t) > sizeof (long)) { /* size_t = long long */ flags += 16; } else if (sizeof (size_t) > sizeof (int)) { /* size_t = long */ flags += 8; } cp++; } else if (*cp == 't') { if (sizeof (ptrdiff_t) > sizeof (long)) { /* ptrdiff_t = long long */ flags += 16; } else if (sizeof (ptrdiff_t) > sizeof (int)) { /* ptrdiff_t = long */ flags += 8; } cp++; } else break; } /* Read the conversion character. */ c = *cp++; switch (c) { case 'd': case 'i': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif /* If 'long long' exists and is the same as 'long', we parse "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) type = TYPE_SCHAR; else if (flags & 1) type = TYPE_SHORT; else type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif /* If 'unsigned long long' exists and is the same as 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) type = TYPE_UCHAR; else if (flags & 1) type = TYPE_USHORT; else type = TYPE_UINT; break; case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': #ifdef HAVE_LONG_DOUBLE if (flags >= 16 || (flags & 4)) type = TYPE_LONGDOUBLE; else #endif type = TYPE_DOUBLE; break; case 'c': if (flags >= 8) #ifdef HAVE_WINT_T type = TYPE_WIDE_CHAR; #else goto error; #endif else type = TYPE_CHAR; break; #ifdef HAVE_WINT_T case 'C': type = TYPE_WIDE_CHAR; c = 'c'; break; #endif case 's': if (flags >= 8) #ifdef HAVE_WCHAR_T type = TYPE_WIDE_STRING; #else goto error; #endif else type = TYPE_STRING; break; #ifdef HAVE_WCHAR_T case 'S': type = TYPE_WIDE_STRING; c = 's'; break; #endif case 'p': type = TYPE_POINTER; break; case 'n': #ifdef HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif /* If 'long long' exists and is the same as 'long', we parse "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) type = TYPE_COUNT_SCHAR_POINTER; else if (flags & 1) type = TYPE_COUNT_SHORT_POINTER; else type = TYPE_COUNT_INT_POINTER; break; case '%': type = TYPE_NONE; break; default: /* Unknown conversion character. */ goto error; } } if (type != TYPE_NONE) { dp->arg_index = arg_index; if (dp->arg_index == ARG_NONE) { dp->arg_index = arg_posn++; if (dp->arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->arg_index, type); } dp->conversion = c; dp->dir_end = cp; } d->count++; if (d->count >= d_allocated) { size_t memory_size; DIRECTIVE *memory; d_allocated = xtimes (d_allocated, 2); memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); if (size_overflow_p (memory_size)) /* Overflow, would lead to out of memory. */ goto error; memory = realloc (d->dir, memory_size); if (memory == NULL) /* Out of memory. */ goto error; d->dir = memory; } } } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; d->max_precision_length = max_precision_length; return 0; error: if (a->arg) free (a->arg); if (d->dir) free (d->dir); return -1; } #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T #undef PRINTF_PARSE xfe-1.42/intl/ngettext.c0000644000175100017510000000367612202431550012127 00000000000000/* Implementation of ngettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif #include /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define NGETTEXT __ngettext # define DCNGETTEXT __dcngettext #else # define NGETTEXT libintl_ngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__ngettext, ngettext); #endif xfe-1.42/intl/loadmsgcat.c0000644000175100017510000012550712202431550012401 00000000000000/* Load needed message catalogs. Copyright (C) 1995-1999, 2000-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #ifdef _LIBC # include # include #endif #if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ || (defined _LIBC && defined _POSIX_MAPPED_FILES) # include # undef HAVE_MMAP # define HAVE_MMAP 1 #else # undef HAVE_MMAP #endif #if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC # include #endif #if defined HAVE_INTTYPES_H || defined _LIBC # include #endif #include "gmo.h" #include "gettextP.h" #include "hash-string.h" #include "plural-exp.h" #ifdef _LIBC # include "../locale/localeinfo.h" # include #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Provide fallback values for macros that ought to be defined in . Note that our fallback values need not be literal strings, because we don't use them with preprocessor string concatenation. */ #if !defined PRId8 || PRI_MACROS_BROKEN # undef PRId8 # define PRId8 "d" #endif #if !defined PRIi8 || PRI_MACROS_BROKEN # undef PRIi8 # define PRIi8 "i" #endif #if !defined PRIo8 || PRI_MACROS_BROKEN # undef PRIo8 # define PRIo8 "o" #endif #if !defined PRIu8 || PRI_MACROS_BROKEN # undef PRIu8 # define PRIu8 "u" #endif #if !defined PRIx8 || PRI_MACROS_BROKEN # undef PRIx8 # define PRIx8 "x" #endif #if !defined PRIX8 || PRI_MACROS_BROKEN # undef PRIX8 # define PRIX8 "X" #endif #if !defined PRId16 || PRI_MACROS_BROKEN # undef PRId16 # define PRId16 "d" #endif #if !defined PRIi16 || PRI_MACROS_BROKEN # undef PRIi16 # define PRIi16 "i" #endif #if !defined PRIo16 || PRI_MACROS_BROKEN # undef PRIo16 # define PRIo16 "o" #endif #if !defined PRIu16 || PRI_MACROS_BROKEN # undef PRIu16 # define PRIu16 "u" #endif #if !defined PRIx16 || PRI_MACROS_BROKEN # undef PRIx16 # define PRIx16 "x" #endif #if !defined PRIX16 || PRI_MACROS_BROKEN # undef PRIX16 # define PRIX16 "X" #endif #if !defined PRId32 || PRI_MACROS_BROKEN # undef PRId32 # define PRId32 "d" #endif #if !defined PRIi32 || PRI_MACROS_BROKEN # undef PRIi32 # define PRIi32 "i" #endif #if !defined PRIo32 || PRI_MACROS_BROKEN # undef PRIo32 # define PRIo32 "o" #endif #if !defined PRIu32 || PRI_MACROS_BROKEN # undef PRIu32 # define PRIu32 "u" #endif #if !defined PRIx32 || PRI_MACROS_BROKEN # undef PRIx32 # define PRIx32 "x" #endif #if !defined PRIX32 || PRI_MACROS_BROKEN # undef PRIX32 # define PRIX32 "X" #endif #if !defined PRId64 || PRI_MACROS_BROKEN # undef PRId64 # define PRId64 (sizeof (long) == 8 ? "ld" : "lld") #endif #if !defined PRIi64 || PRI_MACROS_BROKEN # undef PRIi64 # define PRIi64 (sizeof (long) == 8 ? "li" : "lli") #endif #if !defined PRIo64 || PRI_MACROS_BROKEN # undef PRIo64 # define PRIo64 (sizeof (long) == 8 ? "lo" : "llo") #endif #if !defined PRIu64 || PRI_MACROS_BROKEN # undef PRIu64 # define PRIu64 (sizeof (long) == 8 ? "lu" : "llu") #endif #if !defined PRIx64 || PRI_MACROS_BROKEN # undef PRIx64 # define PRIx64 (sizeof (long) == 8 ? "lx" : "llx") #endif #if !defined PRIX64 || PRI_MACROS_BROKEN # undef PRIX64 # define PRIX64 (sizeof (long) == 8 ? "lX" : "llX") #endif #if !defined PRIdLEAST8 || PRI_MACROS_BROKEN # undef PRIdLEAST8 # define PRIdLEAST8 "d" #endif #if !defined PRIiLEAST8 || PRI_MACROS_BROKEN # undef PRIiLEAST8 # define PRIiLEAST8 "i" #endif #if !defined PRIoLEAST8 || PRI_MACROS_BROKEN # undef PRIoLEAST8 # define PRIoLEAST8 "o" #endif #if !defined PRIuLEAST8 || PRI_MACROS_BROKEN # undef PRIuLEAST8 # define PRIuLEAST8 "u" #endif #if !defined PRIxLEAST8 || PRI_MACROS_BROKEN # undef PRIxLEAST8 # define PRIxLEAST8 "x" #endif #if !defined PRIXLEAST8 || PRI_MACROS_BROKEN # undef PRIXLEAST8 # define PRIXLEAST8 "X" #endif #if !defined PRIdLEAST16 || PRI_MACROS_BROKEN # undef PRIdLEAST16 # define PRIdLEAST16 "d" #endif #if !defined PRIiLEAST16 || PRI_MACROS_BROKEN # undef PRIiLEAST16 # define PRIiLEAST16 "i" #endif #if !defined PRIoLEAST16 || PRI_MACROS_BROKEN # undef PRIoLEAST16 # define PRIoLEAST16 "o" #endif #if !defined PRIuLEAST16 || PRI_MACROS_BROKEN # undef PRIuLEAST16 # define PRIuLEAST16 "u" #endif #if !defined PRIxLEAST16 || PRI_MACROS_BROKEN # undef PRIxLEAST16 # define PRIxLEAST16 "x" #endif #if !defined PRIXLEAST16 || PRI_MACROS_BROKEN # undef PRIXLEAST16 # define PRIXLEAST16 "X" #endif #if !defined PRIdLEAST32 || PRI_MACROS_BROKEN # undef PRIdLEAST32 # define PRIdLEAST32 "d" #endif #if !defined PRIiLEAST32 || PRI_MACROS_BROKEN # undef PRIiLEAST32 # define PRIiLEAST32 "i" #endif #if !defined PRIoLEAST32 || PRI_MACROS_BROKEN # undef PRIoLEAST32 # define PRIoLEAST32 "o" #endif #if !defined PRIuLEAST32 || PRI_MACROS_BROKEN # undef PRIuLEAST32 # define PRIuLEAST32 "u" #endif #if !defined PRIxLEAST32 || PRI_MACROS_BROKEN # undef PRIxLEAST32 # define PRIxLEAST32 "x" #endif #if !defined PRIXLEAST32 || PRI_MACROS_BROKEN # undef PRIXLEAST32 # define PRIXLEAST32 "X" #endif #if !defined PRIdLEAST64 || PRI_MACROS_BROKEN # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 #endif #if !defined PRIiLEAST64 || PRI_MACROS_BROKEN # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 #endif #if !defined PRIoLEAST64 || PRI_MACROS_BROKEN # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 #endif #if !defined PRIuLEAST64 || PRI_MACROS_BROKEN # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 #endif #if !defined PRIxLEAST64 || PRI_MACROS_BROKEN # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 #endif #if !defined PRIXLEAST64 || PRI_MACROS_BROKEN # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 #endif #if !defined PRIdFAST8 || PRI_MACROS_BROKEN # undef PRIdFAST8 # define PRIdFAST8 "d" #endif #if !defined PRIiFAST8 || PRI_MACROS_BROKEN # undef PRIiFAST8 # define PRIiFAST8 "i" #endif #if !defined PRIoFAST8 || PRI_MACROS_BROKEN # undef PRIoFAST8 # define PRIoFAST8 "o" #endif #if !defined PRIuFAST8 || PRI_MACROS_BROKEN # undef PRIuFAST8 # define PRIuFAST8 "u" #endif #if !defined PRIxFAST8 || PRI_MACROS_BROKEN # undef PRIxFAST8 # define PRIxFAST8 "x" #endif #if !defined PRIXFAST8 || PRI_MACROS_BROKEN # undef PRIXFAST8 # define PRIXFAST8 "X" #endif #if !defined PRIdFAST16 || PRI_MACROS_BROKEN # undef PRIdFAST16 # define PRIdFAST16 "d" #endif #if !defined PRIiFAST16 || PRI_MACROS_BROKEN # undef PRIiFAST16 # define PRIiFAST16 "i" #endif #if !defined PRIoFAST16 || PRI_MACROS_BROKEN # undef PRIoFAST16 # define PRIoFAST16 "o" #endif #if !defined PRIuFAST16 || PRI_MACROS_BROKEN # undef PRIuFAST16 # define PRIuFAST16 "u" #endif #if !defined PRIxFAST16 || PRI_MACROS_BROKEN # undef PRIxFAST16 # define PRIxFAST16 "x" #endif #if !defined PRIXFAST16 || PRI_MACROS_BROKEN # undef PRIXFAST16 # define PRIXFAST16 "X" #endif #if !defined PRIdFAST32 || PRI_MACROS_BROKEN # undef PRIdFAST32 # define PRIdFAST32 "d" #endif #if !defined PRIiFAST32 || PRI_MACROS_BROKEN # undef PRIiFAST32 # define PRIiFAST32 "i" #endif #if !defined PRIoFAST32 || PRI_MACROS_BROKEN # undef PRIoFAST32 # define PRIoFAST32 "o" #endif #if !defined PRIuFAST32 || PRI_MACROS_BROKEN # undef PRIuFAST32 # define PRIuFAST32 "u" #endif #if !defined PRIxFAST32 || PRI_MACROS_BROKEN # undef PRIxFAST32 # define PRIxFAST32 "x" #endif #if !defined PRIXFAST32 || PRI_MACROS_BROKEN # undef PRIXFAST32 # define PRIXFAST32 "X" #endif #if !defined PRIdFAST64 || PRI_MACROS_BROKEN # undef PRIdFAST64 # define PRIdFAST64 PRId64 #endif #if !defined PRIiFAST64 || PRI_MACROS_BROKEN # undef PRIiFAST64 # define PRIiFAST64 PRIi64 #endif #if !defined PRIoFAST64 || PRI_MACROS_BROKEN # undef PRIoFAST64 # define PRIoFAST64 PRIo64 #endif #if !defined PRIuFAST64 || PRI_MACROS_BROKEN # undef PRIuFAST64 # define PRIuFAST64 PRIu64 #endif #if !defined PRIxFAST64 || PRI_MACROS_BROKEN # undef PRIxFAST64 # define PRIxFAST64 PRIx64 #endif #if !defined PRIXFAST64 || PRI_MACROS_BROKEN # undef PRIXFAST64 # define PRIXFAST64 PRIX64 #endif #if !defined PRIdMAX || PRI_MACROS_BROKEN # undef PRIdMAX # define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld") #endif #if !defined PRIiMAX || PRI_MACROS_BROKEN # undef PRIiMAX # define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli") #endif #if !defined PRIoMAX || PRI_MACROS_BROKEN # undef PRIoMAX # define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo") #endif #if !defined PRIuMAX || PRI_MACROS_BROKEN # undef PRIuMAX # define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu") #endif #if !defined PRIxMAX || PRI_MACROS_BROKEN # undef PRIxMAX # define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx") #endif #if !defined PRIXMAX || PRI_MACROS_BROKEN # undef PRIXMAX # define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX") #endif #if !defined PRIdPTR || PRI_MACROS_BROKEN # undef PRIdPTR # define PRIdPTR \ (sizeof (void *) == sizeof (long) ? "ld" : \ sizeof (void *) == sizeof (int) ? "d" : \ "lld") #endif #if !defined PRIiPTR || PRI_MACROS_BROKEN # undef PRIiPTR # define PRIiPTR \ (sizeof (void *) == sizeof (long) ? "li" : \ sizeof (void *) == sizeof (int) ? "i" : \ "lli") #endif #if !defined PRIoPTR || PRI_MACROS_BROKEN # undef PRIoPTR # define PRIoPTR \ (sizeof (void *) == sizeof (long) ? "lo" : \ sizeof (void *) == sizeof (int) ? "o" : \ "llo") #endif #if !defined PRIuPTR || PRI_MACROS_BROKEN # undef PRIuPTR # define PRIuPTR \ (sizeof (void *) == sizeof (long) ? "lu" : \ sizeof (void *) == sizeof (int) ? "u" : \ "llu") #endif #if !defined PRIxPTR || PRI_MACROS_BROKEN # undef PRIxPTR # define PRIxPTR \ (sizeof (void *) == sizeof (long) ? "lx" : \ sizeof (void *) == sizeof (int) ? "x" : \ "llx") #endif #if !defined PRIXPTR || PRI_MACROS_BROKEN # undef PRIXPTR # define PRIXPTR \ (sizeof (void *) == sizeof (long) ? "lX" : \ sizeof (void *) == sizeof (int) ? "X" : \ "llX") #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ISO C functions. This is required by the standard because some ISO C functions will require linking with this object file and the name space must not be polluted. */ # define open(name, flags) open_not_cancel_2 (name, flags) # define close(fd) close_not_cancel_no_status (fd) # define read(fd, buf, n) read_not_cancel (fd, buf, n) # define mmap(addr, len, prot, flags, fd, offset) \ __mmap (addr, len, prot, flags, fd, offset) # define munmap(addr, len) __munmap (addr, len) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in . */ #if !defined O_BINARY && defined _O_BINARY /* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #ifdef __BEOS__ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif /* On reasonable systems, binary I/O is the default. */ #ifndef O_BINARY # define O_BINARY 0 #endif /* We need a sign, whether a new catalog was loaded, which can be associated with all translations. This is important if the translations are cached by one of GCC's features. */ int _nl_msg_cat_cntr; /* Expand a system dependent string segment. Return NULL if unsupported. */ static const char * get_sysdep_segment_value (const char *name) { /* Test for an ISO C 99 section 7.8.1 format string directive. Syntax: P R I { d | i | o | u | x | X } { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ /* We don't use a table of 14 times 6 'const char *' strings here, because data relocations cost startup time. */ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') { if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' || name[3] == 'x' || name[3] == 'X') { if (name[4] == '8' && name[5] == '\0') { if (name[3] == 'd') return PRId8; if (name[3] == 'i') return PRIi8; if (name[3] == 'o') return PRIo8; if (name[3] == 'u') return PRIu8; if (name[3] == 'x') return PRIx8; if (name[3] == 'X') return PRIX8; abort (); } if (name[4] == '1' && name[5] == '6' && name[6] == '\0') { if (name[3] == 'd') return PRId16; if (name[3] == 'i') return PRIi16; if (name[3] == 'o') return PRIo16; if (name[3] == 'u') return PRIu16; if (name[3] == 'x') return PRIx16; if (name[3] == 'X') return PRIX16; abort (); } if (name[4] == '3' && name[5] == '2' && name[6] == '\0') { if (name[3] == 'd') return PRId32; if (name[3] == 'i') return PRIi32; if (name[3] == 'o') return PRIo32; if (name[3] == 'u') return PRIu32; if (name[3] == 'x') return PRIx32; if (name[3] == 'X') return PRIX32; abort (); } if (name[4] == '6' && name[5] == '4' && name[6] == '\0') { if (name[3] == 'd') return PRId64; if (name[3] == 'i') return PRIi64; if (name[3] == 'o') return PRIo64; if (name[3] == 'u') return PRIu64; if (name[3] == 'x') return PRIx64; if (name[3] == 'X') return PRIX64; abort (); } if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' && name[7] == 'S' && name[8] == 'T') { if (name[9] == '8' && name[10] == '\0') { if (name[3] == 'd') return PRIdLEAST8; if (name[3] == 'i') return PRIiLEAST8; if (name[3] == 'o') return PRIoLEAST8; if (name[3] == 'u') return PRIuLEAST8; if (name[3] == 'x') return PRIxLEAST8; if (name[3] == 'X') return PRIXLEAST8; abort (); } if (name[9] == '1' && name[10] == '6' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST16; if (name[3] == 'i') return PRIiLEAST16; if (name[3] == 'o') return PRIoLEAST16; if (name[3] == 'u') return PRIuLEAST16; if (name[3] == 'x') return PRIxLEAST16; if (name[3] == 'X') return PRIXLEAST16; abort (); } if (name[9] == '3' && name[10] == '2' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST32; if (name[3] == 'i') return PRIiLEAST32; if (name[3] == 'o') return PRIoLEAST32; if (name[3] == 'u') return PRIuLEAST32; if (name[3] == 'x') return PRIxLEAST32; if (name[3] == 'X') return PRIXLEAST32; abort (); } if (name[9] == '6' && name[10] == '4' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST64; if (name[3] == 'i') return PRIiLEAST64; if (name[3] == 'o') return PRIoLEAST64; if (name[3] == 'u') return PRIuLEAST64; if (name[3] == 'x') return PRIxLEAST64; if (name[3] == 'X') return PRIXLEAST64; abort (); } } if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' && name[7] == 'T') { if (name[8] == '8' && name[9] == '\0') { if (name[3] == 'd') return PRIdFAST8; if (name[3] == 'i') return PRIiFAST8; if (name[3] == 'o') return PRIoFAST8; if (name[3] == 'u') return PRIuFAST8; if (name[3] == 'x') return PRIxFAST8; if (name[3] == 'X') return PRIXFAST8; abort (); } if (name[8] == '1' && name[9] == '6' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST16; if (name[3] == 'i') return PRIiFAST16; if (name[3] == 'o') return PRIoFAST16; if (name[3] == 'u') return PRIuFAST16; if (name[3] == 'x') return PRIxFAST16; if (name[3] == 'X') return PRIXFAST16; abort (); } if (name[8] == '3' && name[9] == '2' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST32; if (name[3] == 'i') return PRIiFAST32; if (name[3] == 'o') return PRIoFAST32; if (name[3] == 'u') return PRIuFAST32; if (name[3] == 'x') return PRIxFAST32; if (name[3] == 'X') return PRIXFAST32; abort (); } if (name[8] == '6' && name[9] == '4' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST64; if (name[3] == 'i') return PRIiFAST64; if (name[3] == 'o') return PRIoFAST64; if (name[3] == 'u') return PRIuFAST64; if (name[3] == 'x') return PRIxFAST64; if (name[3] == 'X') return PRIXFAST64; abort (); } } if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' && name[7] == '\0') { if (name[3] == 'd') return PRIdMAX; if (name[3] == 'i') return PRIiMAX; if (name[3] == 'o') return PRIoMAX; if (name[3] == 'u') return PRIuMAX; if (name[3] == 'x') return PRIxMAX; if (name[3] == 'X') return PRIXMAX; abort (); } if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' && name[7] == '\0') { if (name[3] == 'd') return PRIdPTR; if (name[3] == 'i') return PRIiPTR; if (name[3] == 'o') return PRIoPTR; if (name[3] == 'u') return PRIuPTR; if (name[3] == 'x') return PRIxPTR; if (name[3] == 'X') return PRIXPTR; abort (); } } } /* Test for a glibc specific printf() format directive flag. */ if (name[0] == 'I' && name[1] == '\0') { #if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) /* The 'I' flag, in numeric format directives, replaces ASCII digits with the 'outdigits' defined in the LC_CTYPE locale facet. This is used for Farsi (Persian) and maybe Arabic. */ return "I"; #else return ""; #endif } /* Other system dependent strings are not valid. */ return NULL; } /* Load the message catalogs specified by FILENAME. If it is no valid message catalog do nothing. */ void internal_function _nl_load_domain (struct loaded_l10nfile *domain_file, struct binding *domainbinding) { __libc_lock_define_initialized_recursive (static, lock) int fd = -1; size_t size; #ifdef _LIBC struct stat64 st; #else struct stat st; #endif struct mo_file_header *data = (struct mo_file_header *) -1; int use_mmap = 0; struct loaded_domain *domain; int revision; const char *nullentry; size_t nullentrylen; __libc_lock_lock_recursive (lock); if (domain_file->decided != 0) { /* There are two possibilities: + this is the same thread calling again during this initialization via _nl_find_msg. We have initialized everything this call needs. + this is another thread which tried to initialize this object. Not necessary anymore since if the lock is available this is finished. */ goto done; } domain_file->decided = -1; domain_file->data = NULL; /* Note that it would be useless to store domainbinding in domain_file because domainbinding might be == NULL now but != NULL later (after a call to bind_textdomain_codeset). */ /* If the record does not represent a valid locale the FILENAME might be NULL. This can happen when according to the given specification the locale file name is different for XPG and CEN syntax. */ if (domain_file->filename == NULL) goto out; /* Try to open the addressed file. */ fd = open (domain_file->filename, O_RDONLY | O_BINARY); if (fd == -1) goto out; /* We must know about the size of the file. */ if ( #ifdef _LIBC __builtin_expect (fstat64 (fd, &st) != 0, 0) #else __builtin_expect (fstat (fd, &st) != 0, 0) #endif || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) || __builtin_expect (size < sizeof (struct mo_file_header), 0)) /* Something went wrong. */ goto out; #ifdef HAVE_MMAP /* Now we are ready to load the file. If mmap() is available we try this first. If not available or it failed we try to load it. */ data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) { /* mmap() call was successful. */ close (fd); fd = -1; use_mmap = 1; } #endif /* If the data is not yet available (i.e. mmap'ed) we try to load it manually. */ if (data == (struct mo_file_header *) -1) { size_t to_read; char *read_ptr; data = (struct mo_file_header *) malloc (size); if (data == NULL) goto out; to_read = size; read_ptr = (char *) data; do { long int nb = (long int) read (fd, read_ptr, to_read); if (nb <= 0) { #ifdef EINTR if (nb == -1 && errno == EINTR) continue; #endif goto out; } read_ptr += nb; to_read -= nb; } while (to_read > 0); close (fd); fd = -1; } /* Using the magic number we can test whether it really is a message catalog file. */ if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, 0)) { /* The magic number is wrong: not a message catalog file. */ #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); goto out; } domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); if (domain == NULL) goto out; domain_file->data = domain; domain->data = (char *) data; domain->use_mmap = use_mmap; domain->mmap_size = size; domain->must_swap = data->magic != _MAGIC; domain->malloced = NULL; /* Fill in the information about the available tables. */ revision = W (domain->must_swap, data->revision); /* We support only the major revisions 0 and 1. */ switch (revision >> 16) { case 0: case 1: domain->nstrings = W (domain->must_swap, data->nstrings); domain->orig_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->orig_tab_offset)); domain->trans_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->trans_tab_offset)); domain->hash_size = W (domain->must_swap, data->hash_tab_size); domain->hash_tab = (domain->hash_size > 2 ? (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->hash_tab_offset)) : NULL); domain->must_swap_hash_tab = domain->must_swap; /* Now dispatch on the minor revision. */ switch (revision & 0xffff) { case 0: domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; break; case 1: default: { nls_uint32 n_sysdep_strings; if (domain->hash_tab == NULL) /* This is invalid. These minor revisions need a hash table. */ goto invalid; n_sysdep_strings = W (domain->must_swap, data->n_sysdep_strings); if (n_sysdep_strings > 0) { nls_uint32 n_sysdep_segments; const struct sysdep_segment *sysdep_segments; const char **sysdep_segment_values; const nls_uint32 *orig_sysdep_tab; const nls_uint32 *trans_sysdep_tab; nls_uint32 n_inmem_sysdep_strings; size_t memneed; char *mem; struct sysdep_string_desc *inmem_orig_sysdep_tab; struct sysdep_string_desc *inmem_trans_sysdep_tab; nls_uint32 *inmem_hash_tab; unsigned int i, j; /* Get the values of the system dependent segments. */ n_sysdep_segments = W (domain->must_swap, data->n_sysdep_segments); sysdep_segments = (const struct sysdep_segment *) ((char *) data + W (domain->must_swap, data->sysdep_segments_offset)); sysdep_segment_values = alloca (n_sysdep_segments * sizeof (const char *)); for (i = 0; i < n_sysdep_segments; i++) { const char *name = (char *) data + W (domain->must_swap, sysdep_segments[i].offset); nls_uint32 namelen = W (domain->must_swap, sysdep_segments[i].length); if (!(namelen > 0 && name[namelen - 1] == '\0')) { freea (sysdep_segment_values); goto invalid; } sysdep_segment_values[i] = get_sysdep_segment_value (name); } orig_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->orig_sysdep_tab_offset)); trans_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->trans_sysdep_tab_offset)); /* Compute the amount of additional memory needed for the system dependent strings and the augmented hash table. At the same time, also drop string pairs which refer to an undefined system dependent segment. */ n_inmem_sysdep_strings = 0; memneed = domain->hash_size * sizeof (nls_uint32); for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; size_t needs[2]; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); size_t need = 0; const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; need += W (domain->must_swap, p->segsize); sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdepref >= n_sysdep_segments) { /* Invalid. */ freea (sysdep_segment_values); goto invalid; } if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } need += strlen (sysdep_segment_values[sysdepref]); } needs[j] = need; if (!valid) break; } if (valid) { n_inmem_sysdep_strings++; memneed += needs[0] + needs[1]; } } memneed += 2 * n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); if (n_inmem_sysdep_strings > 0) { unsigned int k; /* Allocate additional memory. */ mem = (char *) malloc (memneed); if (mem == NULL) goto invalid; domain->malloced = mem; inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_hash_tab = (nls_uint32 *) mem; mem += domain->hash_size * sizeof (nls_uint32); /* Compute the system dependent strings. */ k = 0; for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } } if (!valid) break; } if (valid) { for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const char *static_segments = (char *) data + W (domain->must_swap, sysdep_string->offset); const struct segment_pair *p = sysdep_string->segments; /* Concatenate the segments, and fill inmem_orig_sysdep_tab[k] (for j == 0) and inmem_trans_sysdep_tab[k] (for j == 1). */ struct sysdep_string_desc *inmem_tab_entry = (j == 0 ? inmem_orig_sysdep_tab : inmem_trans_sysdep_tab) + k; if (W (domain->must_swap, p->sysdepref) == SEGMENTS_END) { /* Only one static segment. */ inmem_tab_entry->length = W (domain->must_swap, p->segsize); inmem_tab_entry->pointer = static_segments; } else { inmem_tab_entry->pointer = mem; for (p = sysdep_string->segments;; p++) { nls_uint32 segsize = W (domain->must_swap, p->segsize); nls_uint32 sysdepref = W (domain->must_swap, p->sysdepref); size_t n; if (segsize > 0) { memcpy (mem, static_segments, segsize); mem += segsize; static_segments += segsize; } if (sysdepref == SEGMENTS_END) break; n = strlen (sysdep_segment_values[sysdepref]); memcpy (mem, sysdep_segment_values[sysdepref], n); mem += n; } inmem_tab_entry->length = mem - inmem_tab_entry->pointer; } } k++; } } if (k != n_inmem_sysdep_strings) abort (); /* Compute the augmented hash table. */ for (i = 0; i < domain->hash_size; i++) inmem_hash_tab[i] = W (domain->must_swap_hash_tab, domain->hash_tab[i]); for (i = 0; i < n_inmem_sysdep_strings; i++) { const char *msgid = inmem_orig_sysdep_tab[i].pointer; nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); for (;;) { if (inmem_hash_tab[idx] == 0) { /* Hash table entry is empty. Use it. */ inmem_hash_tab[idx] = 1 + domain->nstrings + i; break; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } } domain->n_sysdep_strings = n_inmem_sysdep_strings; domain->orig_sysdep_tab = inmem_orig_sysdep_tab; domain->trans_sysdep_tab = inmem_trans_sysdep_tab; domain->hash_tab = inmem_hash_tab; domain->must_swap_hash_tab = 0; } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } freea (sysdep_segment_values); } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } } break; } break; default: /* This is an invalid revision. */ invalid: /* This is an invalid .mo file. */ if (domain->malloced) free (domain->malloced); #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); free (domain); domain_file->data = NULL; goto out; } /* No caches of converted translations so far. */ domain->conversions = NULL; domain->nconversions = 0; /* Get the header entry and look for a plural specification. */ #ifdef IN_LIBGLOCALE nullentry = _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); #else nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); #endif EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals); out: if (fd != -1) close (fd); domain_file->decided = 1; done: __libc_lock_unlock_recursive (lock); } #ifdef _LIBC void internal_function __libc_freeres_fn_section _nl_unload_domain (struct loaded_domain *domain) { size_t i; if (domain->plural != &__gettext_germanic_plural) __gettext_free_exp (domain->plural); for (i = 0; i < domain->nconversions; i++) { struct converted_domain *convd = &domain->conversions[i]; free (convd->encoding); if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1) free (convd->conv_tab); if (convd->conv != (__gconv_t) -1) __gconv_close (convd->conv); } if (domain->conversions != NULL) free (domain->conversions); if (domain->malloced) free (domain->malloced); # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) munmap ((caddr_t) domain->data, domain->mmap_size); else # endif /* _POSIX_MAPPED_FILES */ free ((void *) domain->data); free (domain); } #endif xfe-1.42/intl/VERSION0000644000175100017510000000005011444154372011163 00000000000000GNU gettext library from gettext-0.16.1 xfe-1.42/intl/dcngettext.c0000644000175100017510000000351412202431550012425 00000000000000/* Implementation of the dcngettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCNGETTEXT __dcngettext # define DCIGETTEXT __dcigettext #else # define DCNGETTEXT libintl_dcngettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dcngettext, dcngettext); #endif xfe-1.42/intl/intl-compat.c0000644000175100017510000000667312202431550012514 00000000000000/* intl-compat.c - Stub functions to call gettext functions from GNU gettext Library. Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" /* @@ end of prolog @@ */ /* This file redirects the gettext functions (without prefix) to those defined in the included GNU libintl library (with "libintl_" prefix). It is compiled into libintl in order to make the AM_GNU_GETTEXT test of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which has the redirections primarily in the include file. It is also compiled into libgnuintl so that libgnuintl.so can be used as LD_PRELOADable library on glibc systems, to provide the extra features that the functions in the libc don't have (namely, logging). */ #undef gettext #undef dgettext #undef dcgettext #undef ngettext #undef dngettext #undef dcngettext #undef textdomain #undef bindtextdomain #undef bind_textdomain_codeset /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif DLL_EXPORTED char * gettext (const char *msgid) { return libintl_gettext (msgid); } DLL_EXPORTED char * dgettext (const char *domainname, const char *msgid) { return libintl_dgettext (domainname, msgid); } DLL_EXPORTED char * dcgettext (const char *domainname, const char *msgid, int category) { return libintl_dcgettext (domainname, msgid, category); } DLL_EXPORTED char * ngettext (const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_ngettext (msgid1, msgid2, n); } DLL_EXPORTED char * dngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_dngettext (domainname, msgid1, msgid2, n); } DLL_EXPORTED char * dcngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return libintl_dcngettext (domainname, msgid1, msgid2, n, category); } DLL_EXPORTED char * textdomain (const char *domainname) { return libintl_textdomain (domainname); } DLL_EXPORTED char * bindtextdomain (const char *domainname, const char *dirname) { return libintl_bindtextdomain (domainname, dirname); } DLL_EXPORTED char * bind_textdomain_codeset (const char *domainname, const char *codeset) { return libintl_bind_textdomain_codeset (domainname, codeset); } xfe-1.42/intl/ref-add.sin0000644000175100017510000000210511444154372012133 00000000000000# Add this package to a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } xfe-1.42/intl/osdep.c0000644000175100017510000000174111444154372011401 00000000000000/* OS dependent parts of libintl. Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #if defined __CYGWIN__ # include "intl-exports.c" #elif defined __EMX__ # include "os2compat.c" #else /* Avoid AIX compiler warning. */ typedef int dummy; #endif xfe-1.42/intl/intl-exports.c0000644000175100017510000000273012202431550012723 00000000000000/* List of exported symbols of libintl on Cygwin. Copyright (C) 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* IMP(x) is a symbol that contains the address of x. */ #define IMP(x) _imp__##x /* Ensure that the variable x is exported from the library, and that a pseudo-variable IMP(x) is available. */ #define VARIABLE(x) \ /* Export x without redefining x. This code was found by compiling a \ snippet: \ extern __declspec(dllexport) int x; int x = 42; */ \ asm (".section .drectve\n"); \ asm (".ascii \" -export:" #x ",data\"\n"); \ asm (".data\n"); \ /* Allocate a pseudo-variable IMP(x). */ \ extern int x; \ void * IMP(x) = &x; VARIABLE(libintl_version) xfe-1.42/xfw.png0000644000175100017510000000370011444154372010464 00000000000000PNG  IHDR00` PLTE     "'!")%$&$'(&*+'&*(+2*/5-2315927<239:8;9=G:@=2?=A;?BC?>EA0MVRNYŢ3ģCCb§EĨFTUǫJǬQɭK¯X˯MгQ̷Z÷~ɹnѻ^gû¾Q¾ÿņuʅnМmۭܢrnhryVtRNS@fbKGDH pHYs  tIME dDMMoJʖLh+p ~߰yhO3x?E~Az! bc%Er }LM:;#N=:;. .SH "OPTIONS" xfe accepts the following options: .TP .B \-h, \-\-help Print the help screen and exit. .TP .B \-v, \-\-version Print version information and exit. .TP .B \-i, \-\-iconic Start iconified. .TP .B \-m, \-\-maximized Start maximized. .TP .B \-p n, \-\-panel n Force panel view mode to n (n=0 => Tree and one panel, n=1 => One panel, n=2 => Two panels, n=3 => Tree and two panels). .TP .B FOLDER | FILE Specifies a list of folders or files to open when starting xfe. They can be regular paths like /home/test, or URIs like file:///home/test. The first two folders are displayed in the file panels, the others are ignored. The number of files to open is not limited. .SH "SEE ALSO" .BR xfw (1), .BR xfi (1), .BR xfp (1) xfe-1.42/install-sh0000755000175100017510000002202111444154372011153 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2005-05-14.22 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test -n "$1"; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; *) # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. test -n "$dir_arg$dstarg" && break # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done break;; esac done if test -z "$1"; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src src= if test -d "$dst"; then mkdircmd=: chmodcmd= else mkdircmd=$mkdirprog fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dst=$dst/`basename "$src"` fi fi # This sed command emulates the dirname command. dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` # Make sure that the destination directory exists. # Skip lots of stat calls in the usual case. if test ! -d "$dstdir"; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` shift IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift if test ! -d "$pathcomp"; then $mkdirprog "$pathcomp" # mkdir can fail with a `File exist' error in case several # install-sh are creating the directory concurrently. This # is OK. test -d "$pathcomp" || exit fi pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $mkdircmd "$dst" \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } else dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. $doit $cpprog "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dstdir/$dstfile"; then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" } } fi || { (exit 1); exit 1; } done # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit 0 } # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: xfe-1.42/debian/0000755000175100017510000000000012746114676010465 500000000000000xfe-1.42/debian/menu0000644000175100017510000000155411444154372011270 00000000000000?package(xfe):needs="X11" section="Applications/File Management"\ title="Xfe" command="/usr/bin/xfe" \ longtitle="Lightweight File Manager" \ icon="/usr/share/pixmaps/xfe.xpm" ?package(xfe):needs="X11" section="Applications/Viewers"\ title="Xfv" command="/usr/bin/xfv" \ longtitle="Simple Text Viewer" \ icon="/usr/share/pixmaps/xfv.xpm" ?package(xfe):needs="X11" section="Applications/System/Package Management"\ title="Xfp" command="/usr/bin/xfp" \ longtitle="Simple Package Viewer" \ icon="/usr/share/pixmaps/xfp.xpm" ?package(xfe):needs="X11" section="Applications/Viewers"\ title="Xfi" command="/usr/bin/xfi" \ longtitle="Simple Image Viewer" \ icon="/usr/share/pixmaps/xfi.xpm" ?package(xfe):needs="X11" section="Applications/Editors"\ title="Xfw" command="/usr/bin/xfw" \ longtitle="Simple Text Editor" \ icon="/usr/share/pixmaps/xfw.xpm" xfe-1.42/debian/stamp-makefile-install0000644000175100017510000000000012727535160014653 00000000000000xfe-1.42/debian/stamp-makefile-build0000644000175100017510000000000012727535154014307 00000000000000xfe-1.42/debian/README.Debian0000644000175100017510000000033011444154372012431 00000000000000xfe for Debian -------------- Caution : this is NOT an official Debian package! This package is just released to provide the last Xfe version. -- Roland Baudin , Fri, 8 Apr 2005 21:37:13 +0200 xfe-1.42/debian/xfe.debhelper.log0000644000175100017510000000103512727535204013613 00000000000000dh_installdirs dh_installdirs dh_installdocs dh_installexamples dh_installman dh_installinfo dh_installmenu dh_installcron dh_installinit dh_installdebconf dh_installemacsen dh_installcatalogs dh_installpam dh_installlogrotate dh_installlogcheck dh_installchangelogs dh_installudev dh_lintian dh_bugfiles dh_install dh_systemd_enable dh_systemd_start dh_link dh_installmime dh_installgsettings dh_strip dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_perl dh_shlibdeps dh_girepository dh_gencontrol dh_md5sums dh_builddeb dh_builddeb xfe-1.42/debian/xfe.postinst.debhelper0000644000175100017510000000025012727535161014715 00000000000000# Automatically added by dh_installmenu if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then update-menus fi # End automatically added section xfe-1.42/debian/rules0000755000175100017510000000044412104703446011452 00000000000000#!/usr/bin/make -f # example debian/rules for cdbs packages include /usr/share/cdbs/1/class/autotools.mk include /usr/share/cdbs/1/rules/debhelper.mk # Avoid default flags set from the distribution CFLAGS= CXXFLAGS= LDFLAGS="-Wl,--as-needed" DEB_CONFIGURE_EXTRA_FLAGS += --enable-release xfe-1.42/debian/stamp-autotools0000644000175100017510000000000012727535146013467 00000000000000xfe-1.42/debian/copyright0000644000175100017510000000100411444154372012322 00000000000000This package was debianized by Roland Baudin on Wed, 6 Apr 2005 22:53:51 +0200. It was downloaded from Copyright Holder: Roland Baudin License: This software is copyright (c) 2002-2005 by Roland Baudin. You are free to distribute this software under the terms of the GNU General public License (GPL). On Debian systems, the complete text of the GNU General Public License can be found in the file '/usr/share/common-licenses/GPL'. xfe-1.42/debian/xfe.postrm.debhelper0000644000175100017510000000021712727535161014361 00000000000000# Automatically added by dh_installmenu if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi # End automatically added section xfe-1.42/debian/stamp-autotools-files0000644000175100017510000000000012727535130014560 00000000000000xfe-1.42/debian/source/0000755000175100017510000000000011532664440011754 500000000000000xfe-1.42/debian/source/format0000644000175100017510000000001411532664440013102 000000000000003.0 (quilt) xfe-1.42/debian/compat0000644000175100017510000000000211444154372011572 000000000000005 xfe-1.42/debian/files0000644000175100017510000000004212727535202011415 00000000000000xfe_1.42-1_amd64.deb x11 optional xfe-1.42/debian/control0000644000175100017510000000120011444154372011770 00000000000000Source: xfe Section: x11 Priority: optional Maintainer: Roland Baudin Build-Depends: cdbs, autotools-dev, debhelper (>= 4.0.0), libfox-1.6-dev, libpng12-dev, libxft-dev, libx11-dev Standards-Version: 3.6.1 Package: xfe Architecture: any Depends: ${shlibs:Depends} Recommends: Description: A lightweight file manager for X11 Xfe is desktop independent and is written using the C++ Fox Toolkit. It has Windows Commander or MS-Explorer look and is very fast and simple. Included in the package are a simple text viewer (Xfv), a simple text editor (Xfw),a simple package manager (Xfp) and a simple image viewer (Xfi). xfe-1.42/debian/docs0000644000175100017510000000003211444154372011242 00000000000000AUTHORS BUGS README TODO xfe-1.42/debian/xfe.substvars0000644000175100017510000000027512727535201013137 00000000000000shlibs:Depends=libc6 (>= 2.17), libfontconfig1 (>= 2.11.94), libfox-1.6-0, libgcc1 (>= 1:3.0), libstdc++6 (>= 5.2), libx11-6, libxft2 (>> 2.1.1), libxrandr2 misc:Depends= misc:Pre-Depends= xfe-1.42/debian/changelog0000644000175100017510000002665312634035563012264 00000000000000xfe (1.42-1) unstable; urgency=medium * New upstream release -- Roland Tue, 15 Dec 2015 17:10:16 +0100 xfe (1.41.1-1) unstable; urgency=medium * New upstream release -- Roland Mon, 30 Nov 2015 09:07:16 +0100 xfe (1.41-1) unstable; urgency=medium * New upstream release -- Roland Wed, 02 Sep 2015 16:21:01 +0200 xfe (1.40.1-1) unstable; urgency=medium * New upstream release -- Roland Mon, 12 Jan 2015 10:34:41 +0100 xfe (1.40-1) unstable; urgency=low * New upstream release -- Roland Fri, 28 Nov 2014 16:01:35 +0100 xfe (1.39-1) unstable; urgency=low * New upstream release -- Roland Tue, 25 Nov 2014 10:13:51 +0100 xfe (1.38-1) unstable; urgency=low * New upstream release -- Roland Thu, 30 Oct 2014 10:24:16 +0100 xfe (1.37-1) unstable; urgency=low * New upstream release -- Roland Mon, 09 Sep 2013 16:33:20 +0200 xfe (1.36-1) unstable; urgency=low * New upstream release -- Roland Wed, 21 Aug 2013 16:48:24 +0200 xfe (1.35-1) unstable; urgency=low * New upstream release -- Roland Wed, 17 Apr 2013 08:43:06 +0100 xfe (1.34-1) unstable; urgency=low * New upstream release -- Roland Fri, 25 Jan 2013 17:23:12 +0100 xfe (1.33.1-1) unstable; urgency=low * New upstream release -- Roland Mon, 13 Aug 2012 15:28:52 +0200 xfe (1.33-1) unstable; urgency=low * New upstream release -- Roland Wed, 08 Aug 2012 09:43:03 +0200 xfe (1.32.5-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 14 Jun 2011 11:36:06 +0200 xfe (1.32.4-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 12 Apr 2011 17:34:49 +0200 xfe (1.32.3-1) unstable; urgency=low * New upstream release * Switched to source format 3.0 (quilt) * Don't use default CFLAGS and CXXFLAGS set from the distribution -- Roland Baudin Thu, 16 Dec 2010 13:09:51 +0200 xfe (1.32.2-1) unstable; urgency=low * New upstream release * Set compat level to 5, to avoid several warning messages when building xfe -- Roland Baudin Fri, 13 Nov 2009 11:02:26 +0200 xfe (1.32.1-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 20 Oct 2009 17:44:00 +0200 xfe (1.32-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 16 Oct 2009 22:11:38 +0200 xfe (1.31-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 8 Oct 2009 14:59:24 +0200 xfe (1.30-1) unstable; urgency=low * New upstream release -- Roland Baudin Wed, 22 Sep 2009 13:11:17 +0200 xfe (1.29-1) unstable; urgency=low * New upstream release -- Roland Baudin Wed, 16 Sep 2009 16:48:07 +0200 xfe (1.28-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 1 Sep 2009 14:35:39 +0200 xfe (1.27-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 3 Aug 2009 17:46:16 +0200 xfe (1.26-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 28 Jul 2009 17:11:29 +0200 xfe (1.25-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 21 Jul 2009 15:37:06 +0200 xfe (1.24-1) unstable; urgency=low * New upstream release -- Roland Baudin Wed, 1 Jul 2009 14:00:49 +0200 xfe (1.23-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 18 Jun 2009 14:29:54 +0200 xfe (1.22-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 11 Jun 2009 18:03:16 +0200 xfe (1.21-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 19 May 2009 15:21:04 +0200 xfe (1.20-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 16 Apr 2009 17:25:30 +0200 xfe (1.19.2-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 1 Aug 2008 13:19:12 +0200 xfe (1.19.1-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 1 Jul 2008 11:36:16 +0200 xfe (1.19-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 9 Jun 2008 10:17:11 +0200 xfe (1.18-1) unstable; urgency=low * New upstream release -- Roland Baudin Sat, 30 May 2008 22:32:43 +0200 xfe (1.17-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 27 May 2008 13:10:48 +0200 xfe (1.16-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 19 May 2008 13:19:24 +0200 xfe (1.15-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 12 May 2008 15:34:30 +0200 xfe (1.14-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 5 May 2008 23:55:14 +0200 xfe (1.13-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 30 Apr 2008 19:34:25 +0200 xfe (1.12-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 10 Mar 2008 23:17:54 +0200 xfe (1.11-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 18 Feb 2008 19:43:32 +0200 xfe (1.10-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 4 Feb 2008 23:59:58 +0200 xfe (1.09-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 25 Jan 2008 22:43:50 +0200 xfe (1.08-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 15 Jan 2008 20:32:45 +0200 xfe (1.07-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 25 Oct 2007 01:43:02 +0200 xfe (1.06-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 11 Oct 2007 21:24:02 +0200 xfe (1.05-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 14 Sep 2007 23:05:04 +0200 xfe (1.04-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 4 Sep 2007 22:47:35 +0200 xfe (1.03-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 24 Aug 2007 19:23:11 +0200 xfe (1.02-1) unstable; urgency=low * New upstream release -- Roland Baudin Wed, 1 Aug 2007 02:23:31 +0200 xfe (1.01-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 18 Jul 2007 21:45:29 +0200 xfe (1.00-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 15 Jun 2007 22:38:54 +0200 xfe (0.99.8-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 12 Jun 2007 23:02:50 +0200 xfe (0.99.7-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 24 May 2007 03:39:29 +0200 xfe (0.99.6-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 14 May 2007 21:03:11 +0200 xfe (0.99.5-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 10 May 2007 22:16:29 +0200 xfe (0.99.4-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 7 May 2007 19:59:10 +0200 xfe (0.99.3-1) unstable; urgency=low * New upstream release -- Roland Baudin Thu, 26 April 2007 23:49:40 +0200 xfe (0.99.2-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 20 April 2007 22:20:03 +0200 xfe (0.99.1-1) unstable; urgency=low * New upstream release -- Roland Baudin Mon, 16 March 2007 19:34:46 +0200 xfe (0.99-1) unstable; urgency=low * New upstream release * Changed the build dependency to reflect the new FOX package versioning in Debian -- Roland Baudin Mon, 5 March 2007 13:15:15 +0200 xfe (0.98.2-1) unstable; urgency=low * New upstream release -- Roland Baudin Wed, 20 February 2007 19:46:50 +0200 xfe (0.98.1-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 13 February 2007 21:13:27 +0200 xfe (0.98-1) unstable; urgency=low * New upstream release -- Roland Baudin Fri, 08 February 2007 20:07:24 +0200 xfe (0.97-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Thu, 21 December 2006 23:57:55 +0200 xfe (0.96-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Wed, 29 November 2006 23:49:43 +0200 xfe (0.95-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Tue, 21 November 2006 22:39:10 +0200 xfe (0.94-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Tue, 14 November 2006 20:24:20 +0200 xfe (0.93-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Wed, 8 November 2006 19:50:04 +0200 xfe (0.92-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Mon, 23 October 2006 19:00:05 +0200 xfe (0.91-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Mon, 16 October 2006 22:41:05 +0200 xfe (0.90-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Thu, 21 September 2006 21:11:30 +0200 xfe (0.89-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Thu, 9 February 2006 20:53:03 +0200 xfe (0.88-1) unstable; urgency=low * New upstream release -- Roland Baudin Tue, 31 January 2006 19:32:39 +0200 xfe (0.87-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Wed, 7 December 2005 23:41:17 +0200 xfe (0.86-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Fri, 23 September 2005 22:25:12 +0200 xfe (0.85-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Wed, 27 July 2005 20:33:08 +0200 xfe (0.84-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Thu, 23 June 2005 22:21:32 +0200 xfe (0.83-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Wed, 15 June 2005 21:47:02 +0200 xfe (0.82-1) unstable; urgency=low * New upstream pre-release -- Roland Baudin Fri, 3 June 2005 23:55:45 +0200 xfe (0.81-1) unstable; urgency=low * Added icons and tooltips to the Debian menus -- Roland Baudin Thu, 12 May 2005 21:33:45 +0200 xfe (0.80-1) unstable; urgency=low * Initial Release. * This is my first Debian package!!! Hope it will work... -- Roland Baudin Wed, 6 Apr 2005 22:53:51 +0200 xfe-1.42/aclocal.m40000644000175100017510000015437012634031304011013 00000000000000# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 42 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' AC_SUBST(INTLTOOL_V_MERGE) AC_SUBST(INTLTOOL__v_MERGE_) AC_SUBST(INTLTOOL__v_MERGE_0) INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) AC_SUBST(intltool__v_merge_options_) AC_SUBST(intltool__v_merge_options_0) INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for 'mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl FIXME we are no longer going to remove this! adjust warning dnl FIXME message accordingly. AC_DIAGNOSE([obsolete], [$0: this macro is deprecated, and will soon be removed. You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # -*- Autoconf -*- # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl AC_CONFIG_HEADERS($@)]) AC_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should simply use the 'AC][_PROG_CC' macro instead. Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon 'ac_cv_prog_cc_stdc'.])]) AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/codeset.m4]) m4_include([m4/gettext.m4]) m4_include([m4/glibc2.m4]) m4_include([m4/glibc21.m4]) m4_include([m4/iconv.m4]) m4_include([m4/intdiv0.m4]) m4_include([m4/intl.m4]) m4_include([m4/intmax.m4]) m4_include([m4/inttypes-pri.m4]) m4_include([m4/inttypes_h.m4]) m4_include([m4/lcmessage.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/lock.m4]) m4_include([m4/longdouble.m4]) m4_include([m4/longlong.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/printf-posix.m4]) m4_include([m4/progtest.m4]) m4_include([m4/size_max.m4]) m4_include([m4/stdint_h.m4]) m4_include([m4/uintmax_t.m4]) m4_include([m4/ulonglong.m4]) m4_include([m4/visibility.m4]) m4_include([m4/wchar_t.m4]) m4_include([m4/wint_t.m4]) m4_include([m4/xsize.m4]) xfe-1.42/README0000644000175100017510000004423712626311425010041 00000000000000 XFE, X File Explorer File Manager Copyright (C) 2002-2015 Roland Baudin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Icons were taken from different file managers and desktops: gentoo, xplore, dfm, nautilus, Gnome, KDE, XFCE and some of them were modified. This software uses the FOX Toolkit Library (http://www.fox-toolkit.org). *IMPORTANT REMARKS * 1. You must use the current stable Fox version 1.6.36 (required!) or higher in the 1.6.x branch. The current version of Xfe neither can be build using the Fox 1.0.x, 1.2.x, 1.4.x, nor using the 1.7.x series. 2. UTF-8 is now supported, thus check that your LANG environment variable is set to be UTF-8 compliant otherwise accents and special characters could be wrong displayed. For composed characters to work (like ü or ê), FOX *must* be compiled with the --with-xim configure option. See the "Non Latin based languages" section of this README file for complementary informations. Description =-=-=-=-=-= X File Explorer (Xfe) is a lightweight file manager for X11, written using the FOX toolkit. It is desktop independent and can easily be customized. It has Commander or Explorer styles and it is very fast and small. Xfe is based on the popular, but discontinued X Win Commander, originally written by Maxim Baranov. System requirements =-=-=-=-=-=-=-=-=-= Xfe is written in C++ and built using the FOX graphical toolkit library. Thereore, to build the current Xfe version, you need the FOX library 1.6.x installed on your system. Note that Xfe do not compile with the development version 1.7.x of FOX! Xfe is known to run on Linux based systems. It should compile and run on any Unix or Unix-like system. It doesn't run on Windows. Installation instructions are given below. Features =-=-=-=-= - Very fast graphic user interface - Small memory footprint - UTF-8 support - Commander/Explorer interface with four file manager modes: a) one panel, b) a folder tree and one panel, c) two panels and d) a folder tree and two panels - Horizontal or vertical file panels stacking - Panels synchronization and switching - Integrated text editor and viewer (X File Write, Xfw) - Integrated image viewer (X File Image, Xfi) - Integrated package (rpm or deb) viewer / installer / uninstaller (X File Package, Xfp) - Custom shell scripts (like Nautilus scripts) - Search files and directories - Natural sort order (foo10.txt comes after foo2.txt...) - Copy/cut/paste files from and to your favorite desktop (GNOME/KDE/XFCE/ROX) - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/ROX) - Disk usage command - Root mode with authentication by su or sudo - Status line - File associations - Optional trash can for file delete operations (compliant with Freedesktop standards) - Auto save registry - Double click or single click files and directories navigation - Mouse right click pop-up menu in tree list and file lists - Change file attributes - Mount/Unmount devices (Linux only) - Warn when mount point are not responding (Linux only) - Toolbars - Bookmarks - Back and forward history lists for folder navigation - Path linker for folder navigation - Color themes (GNOME, KDE, Windows...) - Control themes (Standard or Clearlooks like) - Icon themes (Xfe, GNOME, KDE, Tango, Windows...) - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats are supported) - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, arj and 7zip formats are supported) - File comparison (through external tool) - Tooltips with file properties - Progress bars or dialogs for lengthy file operations - Thumbnails image previews - Configurable key bindings - Startup notification (optional) - and much more... Default Key bindings =-=-=-=-=-=-=-=-=-=-= Below are the global default key bindings. These key bindings are common to all X File applications. * Select all - Ctrl-A * Copy to clipboard - Ctrl-C * Search - Ctrl-F * Search previous - Ctrl-Shift-G * Search next - Ctrl-G * Go to home folder - Ctrl-H * Invert selection - Ctrl-I * Open file - Ctrl-O * Print file - Ctrl-P * Quit application - Ctrl-Q * Paste from clipboard - Ctrl-V * Close window - Ctrl-W * Cut to clipboard - Ctrl-X * Deselect all - Ctrl-Z * Display help - F1 * Create new file - Ctrl-N * Create new folder - F7 * Big icon list - F10 * Small icon list - F11 * Detailed file list - F12 * Toggle display hidden files - Ctrl-F6 * Toggle display thumbnails - Ctrl-F7 * Vertical panels - Ctrl-Shift-F1 * Horizontal panels - Ctrl-Shift-F2 * Go to working folder - Shift-F2 * Go to parent folder - Backspace * Go to previous folder - Ctrl-Backspace * Go to next folder - Shift-Backspace Below are the default X File Explorer key bindings. These key bindings are specific to the Xfe application. * Add bookmark - Ctrl-B * Filter files - Ctrl-D * Execute command - Ctrl-E * Create new symbolic link - Ctrl-J * Switch panels - Ctrl-K * Clear location bar - Ctrl-L * Mount file system (Linux only) - Ctrl-M * Rename file - F2 * Refresh panels - Ctrl-R * Symlink files to location - Ctrl-S * Launch terminal - Ctrl-T * Unmount file system (Linux only) - Ctrl-U * Synchronize panels - Ctrl-Y * Create new window - F3 * Edit - F4 * Copy files to location - F5 * Move files to location - F6 * File properties - F9 * One panel mode - Ctrl-F1 * Tree and panel mode - Ctrl-F2 * Two panels mode - Ctrl-F3 * Tree and two panels mode - Ctrl-F4 * Toggle display hidden directories - Ctrl-F5 * Go to trash can - Ctrl-F8 * Create new root window - Shift-F3 * View - Shift-F4 * Move files to trash can - Del * Restore files from trash can - Alt-Del * Delete files - Shift-Del * Empty trash can - Ctrl-Del Below are the default X File Image key bindings. These key bindings are specific to the Xfi application. * Zoom to fit window - Ctrl-F * Mirror image horizontally - Ctrl-H * Zoom image to 100% - Ctrl-I * Rotate image to left - Ctrl-L * Rotate image to right - Ctrl-R * Mirror image vertically - Ctrl-V Below are the default X File Write key bindings. These key bindings are specific to the Xfw application. * Toggle word wrap mode - Ctrl-K * Goto line - Ctrl-L * Create new document - Ctrl-N * Replace string - Ctrl-R * Save changes to file - Ctrl-S * Toggle line numbers mode - Ctrl-T * Toggle upper case mode - Ctrl-Shift-U * Toggle lower case mode - Ctrl-U * Redo last change - Ctrl-Y * Undo last change - Ctrl-Z X File Package (Xfp) only use some of the global key bindings. Note that all the default key bindings listed above can be customized in the Xfe Preferences dialog. However, some key actions are hardcoded an cannot be changed. These include: * Ctrl-+ and Ctrl-- - zoom in and zoom out image in Xfi * Shift-F10 - display context menus in Xfe * Space - select an item in file lists * Return - enter directories in file lists, open files, select button actions, etc. * Esc - close current dialog, unselect files, etc. Drag and Drop operations =-=-=-=-=-=-=-=-=-=-=-=-= Dragging a file or group or files (by moving the mouse while maintaining the left button pressed) to a folder or a file panel optionally opens a dialog that allows one to select the file operation: copy, move, link or cancel. Trash system =-=-=-=-=-=-= Starting with version 1.32, Xfe implements a trash system that is fully compliant with the Freedesktop standards. This allows the user to move files to the trash can and to restore files from it, from within Xfe or your favorite desktop. Note that the trash files location is now: $home/.local/share/Trash/files Configuration =-=-=-=-=-=-= You can perform any Xfe customization (layout, file associations, key bindings, etc.) without editing any file by hand. However, you may want to understand the configuration principles, because some customizations can also easily be done by manually editing the configurations files. Be careful to quit Xfe before manually editing any configuration file, otherwise changes could not be taken into account. The system-wide configuration file xferc is located in /usr/share/xfe, /usr/local/share/xfe or /opt/local/share/xfe, in the given order of precedence. Starting with version 1.32, the location of the local configuration files has changed. This is to be compliant with the Freedesktop standards. The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in the ~/.config/xfe folder. They are named xferc, xfwrc, xfirc and xfprc. At the very first Xfe run, the system-wide configuration file is copied into the local configuration file ~/.config/xfe/xferc which does not exists yet. If the system-wide configuration file is not found (in case of an unusal install place), a dialog asks the user to select the right place. It is thus easier to customize Xfe (this is particularly true for the file associations) by hand editing because all the local options are located in the same file. Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/local/share/xfe/icons/xfe-theme, depending on your installation. You can easily change the icon theme path in Preferences dialog. Scripts =-=-=-= Custom shell scripts can be executed from within Xfe on the files that are selected in a panel. You have to first select the files you want to proceed, then right click on the file list and go to the Scripts sub menu. Last, choose the script you want to apply on the selected files. The script files must be located in the ~/.config/xfe/scripts folder and have to be executable. You can organize this folder as you like by using sub-folders. You can use the Tools / Go to script folder menu item to directly go to the script folder and manage it. Here is an example of a simple shell script that list each selected file on the terminal from where Xfe was launched: #!/bin/sh for arg do /bin/ls -la "$arg" done You can of course use programs like xmessage, zenity or kdialog to display a window with buttons that allows you to interact with the script. Here is a modification of the above example that uses xmessage: #!/bin/sh ( echo "ls -la" for arg do /bin/ls -la "$arg" done ) | xmessage -file - Most often, it is possible to directly use Nautilus scripts found on the Internet without modifications. Search files and directories =-=-=-=-=-=-=-=-=-=-=-=-=-=-= Xfe can quickly search files and directories by using find and grep command backends. This is done through the Tools / Search files menu item (or by using the Ctrl-F shortcut). In the search window, users can then specify usual search patterns like name and text, but more sophisticated search options are also available (size, date, permissions, users, groups, follow symlinks and empty files). Results appear in a file list and users can use the right click menu to manage their files, the same way as they do in the file panels. The search can be interrupted by clicking on the Stop button or pressing the Escape key. Non Latin based languages =-=-=-=-=-=-=-=-=-=-=-=-= Xfe can display its user interface and also the file names in non latin character based languages, provided that you have selected a Unicode font that supports your character set. To select a suitable font, use the Edit / Preferences / Font menu item. Multilingual Unicode TrueType fonts can be found at this address: http://www.slovo.info/unifonts.htm Tips =-=-= File list - Select files and right click to open a context menu on the selected files - Press Ctrl + right click to open a context menu on the file panel - When dragging a file/folder to a folder, hold on the mouse on the folder to open it Tree list - Select a folder and right click to open a context menu on the selected folder - Press Ctrl + right click to open a context menu on the tree panel - When dragging a file/folder to a folder, hold on the mouse on the folder to expand it Copy/paste file names - Select a file and press Ctrl-C to copy its name into the clipboard. Then in a dialog,press Ctrl-V to paste the file name. - In a file operation dialog, select a filename in the line containing the source name and paste it directly to the destination using the middle button of your mouse. Then modify it to suit your needs. Add files to the clipboard - You can select files from a directory, copy them to the clipboard by pressing Ctrl-C. This erases the previous clipboard content. Then, you can move to another directory, select other files and add them to the clipboard content by pressing Shift-Ctrl-C. This does not erase the previous clipboard content. At last, you can move to the destination and press Ctrl-V to copy all the files you have in the clipboard. Of course, this also works with Ctrl-X and Shift-Ctrl-X to cut and paste the files. Startup notification - Startup notification is the process that displays a feedback (a sandbox cursor or whatever) to the user when he has started an action (file copying, application launching, etc.). Depending on the system, there can be some issues with startup notification. If Xfe was compiled with startup notification support, the user can disable it for all applications at the global Preferences level. He can also disable it for individual applications, by using the dedicated option in the first tab of the Properties dialog. This latter way is only available when the file is an executable. Disabling startup notification can be useful when starting an old application that doesn't support the startup notification protocol (e.g. Xterm, Xpdf). Root mode - If you use the sudo root mode, it can be useful to add password feedback to the sudo command. For this purpose, edit your sudoers file like this: sudo visudo -f /etc/suoders and then add 'pwfeedback' to the default options, as shown below: Defaults env_reset,pwfeedback After that, you should see stars (like *****) when you type your password in the small authentication window. Install from sources =-=-=-=-=-=-=-=-=-=-= To install Xfe in /usr/local, type (the last line must be run as root): ./configure make make install To install Xfe in another place, for example in /opt, type (last line as root): ./configure --prefix=/opt make make install The above installations assume that the FOX library is installed in a standard place (/usr or /usr/local). If FOX is installed in a non standard place, for example in /opt, then you should run (last line as root): PATH=$PATH:/opt/bin CPPFLAGS=-I/opt/include LDFLAGS=-L/opt/lib ./configure --prefix=/opt make make install Build an RPM package =-=-=-=-=-=-=-=-=-=-= You first need the correct fox-1.6.x and fox-devel-1.6.x packages to be installed. To create an RPM package from the Xfe sources, simply type: rpmbuild -ta Xfe-VVV.tar.gz where VVV is the Xfe version number (e.g. 1.35). The created RPM package Xfe-VVV-1.i386.rpm is usually located in /usr/src/rpm/RPM/i386, but this may vary depending on your distribution and/or your customizations. To install the created RPM package Xfe-VVV-1.i386.rpm, enter the following command (as root): rpm -Uvh Xfe-VVV-1.i386.rpm Build a Debian package =-=-=-=-=-=-=-=-=-=-=-= You first need the correct libfox1.6 and libfox1.6-dev packages to be installed. Extract the sources and enter the source folder: tar zxvf Xfe-VVV.tar.gz cd Xfe-VVV Then, build the Debian package (no need to sign the package, thus the -uc -us options): fakeroot dpkg-buildpackage -uc -us And finally, install the created package (as root): cd .. dpkg -i Xfe_VVV-1_i386.deb Bugs =-=-= Please report any found bug to Roland Baudin . Don't forget to mention the Xfe version you use, the FOX library version and your system name and version. Translations =-=-=-=-=-=-= Xfe is now available in 23 languages but some translations are only partial. To translate Xfe to your language, open the Xfe.pot file located in the po folder of the source tree with a software like poedit, kbabel or gtranslator and fill it with your translated strings (be careful to the hotkeys and c-format characters), and then send it back to me. I'll be pleased to integrate your work in the next Xfe release. Patches =-=-=-= If you have coded some interesting patch, please send it to me, I will try to include it in the next release... Enjoy! Many thanks to Maxim Baranov for his excellent X Win Commander and to all people that have provided useful patches, translations, tests and advices. [Last revision: 28/11/2015] xfe-1.42/xfw.xpm0000644000175100017510000002134312104671112010475 00000000000000/* XPM */ static char * xfw_xpm[] = { "48 48 255 2", " c None", ". c #000100", "+ c #040006", "@ c #000306", "# c #060309", "$ c #0D0A0F", "% c #0F0D11", "& c #0C0F0B", "* c #10120F", "= c #121411", "- c #151317", "; c #161A12", "> c #1F181C", ", c #1D1B1E", "' c #1C1D1B", ") c #1E1F1D", "! c #201E22", "~ c #1F1F27", "{ c #212229", "] c #25241D", "^ c #262427", "/ c #28262A", "( c #2B2726", "_ c #2A282B", ": c #322A2F", "< c #352D32", "[ c #333135", "} c #393237", "| c #3C3233", "1 c #393A38", "2 c #3B393D", "3 c #473A1C", "4 c #403D32", "5 c #3F3D41", "6 c #3B3F42", "7 c #433F3E", "8 c #454130", "9 c #3C4440", "0 c #4A4247", "a c #434638", "b c #464447", "c c #474549", "d c #4A484C", "e c #4A4B49", "f c #4C4A4E", "g c #484F56", "h c #505038", "i c #584F2E", "j c #50524F", "k c #535441", "l c #535452", "m c #5B5734", "n c #675D3C", "o c #5C5E5B", "p c #5C646B", "q c #67616B", "r c #646563", "s c #766D39", "t c #706E72", "u c #7B7344", "v c #767478", "w c #787A77", "x c #7B797D", "y c #907B2F", "z c #767B7E", "A c #947E2B", "B c #777E86", "C c #958034", "D c #798088", "E c #9B7F2E", "F c #8D834D", "G c #8C8353", "H c #7F8487", "I c #858387", "J c #838582", "K c #9F8835", "L c #8E858B", "M c #9C8848", "N c #818C7B", "O c #A4883E", "P c #908882", "Q c #878C8F", "R c #8B8D8A", "S c #9C8F4D", "T c #8F8D91", "U c #9E9256", "V c #939095", "W c #A29452", "X c #929491", "Y c #AA944E", "Z c #98969A", "` c #94999B", " . c #979996", ".. c #A99B59", "+. c #9A9B98", "@. c #979C9F", "#. c #9A9EAD", "$. c #9CA1A3", "%. c #A5A193", "&. c #A0A29F", "*. c #C5A233", "=. c #A4A1A6", "-. c #C4A343", ";. c #A2A4A1", ">. c #C0A543", ",. c #B4A662", "'. c #A3A5A2", "). c #C2A745", "!. c #A5A7A4", "~. c #C4A846", "{. c #A6A8A5", "]. c #A7A9A6", "^. c #BDAB54", "/. c #AAA8AC", "(. c #A5AAAD", "_. c #BAAD55", ":. c #C7AB4A", "<. c #A9ABA8", "[. c #C7AC51", "}. c #AAACA9", "|. c #C9AD4B", "1. c #A8ADAF", "2. c #ABADAA", "3. c #C2AF58", "4. c #ACAEAB", "5. c #CBAF4D", "6. c #AEB0AD", "7. c #B0B0BA", "8. c #B0B2AF", "9. c #D0B351", "0. c #B2B4B1", "a. c #B6B3B8", "b. c #B3B5B2", "c. c #CCB75A", "d. c #C3B77E", "e. c #B8B5BA", "f. c #B7B7AE", "g. c #B5B7B4", "h. c #C9B96E", "i. c #B6B8B5", "j. c #B7B9B6", "k. c #D1BB5E", "l. c #BCBB9F", "m. c #B8BAB7", "n. c #B6BBBD", "o. c #B9BBB8", "p. c #BABCB9", "q. c #BDBBBF", "r. c #BBBDBA", "s. c #CEC067", "t. c #C1BEC3", "u. c #BBC0C2", "v. c #BEC0BD", "w. c #CFC183", "x. c #E2C251", "y. c #C0C2BE", "z. c #C1C3BF", "A. c #C2C4C1", "B. c #D3C586", "C. c #D9C675", "D. c #C3C5C2", "E. c #C4C6C3", "F. c #C4C5CF", "G. c #C5C7C4", "H. c #C6C8C5", "I. c #C7C9C6", "J. c #DACA85", "K. c #C8CAC7", "L. c #C9CBC8", "M. c #DECE6E", "N. c #CACCC9", "O. c #C7CDCF", "P. c #CBCECA", "Q. c #CDCFCB", "R. c #DAD09C", "S. c #CED0CC", "T. c #CFD1CE", "U. c #D0D2CF", "V. c #D1D3D0", "W. c #CCD5DD", "X. c #D3D5D2", "Y. c #D4D6D3", "Z. c #D1D7D9", "`. c #D5D7D4", " + c #D2D8DA", ".+ c #EEDB6D", "++ c #D6D8D5", "@+ c #D8DAD6", "#+ c #E4DBAD", "$+ c #D6DBDD", "%+ c #D9DBD7", "&+ c #E9DCA2", "*+ c #D7DCDF", "=+ c #DCDCD3", "-+ c #DADCD9", ";+ c #DBDDDA", ">+ c #DCDEDB", ",+ c #DDDFDC", "'+ c #DEE0DD", ")+ c #DFE1DE", "!+ c #ECE4A2", "~+ c #E0E2DF", "{+ c #E3E4CD", "]+ c #E1E4E0", "^+ c #FEE872", "/+ c #E3E5E1", "(+ c #E4E6E3", "_+ c #E8E5EA", ":+ c #E5E7E4", "<+ c #E2E8EA", "[+ c #E6E8E5", "}+ c #DEEBEC", "|+ c #E7E9E6", "1+ c #F6ECA3", "2+ c #E8EAE7", "3+ c #E8E9F3", "4+ c #E9EBE8", "5+ c #E6ECEE", "6+ c #EAECE9", "7+ c #FEF09A", "8+ c #EBEEEA", "9+ c #F3EDEC", "0+ c #EDEFEB", "a+ c #FFF76E", "b+ c #EEF0ED", "c+ c #EFF1EE", "d+ c #FFFB68", "e+ c #F0F2EF", "f+ c #F1F3F0", "g+ c #FDFC7F", "h+ c #F2F4F1", "i+ c #FFFD72", "j+ c #FFFD79", "k+ c #F3F5F2", "l+ c #F0F6F8", "m+ c #F7F6ED", "n+ c #F1F9E1", "o+ c #F4F7F3", "p+ c #FCFF97", "q+ c #F6F8F4", "r+ c #F7F9F6", "s+ c #F5FAFD", "t+ c #F8FAF7", "u+ c #FBFAF1", "v+ c #FEF9F7", "w+ c #F9FBF8", "x+ c #FAFCF9", "y+ c #FBFDFA", "z+ c #F5FFFA", "A+ c #FFFEEF", "B+ c #FCFFEF", "C+ c #F9FFFF", "D+ c #FCFFFB", "E+ c #FFFFF5", "F+ c #FEFFFC", " ", " ", " ", " & . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = ", " . `.4+/+/+]+]+,+'+'+>+%+@+@+`.Y.V.S.S.S.N.L.K.G.G.E.D.A.v.v.G.V . ; ", " . 6+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+t.q+. ' ", " . [+F+|+]+]+]+]+]+]+]+)+)+)+)+]+]+]+,+,+,+'+>+>+>+>+>+/+y+r+F+a.F+r+. { ", " . [+F+%+S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.S.N.N.N.N.N.L.@+y+r+F+e.F+F+v+. _ ", " . [+F+|+'+)+)+)+)+'+'+)+,+,+,+'+%+%+%+%+%+%+%+%+%+%+%+2+w+t+F+e.y+h+q+F+. ( ", " . [+F+]+`.@+@+@+@+@+@+X.X.X.Y.V.X.V.X.V.V.V.V.V.V.S.S.]+x+q+t+q.v+9+_+3+y+. ] ", " . [+F+%+>+>+,+@+%+%+%+%+%+%+%+%+%+%+@+@+@+@+@+@+%+Y.X.[+t+t+r+V /.Z I P =.q.. ", " . [+F+@+@+%+Y.`.`.`.`.`.`.`.`.`.Y.Y.Y.Y.Y.Y.Y.`.S.V.S./+w+o+F+8.(.G.E.6.X r . ", " . [+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+x+y+y+x+t+q+y+O.k G j <+F+F+8.. ", " . [+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+y+F+F+r+q+q+o+F+i p+[.x.m C+x+2.. ", " . [+F+S.Q.S.Q.Q.Q.Q.Q.Q.S.P.P.P.Q.P.P.P.Q.K.K.K.E.6+t+r+F+#.^+&+:.c...Q F+2.. ", " . [+F+]+]+]+]+]+]+]+]+]+)+)+)+)+'+'+'+)+%+%+%+%+@+0+t+k+F+h g+^.:.B.O p F+2.. ", " . [+F+V.S.S.S.S.Q.S.S.L.N.N.N.N.N.N.N.N.N.N.N.L.`.F+o+y+7..+!+~.5.W u 5+y+<.. ", " . [+F+2+[+[+|+[+[+[+[+[+[+[+]+]+]+]+]+]+]+]+]+'+/+r+k+F+a j+3.:.J.E 6 F+t+}.. ", " . [+F+L.K.N.K.K.K.I.I.I.I.E.G.G.G.G.G.H.E.E.A.`.y+o+x+F.M.1+).|.,.U n.q+x+}.. ", " . /+F+6+8+|+|+|+|+|+|+2+[+[+[+[+[+[+|+/+/+/+/+[+r+o+F+9 i+h.:.C.y 8 F+e+x+}.. ", " . /+F+D.D.E.E.D.D.D.E.A.A.A.A.A.A.D.z.A.z.z.v.6+r+q+W.s.7+-.|.d.Y B F+h+t+}.. ", " . /+F+[+[+[+[+|+|+|+]+/+/+/+/+/+/+]+]+]+]+]+]+f+k+F+7 d+w.:.k.C n F+e+e+t+}.. ", " . /+F+F+F+y+F+F+F+F+F+F+F+y+y+y+x+x+x+x+w+w+w+k+o+<+_.7+>.:.B.K g F+e+f+t+}.. ", " . /+F+k+c+e+e+e+b+b+c+c+8+8+0+6+6+6+8+6+6+6+e+k+F+e a+#+*.9.M F *+h+f+e+t+}.. ", " . /+F+m.j.m.m.m.m.m.j.j.j.m.i.i.i.j.b.b.b.8.X.x+l+s E+E+F+R.A 4 F+c+e+e+w+}.. ", " . /+y+o+f+h+e+e+f+c+c+c+e+b+b+b+b+b+c+c+0+c+t+t+Y.N E+y+E+{+S $.t+e+e+f+r+}.. ", " . /+F+p.p.r.r.r.p.p.p.p.o.o.o.o.m.m.m.j.i.b.F+r+A.%.E+F+m+A+3 F+b+e+f+c+r+}.. ", " . /+F+f+0+0+0+0+0+b+b+8+8+8+0+0+0+0+4+4+b+F+e+t+0.f.F+u+B+l.z y+e+f+c+e+r+}.. ", " . /+F+v.z.A.z.z.A.y.y.y.y.z.v.v.v.v.v.v.L.r+k+x++.=+F+m+n+^ F+b+f+c+e+c+r+}.. ", " . /+F+)+)+%+%+%+%+>+>+>+>+%+>+>+>+>+>+%+q+h+h+F+ .l X F+@ F+0+c+c+e+c+c+r+}.. ", " . ]+F+P.I.K.K.K.K.K.K.K.K.K.K.K.K.K.L.A.h+k+k+y+X . | * F+e+c+e+c+c+c+c+t+}.. ", " . ]+x+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+q+h+k+f+F+w q ) ]+o+c+e+c+c+c+c+e+q+}.. ", " . ]+F+4.2.4.4.4.2.4.2.4.4.4.4.4.4.}.{.F+k+f+f+F+o 1 8.F+b+e+c+c+c+c+e+b+q+}.. ", " . '+y+o+q+q+q+k+o+o+o+o+k+k+k+k+h+k+k+h+f+f+h+k+L.R F+0+e+c+c+c+c+e+b+c+q+}.. ", " . '+y+w+r+o+y+F+k+q+o+t+F+q+k+f+F+F+F+F+8+0+F+F+e+F+8+e+c+c+b+t+b+b+c+b+q+}.. ", " . '+F+q+q+t+%+f k+o+F+<+6 @+k+F+&.5 < ~ F+F+d - F+e+6+F+F+4+y+n.f+c+b+c+o+}.. ", " . '+x+q+r+F++ . c+F+$+. . z+F++ + n.P.g.k+F+. . F+b+F+} 6 F+H.$ F+b+c+0+o+}.. ", " . '+y+r+o+F+` . =.F++ [ F+y+'.. +F+F+F+b+|+. $ F+q+u.. T F+< V t+c+0+0+o+<.. ", " . '+y+o+q+k+F+! % + D F+e+F+t . v : $ + F+F+> . F+F+_ . )+`.. F+0+0+0+b+k+<.. ", " . '+w+q+o+k+F+t.. b F+6+r+/++ 2 P.0+F+6+e+t+@.. F+@.. . F+. {.t+0+0+b+8+k+<.. ", " . '+x+o+k+F+1.. }+. v F+b+F+[ H F+h+e+k+c+e+F+. x . h+. 0 / F+6+0+b+8+0+k+<.. ", " . '+x+q+F+1.. F+t+F+% H F+F+, 1.t+e+f+c+e+c+F+c . s+F+5 c F+6+0+b+8+0+8+k+<.. ", " . |+F+F+F+J F+w+x+x+F+F+r+F+L Z.F+w+r+t+t+t+k+F+F+q+f+F+F+k+o+q+k+k+k+o+F+].. ", " . .].!.;.b.'.!.!.!.!.!.!.;.b.].'.!.!.!.!.!.!.{.{.!.!.!.!.!.!.!.!.!.!.!.!.o.. ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " ", " ", " "}; xfe-1.42/config.rpath0000755000175100017510000003744411444154372011476 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2006 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix3*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | kfreebsd*-gnu | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; kfreebsd*-gnu) ;; freebsd* | dragonfly*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; interix3*) ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; knetbsd*-gnu) ;; netbsd*) ;; newsos6) ;; nto-qnx*) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.3*) ;; sysv4*MP*) ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xfe-1.42/xfp.svg0000644000175100017510000007214311444154372010477 00000000000000 image/svg+xml XFP xfe-1.42/Makefile.am0000644000175100017510000000167012600770274011212 00000000000000man_MANS=xfe.1 xfi.1 xfp.1 xfw.1 SUBDIRS = intl po m4 src icons DIST_SUBDIRS = intl po m4 src icons rcdir = $(prefix)/share/xfe rc_DATA = xferc EXTRA_DIST = autogen.sh iconlinks.sh config.h i18n.h xfe.1 xfi.1 xfp.1 xfw.1 \ ABOUT-NLS TODO BUGS xfe.spec.in xferc.in xfe.spec *.desktop.in.in *.png *.xpm *.svg \ $(top_srcdir)/icons/* $(top_srcdir)/debian icondir = $(prefix)/share/pixmaps icon_DATA = xfe.png xfi.png xfp.png xfw.png xfe.xpm xfi.xpm xfp.xpm xfw.xpm desktopdir = $(prefix)/share/applications desktop_in_files = xfe.desktop.in xfw.desktop.in xfi.desktop.in xfp.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ dist-hook: cd po && $(MAKE) update-po cp po/*.po* $(distdir)/po rm -rf $(distdir)/po/*~ rm -rf $(distdir)/debian/xfe install-data-hook: sh iconlinks.sh $(top_srcdir) $(DESTDIR)$(rcdir) uninstall-hook: rm -rf $(DESTDIR)$(rcdir) ACLOCAL_AMFLAGS = -I m4 xfe-1.42/ABOUT-NLS0000644000175100017510000023334011444154372010406 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. xfe-1.42/xfw.svg0000644000175100017510000004020011444154372010473 00000000000000 image/svg+xml Favourites (emblem) 2005-02-01 Jakub Steiner http://jimmac.musichall.cz/ Andreas Nilsson <nisses.mail@home.se> XFW xfe-1.42/xfp.png0000644000175100017510000000367511444154372010470 00000000000000PNG  IHDR00` PLTE    ) !# #$$"&'(&$+)+.+ +,*-,&10)/1.203-4!03'45#1573:'8:81=6>@=>A4@A/:EPCI0HG@HI7GJ=?M]PM@MOLPOHGQ]NRDQS@TS;QXDTVSXW?XWOZ[H]ZMY\NI_o^_L^^V]_\]cIcbJ`dUdd\efSahSifYlmYjm_goYUppoV^ppq]qosnsYrrjovaqw\twWtvawv\xugtvsrzdtz_xye|{az{gu}g|{sz}n|}i|nyd|^qk~hio~zklssoosspww{{v~|ƞɕŅ˥ͤæˬÝɜҷȳѧƣ٪͹ݯٳֿòÿǷݾ̼iKtRNS@fbKGDH pHYs B(xtIME 7rd6IDATHՕm\SU}JPÊ2^0+, DZ4V[,G\9aˢYZh-B$Y:[-[[֥%1ܭ{T~}<9&mpx +/d0Ψ]aT&OK>Vk0tlb0/ ER.'L cV ׻MB"F[a47^ /O |%>CyQ]|1_l 7C|!>vԾBkU X(YŠ=4}^o~ή5RZ-bI:]na˾d{ NG֩~r`@-9 C.;]pٓ N^Bg"&Ňf66wܟv~pQ)5`C nKyٳǛ]|vPڇ$N KNg=NGCoԯcUvccdt&Kfʟ] n;_-◟7Rؙ]FR. U\ CD[`2"S3>MĎh7N_IENDB`xfe-1.42/xfe.spec0000644000175100017510000000550512746115270010615 00000000000000Name: xfe Version: 1.42 Summary: X File Explorer (Xfe) is a file manager for X. Release: 1 License: GPL Group: File tools Requires: fox >= 1.6 libpng >= 1.2 BuildRequires: fox-devel >= 1.6 libpng-devel >= 1.2 Source: %{name}-%{version}.tar.gz Packager: Roland Baudin BuildRoot: %{_tmppath}/%{name}-buildroot %description X File Explorer (Xfe) is a filemanager for X. It is based on the popular X Win Commander, which is discontinued. Xfe is desktop independent and is written with the C++ Fox Toolkit. It has Windows Commander or MS-Explorer look and is very fast and simple. The main features are: file associations, mount/umount devices, directory tree for quick cd, change file attributes, auto save registry, compressed archives view/creation/extraction and much more. %prep %setup -q %build %configure --with-included-gettext --enable-release make %install rm -rf %{buildroot} %makeinstall %find_lang %{name} if [ -f %{buildroot}%{_datadir}/locale/locale.alias ]; then rm %{buildroot}%{_datadir}/locale/locale.alias fi %clean rm -rf %{buildroot} %files -f %{name}.lang %defattr(644,root,root,755) %doc AUTHORS COPYING README TODO BUGS %attr(755,root,root) %{_bindir}/* %{_datadir}/xfe/icons/* %{_datadir}/xfe/xferc %{_datadir}/applications/xf*.desktop %{_datadir}/pixmaps/* %{_mandir}/man1/* %changelog * Tue Sep 8 2009 Roland Baudin - Added desktop files to the files section * Tue Feb 13 2007 Roland Baudin - Fixed again the location of the config file xferc * Tue Feb 6 2007 Roland Baudin - Rebuild for Fedora Core 6 - Fixed the location of the config file xferc * Thu Nov 23 2006 Roland Baudin - Added configure --enable-release option * Wed Oct 11 2006 Roland Baudin - FOX 1.6.x support - Removed the static build option * Tue Jun 21 2005 Roland Baudin - FOX 1.4.x support. * Tue Aug 3 2004 Andrzej Stypula - locale adjustment * Thu Jul 29 2004 Andrzej Stypula - file permissions adjustment * Thu Jul 29 2004 Roland Baudin - FOX 1.2.x support. * Fri Dec 19 2003 Roland Baudin - Rebuild for Fedora Core 1. * Mon Oct 8 2003 Roland Baudin - Add of libPNG requirements. * Mon Sep 8 2003 Roland Baudin - Spec file for RedHat 9. * Fri Jul 18 2003 Roland Baudin - Add of the man pages and fix of the locale.alias problem. * Mon Apr 14 2003 Roland Baudin - Fixed the Xfe icon destination. * Fri Apr 11 2003 Roland Baudin - Add of i18n. * Tue Jan 28 2003 Roland Baudin - Add of the '--with-static' build option. * Thu Oct 15 2002 Roland Baudin - First release of the spec file for RedHat 7.3. xfe-1.42/xfe.xpm0000644000175100017510000002134312104671022010453 00000000000000/* XPM */ static char * xfe_xpm[] = { "48 48 255 2", " c None", ". c #142135", "+ c #1E222E", "@ c #1B2333", "# c #222632", "$ c #202737", "% c #26272E", "& c #232A3B", "* c #2D2E2C", "= c #2B2E3B", "- c #27304B", "; c #22334C", "> c #2B3243", ", c #293954", "' c #35393B", ") c #324045", "! c #3F424F", "~ c #37454A", "{ c #3A465C", "] c #424653", "^ c #494952", "/ c #434B5D", "( c #414C63", "_ c #575559", ": c #5F565C", "< c #4B5A77", "[ c #565A5C", "} c #4F5A71", "| c #4C5C78", "1 c #5C5A5D", "2 c #5B5C65", "3 c #4F5E7B", "4 c #575E65", "5 c #516065", "6 c #546060", "7 c #585F66", "8 c #4D6183", "9 c #556078", "0 c #52617E", "a c #4B648B", "b c #536380", "c c #5B636A", "d c #566582", "e c #526688", "f c #576683", "g c #586784", "h c #5B696F", "i c #506990", "j c #596886", "k c #526B92", "l c #636A72", "m c #686972", "n c #546D95", "o c #5D6C89", "p c #596D8F", "q c #506F9C", "r c #736A70", "s c #566F97", "t c #676F76", "u c #5C7092", "v c #5E7295", "w c #737175", "x c #607497", "y c #5C759D", "z c #5F74A3", "A c #667593", "B c #707482", "C c #627699", "D c #73747D", "E c #5479AB", "F c #5A78A5", "G c #63779A", "H c #6078A1", "I c #64789B", "J c #78776F", "K c #5D79AD", "L c #5C7AA7", "M c #5D7BA8", "N c #747886", "O c #6979A3", "P c #637BA4", "Q c #6B7A98", "R c #5F7DAA", "S c #667BAA", "T c #647DA5", "U c #607EAB", "V c #697DA0", "W c #617FAD", "X c #7C7D86", "Y c #6780A8", "Z c #6381AE", "` c #777E92", " . c #6981AA", ".. c #6482B0", "+. c #6F80AA", "@. c #6A82AB", "#. c #6C81B0", "$. c #6B83AC", "%. c #6684B2", "&. c #7083A7", "*. c #7282AC", "=. c #6C84AD", "-. c #6785B3", ";. c #6D85AE", ">. c #7285A9", ",. c #6E86AF", "'. c #6F87B0", "). c #6B88B7", "!. c #79888E", "~. c #7487AB", "{. c #7088B1", "]. c #7787B2", "^. c #7189B3", "/. c #778AAE", "(. c #728BB4", "_. c #858997", ":. c #7F8B98", "<. c #8B8A82", "[. c #738CB5", "}. c #898B88", "|. c #748DB6", "1. c #878B9A", "2. c #788F9F", "3. c #7A8DB1", "4. c #768EB7", "5. c #7B8EB2", "6. c #808FA1", "7. c #898D9C", "8. c #838F9C", "9. c #7C8FB3", "0. c #7790B9", "a. c #7D90B4", "b. c #7E91B5", "c. c #7F92B7", "d. c #7A93BC", "e. c #8093B8", "f. c #8A92A6", "g. c #8493B2", "h. c #8194B9", "i. c #94938B", "j. c #8793B9", "k. c #8396BB", "l. c #8D95A9", "m. c #8497BC", "n. c #8199C3", "o. c #8699BE", "p. c #9098AC", "q. c #8A99B8", "r. c #879BBF", "s. c #889CC0", "t. c #8D9CBC", "u. c #899DC1", "v. c #869FC9", "w. c #929EB8", "x. c #909FBE", "y. c #89A1CB", "z. c #92A1C0", "A. c #96A1BB", "B. c #90A4C9", "C. c #98A3BD", "D. c #9BA2C3", "E. c #9FA3B2", "F. c #9CA4B8", "G. c #96A5C5", "H. c #9AA5C0", "I. c #98A7BA", "J. c #94A7CC", "K. c #9FA6BB", "L. c #9BA7C1", "M. c #A0A8B0", "N. c #9AAAC9", "O. c #9CABBE", "P. c #A3AABF", "Q. c #A0ABC6", "R. c #A3AEC8", "S. c #A0AFCF", "T. c #9FB3D8", "U. c #A7B2CD", "V. c #AEB2C1", "W. c #A9B4C2", "X. c #ABB3C8", "Y. c #AAB5C3", "Z. c #ABB7C5", "`. c #B7B7AE", " + c #B5B6C0", ".+ c #B3B7C6", "++ c #ADB9D3", "@+ c #ADBDC4", "#+ c #B9BAC4", "$+ c #B3BBD0", "%+ c #B1BDCB", "&+ c #ABBFD8", "*+ c #B2BDD8", "=+ c #BBBBD2", "-+ c #B5BEC6", ";+ c #B9BDCD", ">+ c #BCBDC7", ",+ c #B3BED9", "'+ c #B7BFD4", ")+ c #B1C1D4", "!+ c #B5C1CF", "~+ c #B6C1DC", "{+ c #BFBFD6", "]+ c #BAC2D7", "^+ c #BCC4D9", "/+ c #C0C4D3", "(+ c #BBC7E2", "_+ c #C0C9D1", ":+ c #BBCBD2", "<+ c #BBCADE", "[+ c #C5C9D9", "}+ c #C2CADF", "|+ c #C0CCDA", "1+ c #C9CAD4", "2+ c #C0CBE6", "3+ c #CECADC", "4+ c #C8CDDC", "5+ c #C6CEE3", "6+ c #CBD3DC", "7+ c #BED6E8", "8+ c #C8D4E2", "9+ c #CCD3E9", "0+ c #D1D5E5", "a+ c #CED6EB", "b+ c #D5D6E0", "c+ c #D0D8E1", "d+ c #CDD9E7", "e+ c #D4D9E9", "f+ c #D8DAD7", "g+ c #D3DBF1", "h+ c #DADCD9", "i+ c #CFDFE6", "j+ c #D8DDE0", "k+ c #DFDED5", "l+ c #D5E1EF", "m+ c #E2E0E4", "n+ c #DAE2EB", "o+ c #E0E5E8", "p+ c #DDE6EE", "q+ c #E9E8DF", "r+ c #E4EAEC", "s+ c #E3EBF4", "t+ c #E8EDF0", "u+ c #E5F2F3", "v+ c #F0F2EF", "w+ c #EAF3FB", "x+ c #EBF4FC", "y+ c #F4F2F6", "z+ c #F6F8F4", "A+ c #FAFCF8", "B+ c #F8FDFF", "C+ c #F2FFFF", "D+ c #FEFDF4", "E+ c #FCFEFB", "F+ c #FEFFFC", " ", " ", " ", " ", " ", " ", " ", " w U.*+H.,+C.,+F.,+C.,+F.,+Q.D ", " 1+F P P R R R R P P R P P F n.^ ", " !+L P Y P P P P P P H H H P q 2+ ", " >+v M H H F Q F G I C C G x G a (+6.O.8.F.7.O.6.O.:.O._.K._.K.2.K._.F._.X.! ", " -+x C C C C x x x x x x x v v v p u s u s s s s s s n n n n n n n n n o d I. ", " %+s u u u n n n n k n n i k i k k k g i g j f f f f d d d d d d d b f j j l. ", " >+k u o d 1 2 2 4 7 4 4 7 7 7 2 2 2 2 2 2 2 2 5 4 4 4 4 4 4 4 4 4 [ 9 b d l. ", " $+g n d l F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+- f d l. ", " #+d j b m F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+, g f p. ", " +0 g 3 l F+F+F+F+F+F+F+F+f+f+f+f+f+f+f+f+f+f+f+f+f+f+f+f+f+f+f+h+k+. ( ( ` ", " .+0 d 3 l F+F+F+F+F+F+q+X /+Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.Y.W.W.W.W.W.W.W.V.@+ + +V.0+~ ", " .+0 f 3 l F+F+F+F+F+F+c g+x.z.t.t.t.t.t.s.s.t.t.s.s.u.u.u.u.r.r.r.r.u.s.r.r.v.0 ", " ;+e j 8 t F+F+F+F+F+`.p+r.x.o.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.B./ ", " _ $ & @ * i.<.<.}.J M.)+G.o.s.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.B.) ", " E.}+7+a+a+a+a+}+5+5+5+9+++z.u.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.J.= ", " B G.r.o.o.o.o.o.o.o.o.m.s.s.r.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.v.# ", " h N.m.o.o.o.o.o.o.o.o.o.o.o.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.s.y.! ", " 6 N.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.o.&. ", " : N.h.m.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.m.Y ", " ' S.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.k.A ", " ~+c.e.h.h.h.h.4.h.h.h.h.h.e.4.h.h.h.h.e.a.0.4.0.h.h.h.h.h.h.e.a.4.|.|.b.h.h.m.e ", " ++a.b.b.b.e.].++|.e.c.c.{.|.{+5.c.c.{.0.U.$+^+$+5.b.b.c.c.{.0.$+0+i+e+Q.4.c.e.} ", " U.a.b.b.a.^.z+F+6+^.a.d.d+F+F+d.a.,.d+F+F+t+u+y+;.b.b.c.).d+F+l+8+3+r+++/.b.e.{ ", " F.a.5.5.5.;.F+F+&+/.3.e.A+F+++/.$.w+F+'+Y ~.,.;.b.5.9.#.F+F+).>.{./.;./.a.9.a.; ", " f.b.3.3.5.~.'+F+F+O %.F+F+j.>.9.).F+F+Z /.~.>.,.9.3./.X.F+d+Y ,.=.$.~.9.3.5.9.] ", " !.9.[.[.[.4.P A+F+)+F+t+S ^.4.).A.F+n+A.^+c+l+b+%.[.-.j+F+q.}+o+x+F+[+-.[.|.3.> ", " N b.^.[.[.[.[.4.F+F+[+E |.[.^.0.z+F+z+n+<+$+]+4+-.[.Z B+B+b+'+R.Q.H.o.^.[.|.^.% ", " B 3.{.{.{.^.M X.F+F+p+H ^.{.{.>.,+F+#.Z %.-.%.Z ^.'.{.F+|+K -.).).-.Z ^.^.'.>.+ ", " r d.'.'.^.E 3+F+*.P.F+m+y ^.'.Z [+F+M {.'.'.'.'.'.;.k.F+D.M Z U R g.$+@.{.;.&.! ", " ) z.;.'.U _+F+>.=.Z a.F+s+V ,.Z :+v+U '.'.'.'.'.'.$.o.F+s+r+r+F+D+c+d.;.'.&.&. ", " T. .@.0.F+z @.;.;.$.F h.;.=.W =+C+F =.=.=.=.=.=.;.W w.;+U.C.@.L U $.;.;.Y H ", " Q. .=.,.F =.=.=.=.=.=. .=.=.=.&.^.=.=.=.=.=.=.=.=.;.Z W Y Y $.=.=.=.=.;.W A ", " A.Y . . . . . . . . . . . .@. .Y @.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.Y P g ", " w.%.=.=.=.=.=.=.=.=.-.;.;.;.=.=.;.$.@.@.@.@.+.*.Z +.+.Z Y W Y Z U U U R Z 0 ", " ! 8 | | | | | | | | } < < } } } } } } } } } } } } } } } } } } } } } } } 9 ! ", " ", " ", " ", " ", " ", " "}; xfe-1.42/configure.ac0000644000175100017510000001714312634031177011445 00000000000000# # Script for autoconf 2.69 or later and automake 1.14 or later # # Initialize AC_INIT([xfe], [1.42]) AC_CONFIG_SRCDIR([src/XFileExplorer.cpp]) AM_INIT_AUTOMAKE([subdir-objects -Wall]) AM_CONFIG_HEADER([config.h]) # Test if compilation variables are already set and if not, reset them # This mechanism prevents these variables to be changed by the following AC macros # while still allowing to use user's variables if they are defined if test "$CXXFLAGS" = ""; then CXXFLAGS="" fi if test "$CFLAGS" = ""; then CFLAGS="" fi # Minimal LIBS LIBS="$LIBS -lX11" AC_USE_SYSTEM_EXTENSIONS # Checks for programs AC_PROG_CC AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET # Internationalization IT_PROG_INTLTOOL GETTEXT_PACKAGE=xfe AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The package name, for gettext]) AM_GNU_GETTEXT # Checks for header files. AC_PATH_X AC_FUNC_ALLOCA AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([fcntl.h mntent.h stdlib.h string.h sys/ioctl.h sys/statfs.h sys/time.h unistd.h utime.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_TYPE_UID_T AC_C_INLINE AC_TYPE_MODE_T AC_TYPE_PID_T AC_TYPE_SIZE_T AC_CHECK_MEMBERS([struct stat.st_rdev]) AC_HEADER_TIME AC_STRUCT_TM # Checks for library functions. AC_FUNC_CHOWN AC_FUNC_CLOSEDIR_VOID AC_FUNC_ERROR_AT_LINE AC_FUNC_FORK AC_FUNC_GETGROUPS AC_FUNC_GETMNTENT AC_FUNC_LSTAT AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK AC_FUNC_MALLOC AC_FUNC_MKTIME AC_FUNC_REALLOC AC_FUNC_STAT AC_FUNC_UTIME_NULL AC_CHECK_FUNCS([endgrent endpwent gethostname getmntent gettimeofday lchown memset mkdir mkfifo putenv rmdir setlocale sqrt strchr strdup strerror strstr strtol strtoul strtoull utime]) # Large files support AC_SYS_LARGEFILE # Check for FOX 1.6 AC_CHECK_LIB(FOX-1.6,fxfindfox,,AC_MSG_ERROR("libFOX-1.6 not found")) # Check for FOX 1.6 header files AC_HEADER_STDC AC_LANG_CPLUSPLUS AC_CHECK_HEADER(fox-1.6/fx.h,,AC_MSG_ERROR("fox-1.6/fx.h not found")) # Check if fox-config exists AC_CHECK_PROGS(FOX_CONFIG,fox-config-1.6 fox-1.6-config fox-config) if test no"$FOX_CONFIG" = no ; then AC_MSG_ERROR("fox-config not found") fi # Include flags for the FOX library FOXCFLAGS=`$FOX_CONFIG --cflags` CXXFLAGS="${CXXFLAGS} $FOXCFLAGS" # Check if FOX was compiled with xft support TEST_XFT=`$FOX_CONFIG --libs | grep Xft` if test "x$TEST_XFT" != "x" ; then echo "checking whether FOX was compiled with Xft support... yes" # Check for FreeType2 headers freetype_config='' AC_CHECK_PROGS(freetype_config,freetype-config,) if test -n "$freetype_config"; then freetype_cflags=`$freetype_config --cflags` freetype_libs=`$freetype_config --libs` LIBS="$LIBS $freetype_libs" CPPFLAGS="$freetype_cflags $CPPFLAGS" fi AC_CHECK_HEADER(config/ftheader.h,,[AC_CHECK_HEADER(freetype/config/ftheader.h,,AC_MSG_ERROR("ftheader.h not found"))]) # Check for Xft headers xft_config='' AC_CHECK_PROGS(xft_config,xft-config,) if test -n "$xft_config"; then xft_cflags=`$xft_config --cflags` xft_libs=`$xft_config --libs` LIBS="$LIBS $xft_libs" CPPFLAGS="$xft_cflags $CPPFLAGS" CXXFLAGS="${CXXFLAGS} -DHAVE_XFT_H" else # On some systems (e.g. Fedora) xft-config is deprecated and pkg-config should be used instead pkg_config='' AC_CHECK_PROGS(pkg_config,pkg-config,) if test -n "$pkg_config"; then xft_cflags=`$pkg_config --cflags xft` xft_libs=`$pkg_config --libs xft` LIBS="$LIBS $xft_libs" CPPFLAGS="$xft_cflags $CPPFLAGS" CXXFLAGS="${CXXFLAGS} -DHAVE_XFT_H" fi fi AC_CHECK_HEADER(X11/Xft/Xft.h,,AC_MSG_ERROR("Xft.h not found")) else echo "checking whether FOX was compiled with Xft support... no" echo "" echo "===================================== Error! ================================================" echo "Configure has detected that your FOX library was compiled without Xft support." echo "Since Xfe version 1.42, Xft is mandatory and FOX *must* have been compiled with Xft support." echo "To enable Xft support in FOX, rebuild the FOX library using the following commands:" echo " ./configure --with-xft" echo " make" echo " sudo make install" echo "=============================================================================================" echo "" AC_MSG_ERROR("missing Xft support in FOX") fi # Check for Xlib headers AC_CHECK_HEADER(X11/Xlib.h,,AC_MSG_ERROR("Xlib.h not found")) # Check for XRandR support AC_MSG_CHECKING(for xrandr extension) AC_ARG_WITH(xrandr,[ --with-xrandr compile with XRandR support]) AC_MSG_RESULT([$with_xrandr]) if test "x$with_xrandr" != "xno"; then AC_CHECK_HEADERS(X11/extensions/Xrandr.h,CXXFLAGS="${CXXFLAGS} -DHAVE_XRANDR_H=1"; LIBS="${LIBS} -lXrandr") fi # Check for libPNG AC_CHECK_LIB(png, png_read_info,,AC_MSG_ERROR("libPNG not found")) AC_CHECK_HEADER(png.h,,AC_MSG_ERROR("png.h not found")) # Check for fontconfig AC_CHECK_LIB(fontconfig, FcInit,, AC_MSG_ERROR("fontconfig not found")) AC_CHECK_HEADER(fontconfig/fontconfig.h,,AC_MSG_ERROR("fontconfig.h not found")) # Check for startup notification support AC_MSG_CHECKING(for startup notification) AC_ARG_ENABLE(sn,[ --disable-sn compile without startup notification support]) AC_MSG_RESULT([$enable_sn]) AC_SUBST(STARTUPNOTIFY,false) if test "x$enable_sn" != "xno"; then CXXFLAGS="${CXXFLAGS} -DSTARTUP_NOTIFICATION" AC_SUBST(STARTUPNOTIFY,true) enable_sn=yes fi AM_CONDITIONAL(STARTUPNOTIFY, [test x$enable_sn = xyes]) # Building for debugging AC_MSG_CHECKING(for debugging) AC_ARG_ENABLE(debug,[ --enable-debug compile for debugging]) AC_MSG_RESULT([$enable_debug]) # Add debug symbols AC_MSG_CHECKING(minimalflags) AC_ARG_ENABLE(minimalflags,[ --enable-minimalflags respect system flags as much as possible]) AC_MSG_RESULT([$enable_minimalflags]) # Building for release AC_MSG_CHECKING(for release build) AC_ARG_ENABLE(release,[ --enable-release compile for release (advanced optimizations)]) AC_MSG_RESULT([$enable_release]) if test "x$enable_minimalflags" = "xyes" ; then if test "x$enable_debug" = "xyes" ; then CPPFLAGS="$CPPFLAGS -DDEBUG" else CPPFLAGS="$CPPFLAGS -DNDEBUG" fi else # Setting CXXFLAGS if test "x$enable_debug" = "xyes" ; then CXXFLAGS="${CXXFLAGS} -Wall -g -DDEBUG" elif test "x$enable_release" = "xyes" ; then CXXFLAGS="-DNDEBUG ${CXXFLAGS} " if test "${GXX}" = "yes" ; then CXXFLAGS="-O3 -Wall -ffast-math -fomit-frame-pointer -fno-strict-aliasing ${CXXFLAGS}" fi else CXXFLAGS="-O2 -Wall ${CXXFLAGS}" fi # Setting CFLAGS if test "x$enable_debug" = "xyes" ; then CFLAGS="${CFLAGS} -Wall -g -DDEBUG" elif test "x$enable_release" = "xyes" ; then CFLAGS="-DNDEBUG ${CFLAGS}" if test "${GCC}" = "yes" ; then CFLAGS="-O3 -Wall -ffast-math -fomit-frame-pointer -fno-strict-aliasing ${CFLAGS}" fi else CFLAGS="-O2 -Wall ${CFLAGS}" fi fi # Output AC_OUTPUT(Makefile intl/Makefile m4/Makefile po/Makefile.in xfe.spec xferc xfe.desktop.in xfi.desktop.in xfw.desktop.in xfp.desktop.in src/Makefile icons/Makefile icons/xfe-theme/Makefile icons/gnome-theme/Makefile icons/gnomeblue-theme/Makefile icons/windows-theme/Makefile icons/tango-theme/Makefile icons/kde-theme/Makefile) # Display CXXFLAGS, CFLAGS and LIBS echo "" echo "======================== Compiler and linker flags ========================" echo "CXXFLAGS=$CXXFLAGS" echo "CFLAGS=$CFLAGS" echo "LIBS=$LIBS" echo "===========================================================================" echo "" echo "Configure finished!" echo " Do: 'make' to compile Xfe." echo " Then: 'make install' (as root) to install Xfe." echo "" xfe-1.42/autogen.sh0000755000175100017510000000017211444154372011153 00000000000000#! /bin/sh # Regeneration of autoconf / automake files rm -f config.cache rm -f config.log aclocal autoconf automake -a xfe-1.42/ltmain.sh0000644000175100017510000054016311444154372011003 00000000000000# ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Check that we have a working $echo. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then # Yippee, $echo works! : else # Restart under the correct shell, and then maybe $echo will work. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" ##################################### # Shell function definitions: # This seems to be the best place for them # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. win32_libid () { win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` if test "X$win32_nmres" = "Ximport" ; then win32_libid_type="x86 archive import" else win32_libid_type="x86 archive static" fi fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $echo $win32_libid_type } # End of Shell function definitions ##################################### # Parse our command line options once, thoroughly. while test "$#" -gt 0 do arg="$1" shift case $arg in -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; tag) tagname="$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit 1 ;; esac case $tagname in CC) # Don't test for the "default" C tag, as we know, it's there, but # not specially marked. ;; *) if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" else $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi ;; esac ;; *) eval "$prev=\$arg" ;; esac prev= prevopt= continue fi # Have we seen a non-optional argument yet? case $arg in --help) show_help=yes ;; --version) $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" $echo $echo "Copyright (C) 2003 Free Software Foundation, Inc." $echo "This is free software; see the source for copying conditions. There is NO" $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit 0 ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 # Now print the configurations for the tags. for tagname in $taglist; do ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" done exit 0 ;; --debug) $echo "$progname: enabling shell trace mode" set -x ;; --dry-run | -n) run=: ;; --features) $echo "host: $host" if test "$build_libtool_libs" = yes; then $echo "enable shared libraries" else $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then $echo "enable static libraries" else $echo "disable static libraries" fi exit 0 ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: ;; --tag) prevopt="--tag" prev=tag ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit 1 ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit 1 fi # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 $echo "*** Future versions of Libtool will require -mode=MODE be specified." 1>&2 case $nonopt in *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do case $arg in -c) mode=compile break ;; esac done ;; *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) mode=install ;; *rm) mode=uninstall ;; *) # If we have no mode, but dlfiles were specified, then do execute mode. test -n "$execute_dlfiles" && mode=execute # Just use the default operation mode. if test -z "$mode"; then if test -n "$nonopt"; then $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 else $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 fi fi ;; esac fi # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then $echo "$modename: unrecognized option \`-dlopen'" 1>&2 $echo "$help" 1>&2 exit 1 fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$modename --help --mode=$mode' for more information." # These modes are in order of execution frequency so that they run quickly. case $mode in # libtool compile mode compile) modename="$modename: compile" # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_output= arg_mode=normal libobj= for arg do case "$arg_mode" in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) if test -n "$libobj" ; then $echo "$modename: you cannot specify \`-o' more than once" 1>&2 exit 1 fi arg_mode=target continue ;; -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac lastarg="$lastarg $arg" done IFS="$save_ifs" lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` # Add the arguments to base_compile. base_compile="$base_compile $lastarg" continue ;; * ) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac base_compile="$base_compile $lastarg" done # for arg case $arg_mode in arg) $echo "$modename: you must specify an argument for -Xcompile" exit 1 ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit 1 ;; *) # Get the name of the library object. [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; *.ads) xform=ads ;; *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; *.ii) xform=ii ;; *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.f90) xform=f90 ;; *.for) xform=for ;; *.java) xform=java ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case $libobj in *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit 1 ;; esac # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. if test -n "$available_tags" && test -z "$tagname"; then case $base_compile in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" case "$base_compile " in "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then $echo "$modename: unable to infer tagged configuration" $echo "$modename: specify a tag with \`--tag'" 1>&2 exit 1 # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then xdir= else xdir=$xdir/ fi lobj=${xdir}$objdir/$objname if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 exit 1 fi # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist trap "$run $rm $removelist; exit 1" 1 2 15 # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit 1" 1 2 15 else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $run ln "$0" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit 1 fi $echo $srcfile > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi $run $rm "$libobj" "${libobj}T" # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit 1 fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then $show "$mv $output_obj $lobj" if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the PIC object to the libtool object file. test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit 1 fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi else if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi fi build_libtool_libs=no build_old_libs=yes prefer_static_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" base_compile="$base_compile $arg" shift case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test ;; *) qarg=$arg ;; esac libtool_args="$libtool_args $qarg" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) compile_command="$compile_command @OUTPUT@" finalize_command="$finalize_command @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. compile_command="$compile_command @SYMFILE@" finalize_command="$finalize_command @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" if test ! -f "$arg"; then $echo "$modename: symbol file \`$arg' does not exist" exit 1 fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat $save_arg` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit 1 fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit 1 else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi done else $echo "$modename: link input file \`$save_arg' does not exist" exit 1 fi arg=$save_arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit 1 ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= compile_command="$compile_command $wl$qarg" finalize_command="$finalize_command $wl$qarg" continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 continue ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: more than one -exported-symbols argument is not allowed" exit 1 fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; esac continue ;; -L*) dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 exit 1 fi dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-mingw* | *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs -framework System" continue esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # gcc -m* arguments should be passed to the linker via $compiler_flags # in order to pass architecture information to the linker # (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo # but this is not reliable with gcc because gcc may use -mfoo to # select a different linker, different libraries, etc, while # -Wl,-mfoo simply passes -mfoo to the linker. -m*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" if test "$with_gcc" = "yes" ; then compiler_flags="$compiler_flags $arg" fi continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) # The PATH hackery in wrapper scripts is required on Windows # in order for the loader to find any dlls it needs. $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit 1 ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Wl,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $wl$flag" linker_flags="$linker_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit 1 fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit 1 else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi done # argument parsing loop if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 $echo "$help" 1>&2 exit 1 fi # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base link # command doesn't match the default compiler. if test -n "$available_tags" && test -z "$tagname"; then case $base_compile in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" case $base_compile in "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) # The compiler in $compile_command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then $echo "$modename: unable to infer tagged configuration" $echo "$modename: specify a tag with \`--tag'" 1>&2 exit 1 # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then output_objdir="$objdir" else output_objdir="$output_objdir/$objdir" fi # Create the object directory. if test ! -d "$output_objdir"; then $show "$mkdir $output_objdir" $run $mkdir $output_objdir status=$? if test "$status" -ne 0 && test ! -d "$output_objdir"; then exit $status fi fi # Determine the type of output case $output in "") $echo "$modename: you must specify an output file" 1>&2 $echo "$help" 1>&2 exit 1 ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac case $host in *cygwin* | *mingw* | *pw32*) # don't eliminate duplcations in $postdeps and $predeps duplicate_compiler_generated_deps=yes ;; *) duplicate_compiler_generated_deps=$duplicate_deps ;; esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if test "X$duplicate_deps" = "Xyes" ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 exit 1 ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 continue fi if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do # Search the libtool library lib="$searchdir/lib${name}.la" if test -f "$lib"; then found=yes break fi done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then library_names= old_library= case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi ;; *) $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) if test "$deplibs_check_method" != pass_all; then $echo $echo "*** Warning: Trying to link with static lib archive $deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because the file extensions .$libext of this argument makes me believe" $echo "*** that it is just a static archive that I should not used here." else $echo $echo "*** Warning: Linking the shared library $output against the" $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 exit 1 fi # Check to see that this really is a libtool archive. if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 fi ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." dlname= dlopen= dlpreopen= libdir= library_names= old_library= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit 1 fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit 1 fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit 1 fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 exit 1 fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 abs_ladir="$ladir" fi ;; esac laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then $echo "$modename: warning: library \`$lib' was moved." 1>&2 dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi # $installed = yes name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit 1 fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { test "$prefer_static_libs" = no || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var"; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $dir" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically if test -n "$library_names" && { test "$prefer_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi # This is a shared library # Warn about portability, can't link against -module's on some systems (darwin) if test "$shouldnotlink" = yes && test "$pass" = link ; then $echo if test "$linkmode" = prog; then $echo "*** Warning: Linking the executable $output against the loadable module" else $echo "*** Warning: Linking the shared library $output against the loadable module" fi $echo "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names realname="$2" shift; shift libname=`eval \\$echo \"$libname_spec\"` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" soname=`$echo $soroot | ${SED} -e 's/^.*\///'` newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else $show "extracting exported symbol list from \`$soname'" save_ifs="$IFS"; IFS='~' eval cmds=\"$extract_expsyms_cmds\" for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else $show "generating import library for \`$soname'" save_ifs="$IFS"; IFS='~' eval cmds=\"$old_archive_from_expsyms_cmds\" for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5* ) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a module then we can not link against it, someone # is ignoring the new warnings I added if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then $echo "** Warning, lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $echo $echo "** And there doesn't seem to be a static archive available" $echo "** The link will probably fail, sorry" else add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case "$libdir" in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" exit 1 fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && \ test "$hardcode_minus_L" != yes && \ test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case "$libdir" in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $echo $echo "*** Warning: This system can not link to static lib archive $lib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $echo "*** But as you try to build a module library, libtool will still create " $echo "*** a static module, that should work as long as the dlopening application" $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else convenience="$convenience $dir/$old_library" old_convenience="$old_convenience $dir/$old_library" deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in -L*) path="$deplib" ;; *.la) dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$deplib" && dir="." # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" fi ;; esac if grep "^installed=no" $deplib > /dev/null; then path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 fi if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi path="$absdir" fi depdepl= case $host in *-*-darwin*) # we do not want to link against static libs, but need to link against shared eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$path/$depdepl" ; then depdepl="$path/$depdepl" fi newlib_search_path="$newlib_search_path $path" path="" fi ;; *) path="-L$path" ;; esac ;; -l*) case $host in *-*-darwin*) # Again, we only want to link against shared libraries eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` for tmp in $newlib_search_path ; do if test -f "$tmp/lib$tmp_libs.dylib" ; then eval depdepl="$tmp/lib$tmp_libs.dylib" break fi done path="" ;; *) continue ;; esac ;; *) continue ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$deplibs $depdepl" ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$deplibs"; then $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 fi if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 fi if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 fi # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" ;; *) if test "$module" = no; then $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 exit 1 fi if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` eval shared_ext=\"$shrext\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit 1 else $echo $echo "*** Warning: Linking the shared library $output against the non-libtool" $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi if test "$dlself" != no; then $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 fi set dummy $rpath if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 fi else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 IFS="$save_ifs" if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 exit 1 fi # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$2" number_minor="$3" number_revision="$4" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) current=`expr $number_major + $number_minor - 1` age="$number_minor" revision="$number_minor" ;; esac ;; no) current="$2" revision="$3" age="$4" ;; esac # Check that each of the things are valid numbers. case $current in [0-9]*) ;; *) $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit 1 ;; esac case $revision in [0-9]*) ;; *) $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit 1 ;; esac case $age in [0-9]*) ;; *) $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit 1 ;; esac if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit 1 fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header major=.`expr $current - $age` versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... minor_current=`expr $current + 1` verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current"; ;; irix | nonstopux) major=`expr $current - $age + 1` case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) major=.`expr $current - $age` versuffix="$major.$age.$revision" ;; osf) major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. major=`expr $current - $age` versuffix="-$major" ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit 1 ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$echo "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) removelist="$removelist $p" ;; *) ;; esac done if test -n "$removelist"; then $show "${rm}r $removelist" $run ${rm}r $removelist fi fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. for path in $notinst_path; do lib_search_path=`$echo "$lib_search_path " | ${SED} -e 's% $path % %g'` deplibs=`$echo "$deplibs " | ${SED} -e 's% -L$path % %g'` dependency_libs=`$echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'` done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $rm conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for file magic test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a file magic. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name="`expr $a_deplib : '-l\(.*\)'`" # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval $echo \"$potent_lib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` done fi if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ | grep . >/dev/null; then $echo if test "X$deplibs_check_method" = "Xnone"; then $echo "*** Warning: inter-library dependencies are not supported in this platform." else $echo "*** Warning: inter-library dependencies are not known to be supported." fi $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $echo $echo "*** Warning: libtool could not satisfy all declared inter-library" $echo "*** dependencies of module $libname. Therefore, libtool will create" $echo "*** a static module, that should work as long as the dlopening" $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $echo "*** The inter-library dependencies that have been dropped here will be" $echo "*** automatically added whenever a program is linked with this library" $echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $echo $echo "*** Since this library must not contain undefined symbols," $echo "*** because either the platform does not support them or" $echo "*** it was explicitly requested with -no-undefined," $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" shift; shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols eval cmds=\"$export_symbols_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" if len=`expr "X$cmd" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then $show "$cmd" $run eval "$cmd" || exit $? skipped_export=false else # The command line is too long to execute in one step. $show "using reloadable object file for export list..." skipped_export=: fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" status=$? if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" for xlib in $convenience; do # Extract the objects. case $xlib in [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; *) xabs=`pwd`"/$xlib" ;; esac xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` xdir="$gentop/$xlib" $show "${rm}r $xdir" $run ${rm}r "$xdir" $show "$mkdir $xdir" $run $mkdir "$xdir" status=$? if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi # We will extract separately just the conflicting names and we will no # longer touch any unique names. It is faster to leave these extract # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 $AR t "$xabs" | sort | uniq -cd | while read -r count name do i=1 while test "$i" -le "$count" do # Put our $i before any first dot (extension) # Never overwrite any file name_to="$name" while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" do name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` done $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? i=`expr $i + 1` done done fi libobjs="$libobjs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval cmds=\"$module_expsym_cmds\" else eval cmds=\"$module_cmds\" fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else eval cmds=\"$archive_cmds\" fi fi if test "X$skipped_export" != "X:" && len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise. $echo "creating reloadable object files..." # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= delfiles= last_robj= k=1 output=$output_objdir/$save_output-${k}.$objext # Loop over the list of objects to be linked. for obj in $save_libobjs do eval test_cmds=\"$reload_cmds $objlist $last_robj\" if test "X$objlist" = X || { len=`expr "X$test_cmds" : ".*"` && test "$len" -le "$max_cmd_len"; }; then objlist="$objlist $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" fi last_robj=$output_objdir/$save_output-${k}.$objext k=`expr $k + 1` output=$output_objdir/$save_output-${k}.$objext objlist=$obj len=1 fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if ${skipped_export-false}; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols libobjs=$output # Append the command to create the export file. eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" fi # Set up a command to remove the reloadale object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$save_output-${i}.$objext" done $echo "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval cmds=\"$archive_expsym_cmds\" else eval cmds=\"$archive_cmds\" fi # Append the command to remove the reloadable object files # to the just-reset $cmds. eval cmds=\"\$cmds~$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? exit 0 fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$deplibs"; then $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case $output in *.lo) if test -n "$objs$old_deplibs"; then $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 exit 1 fi libobj="$output" obj=`$echo "X$output" | $Xsed -e "$lo2o"` ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $run $rm $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" else gentop="$output_objdir/${obj}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" status=$? if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" for xlib in $convenience; do # Extract the objects. case $xlib in [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; *) xabs=`pwd`"/$xlib" ;; esac xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` xdir="$gentop/$xlib" $show "${rm}r $xdir" $run ${rm}r "$xdir" $show "$mkdir $xdir" $run $mkdir "$xdir" status=$? if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi # We will extract separately just the conflicting names and we will no # longer touch any unique names. It is faster to leave these extract # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 $AR t "$xabs" | sort | uniq -cd | while read -r count name do i=1 while test "$i" -le "$count" do # Put our $i before any first dot (extension) # Never overwrite any file name_to="$name" while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" do name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` done $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? i=`expr $i + 1` done done fi reload_conv_objs="$reload_objs "`find $xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" eval cmds=\"$reload_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit 0 fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $run eval "echo timestamp > $libobj" || exit $? exit 0 fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" eval cmds=\"$reload_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit 0 ;; prog) case $host in *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi if test "$preload" = yes; then if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && test "$dlopen_self_static" = unknown; then $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." fi fi case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac case $host in *darwin*) # Don't allow lazy linking, it breaks C++ global constructors if test "$tagname" = CXX ; then compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" fi ;; esac compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then dlsyms="${outputname}S.c" else $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 fi fi if test -n "$dlsyms"; then case $dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${outputname}.nm" $show "$rm $nlist ${nlist}S ${nlist}T" $run $rm "$nlist" "${nlist}S" "${nlist}T" # Parse the name list into a source file. $show "creating $output_objdir/$dlsyms" test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ #define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then $show "generating symbol list for \`$output'" test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for arg in $progfiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$output.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' else $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' fi fi for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -z "$run"; then # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if grep -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ #undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ # define lt_ptr void * #else # define lt_ptr char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr address; } lt_preloaded_symbols[] = {\ " eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" $echo >> "$output_objdir/$dlsyms" "\ {0, (lt_ptr) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " fi pic_flag_for_symtable= case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. $show "(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" # Transform the symbol file into the correct name. compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit 1 ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" status=$? # Delete the generated files. if test -n "$dlsyms"; then $show "$rm $output_objdir/${outputname}S.${objext}" $run $rm "$output_objdir/${outputname}S.${objext}" fi exit $status fi if test -n "$shlibpath_var"; then # We should set the shlibpath_var rpath= for dir in $temp_rpath; do case $dir in [\\/]* | [A-Za-z]:[\\/]*) # Absolute path. rpath="$rpath$dir:" ;; *) # Relative path: add a thisdir entry. rpath="$rpath\$thisdir/$dir:" ;; esac done temp_rpath="$rpath" fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $run $rm $output # Link the executable and exit $show "$link_command" $run eval "$link_command" || exit $? exit 0 fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 $echo "$modename: \`$output' will be relinked during installation" 1>&2 else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname $show "$link_command" $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $0 --fallback-echo"; then case $0 in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; *) qecho="$SHELL `pwd`/$0 --fallback-echo";; esac qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if our run command is non-null. if test -z "$run"; then # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) cwrappersource=`$echo ${objdir}/lt-${output}.c` cwrapper=`$echo ${output}.exe` $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit 1" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef DIR_SEPARATOR #define DIR_SEPARATOR '/' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) #define HAVE_DOS_BASED_FILE_SYSTEM #ifndef DIR_SEPARATOR_2 #define DIR_SEPARATOR_2 '\\' #endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); char * basename (const char *name); char * fnqualify(const char *path); char * strendzap(char *str, const char *pat); void lt_fatal (const char *message, ...); int main (int argc, char *argv[]) { char **newargz; int i; program_name = (char *) xstrdup ((char *) basename (argv[0])); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = fnqualify(argv[0]); /* we know the script has the same name, without the .exe */ /* so make sure newargz[1] doesn't end in .exe */ strendzap(newargz[1],".exe"); for (i = 1; i < argc; i++) newargz[i+1] = xstrdup(argv[i]); newargz[argc+1] = NULL; EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" } void * xmalloc (size_t num) { void * p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL ; } char * basename (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha (name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return (char *) base; } char * fnqualify(const char *path) { size_t size; char *p; char tmp[LT_PATHMAX + 1]; assert(path != NULL); /* Is it qualified already? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha (path[0]) && path[1] == ':') return xstrdup (path); #endif if (IS_DIR_SEPARATOR (path[0])) return xstrdup (path); /* prepend the current directory */ /* doesn't handle '~' */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); size = strlen(tmp) + 1 + strlen(path) + 1; /* +2 for '/' and '\0' */ p = XMALLOC(char, size); sprintf(p, "%s%c%s", tmp, DIR_SEPARATOR, path); return p; } char * strendzap(char *str, const char *pat) { size_t len, patlen; assert(str != NULL); assert(pat != NULL); len = strlen(str); patlen = strlen(pat); if (patlen <= len) { str += len - patlen; if (strcmp(str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char * mode, const char * message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } EOF # we should really use a build-platform specific compiler # here, but OTOH, the wrappers (shell script and this C one) # are only useful if you want to execute the "real" binary. # Since the "real" binary is built for $host, then this # wrapper might as well be built for $host, too. $run $LTCC -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit 1" 1 2 15 $echo > $output "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variable: notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$echo are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then # Yippee, \$echo works! : else # Restart under the correct shell, and then maybe \$echo will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $mkdir \"\$progdir\" else $rm \"\$progdir/\$file\" fi" $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $echo \"\$relink_command_output\" >&2 $rm \"\$progdir/\$file\" exit 1 fi fi $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $rm \"\$progdir/\$program\"; $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } $rm \"\$progdir/\$file\" fi" else $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $echo >> $output "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ exec \$progdir\\\\\$program \${1+\"\$@\"} " ;; *) $echo >> $output "\ exec \$progdir/\$program \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit 1 fi else # The program doesn't exist. \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " chmod +x $output fi exit 0 ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" status=$? if test "$status" -ne 0 && test ! -d "$gentop"; then exit $status fi generated="$generated $gentop" # Add in members from convenience archives. for xlib in $addlibs; do # Extract the objects. case $xlib in [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; *) xabs=`pwd`"/$xlib" ;; esac xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` xdir="$gentop/$xlib" $show "${rm}r $xdir" $run ${rm}r "$xdir" $show "$mkdir $xdir" $run $mkdir "$xdir" status=$? if test "$status" -ne 0 && test ! -d "$xdir"; then exit $status fi # We will extract separately just the conflicting names and we will no # longer touch any unique names. It is faster to leave these extract # automatically by $AR in one run. $show "(cd $xdir && $AR x $xabs)" $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? if ($AR t "$xabs" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: warning: object name conflicts; renaming object files" 1>&2 $echo "$modename: warning: to ensure that they will not overwrite" 1>&2 $AR t "$xabs" | sort | uniq -cd | while read -r count name do i=1 while test "$i" -le "$count" do # Put our $i before any first dot (extension) # Never overwrite any file name_to="$name" while test "X$name_to" = "X$name" || test -f "$xdir/$name_to" do name_to=`$echo "X$name_to" | $Xsed -e "s/\([^.]*\)/\1-$i/"` done $show "(cd $xdir && $AR xN $i $xabs '$name' && $mv '$name' '$name_to')" $run eval "(cd \$xdir && $AR xN $i \$xabs '$name' && $mv '$name' '$name_to')" || exit $? i=`expr $i + 1` done done fi oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` done fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # the command line is too long to link in one step, link in parts $echo "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs # GNU ar 2.10+ was changed to match POSIX; thus no paths are # encoded into archives. This makes 'ar r' malfunction in # this piecewise linking case whenever conflicting object # names appear in distinct ar calls; check, warn and compensate. if (for obj in $save_oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: warning: object name conflicts; overriding AR_FLAGS to 'cq'" 1>&2 $echo "$modename: warning: to ensure that POSIX-compatible ar will work" 1>&2 AR_FLAGS=cq fi # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done for obj in $save_oldobjs do oldobjs="$objlist $obj" objlist="$objlist $obj" eval test_cmds=\"$old_archive_cmds\" if len=`expr "X$test_cmds" : ".*"` && test "$len" -le "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~$old_archive_cmds\" fi fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$generated"; then $show "${rm}r$generated" $run ${rm}r$generated fi # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` # Only create the output if not a dry run. if test -z "$run"; then for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit 1 fi newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 fi newdlfiles="$newdlfiles $libdir/$name" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit 1 fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" fi $rm $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? ;; esac exit 0 ;; # libtool install mode install) modename="$modename: install" # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) arg="\"$arg\"" ;; esac install_prog="$arg " arg="$1" shift else install_prog= arg="$nonopt" fi # The real first argument should be the name of the installation program. # Aesthetically quote it. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) arg="\"$arg\"" ;; esac install_prog="$install_prog$arg" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest="$arg" continue fi case $arg in -d) isdir=yes ;; -f) prev="-f" ;; -g) prev="-g" ;; -m) prev="-m" ;; -o) prev="-o" ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest="$arg" continue fi ;; esac # Aesthetically quote the argument. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*) arg="\"$arg\"" ;; esac install_prog="$install_prog $arg" done if test -z "$install_prog"; then $echo "$modename: you must specify an install program" 1>&2 $echo "$help" 1>&2 exit 1 fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit 1 fi if test -z "$files"; then if test -z "$dest"; then $echo "$modename: no file or destination specified" 1>&2 else $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit 1 fi # Strip any trailing slash from the destination. dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` test "X$destdir" = "X$dest" && destdir=. destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` # Not a directory, so check to see that there is only one file specified. set dummy $files if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit 1 fi fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 $echo "$help" 1>&2 exit 1 ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit 1 fi library_names= old_library= relink_command= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ test "X$dir" = "X$file/" && dir= dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. if test "$inst_prefix_dir" = "$destdir"; then $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 exit 1 fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 exit 1 fi fi # See the names of the shared library. set dummy $library_names if test -n "$2"; then realname="$2" shift shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. $show "$install_prog $dir/$srcname $destdir/$realname" $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? if test -n "$stripme" && test -n "$striplib"; then $show "$striplib $destdir/$realname" $run eval "$striplib $destdir/$realname" || exit $? fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" eval cmds=\"$postinstall_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Install the pseudo-library for information purposes. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` instname="$dir/$name"i $show "$install_prog $instname $destdir/$name" $run eval "$install_prog $instname $destdir/$name" || exit $? # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ;; *.$objext) staticdest="$destfile" destfile= ;; *) $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 $echo "$help" 1>&2 exit 1 ;; esac # Install the libtool object if requested. if test -n "$destfile"; then $show "$install_prog $file $destfile" $run eval "$install_prog $file $destfile" || exit $? fi # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` $show "$install_prog $staticobj $staticdest" $run eval "$install_prog \$staticobj \$staticdest" || exit $? fi exit 0 ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then file=`$echo $file|${SED} 's,.exe$,,'` stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= # To insure that "foo" is sourced, and not "foo.exe", # finese the cygwin/MSYS system by explicitly sourcing "foo." # which disallows the automatic-append-.exe behavior. case $build in *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; *) wrapperdot=${wrapper} ;; esac # If there is no directory component, then add one. case $file in */* | *\\*) . ${wrapperdot} ;; *) . ./${wrapperdot} ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 exit 1 fi finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then # If there is no directory component, then add one. case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac fi libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi done relink_command= # To insure that "foo" is sourced, and not "foo.exe", # finese the cygwin/MSYS system by explicitly sourcing "foo." # which disallows the automatic-append-.exe behavior. case $build in *cygwin* | *mingw*) wrapperdot=${wrapper}. ;; *) wrapperdot=${wrapper} ;; esac # If there is no directory component, then add one. case $file in */* | *\\*) . ${wrapperdot} ;; *) . ./${wrapperdot} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir="/tmp" test -n "$TMPDIR" && tmpdir="$TMPDIR" tmpdir_mktemp=`mktemp -d $tmpdir/libtool-XXXXXX 2> /dev/null` if test "$?" = 0 ; then tmpdir="$tmpdir_mktemp" unset tmpdir_mktemp else tmpdir="$tmpdir/libtool-$$" fi if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : else $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 continue fi file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ${rm}r "$tmpdir" continue fi file="$outputname" else $echo "$modename: warning: cannot relink \`$file'" 1>&2 fi else # Install the binary that we compiled earlier. file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyways case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; esac $show "$install_prog$stripme $file $destfile" $run eval "$install_prog\$stripme \$file \$destfile" || exit $? test -n "$outputname" && ${rm}r "$tmpdir" ;; esac done for file in $staticlibs; do name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` # Set up the ranlib parameters. oldlib="$destdir/$name" $show "$install_prog $file $oldlib" $run eval "$install_prog \$file \$oldlib" || exit $? if test -n "$stripme" && test -n "$striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. eval cmds=\"$old_postinstall_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$future_libdirs"; then $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 fi if test -n "$current_libdirs"; then # Maybe just do a dry run. test -n "$run" && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $0 --finish$current_libdirs' else exit 0 fi ;; # libtool finish mode finish) modename="$modename: finish" libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. eval cmds=\"$finish_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || admincmds="$admincmds $cmd" done IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $run eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. test "$show" = : && exit 0 $echo "----------------------------------------------------------------------" $echo "Libraries have been installed in:" for libdir in $libdirs; do $echo " $libdir" done $echo $echo "If you ever happen to want to link against installed libraries" $echo "in a given directory, LIBDIR, you must either use libtool, and" $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" $echo " during execution" fi if test -n "$runpath_var"; then $echo " - add LIBDIR to the \`$runpath_var' environment variable" $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $echo $echo "See any operating system documentation about shared libraries for" $echo "more information, such as the ld(1) and ld.so(8) manual pages." $echo "----------------------------------------------------------------------" exit 0 ;; # libtool execute mode execute) modename="$modename: execute" # The first argument is the command name. cmd="$nonopt" if test -z "$cmd"; then $echo "$modename: you must specify a COMMAND" 1>&2 $echo "$help" exit 1 fi # Handle -dlopen flags immediately. for file in $execute_dlfiles; do if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit 1 fi dir= case $file in *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit 1 fi # Read the libtool library. dlname= library_names= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" continue fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit 1 fi ;; *.lo) # Just add the directory containing the .lo file. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. ;; *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` args="$args \"$file\"" done if test -z "$run"; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables if test "${save_LC_ALL+set}" = set; then LC_ALL="$save_LC_ALL"; export LC_ALL fi if test "${save_LANG+set}" = set; then LANG="$save_LANG"; export LANG fi # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" $echo "export $shlibpath_var" fi $echo "$cmd$args" exit 0 fi ;; # libtool clean and uninstall mode clean | uninstall) modename="$modename: $mode" rm="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) rm="$rm $arg"; rmforce=yes ;; -*) rm="$rm $arg" ;; *) files="$files $arg" ;; esac done if test -z "$rm"; then $echo "$modename: you must specify an RM program" 1>&2 $echo "$help" 1>&2 exit 1 fi rmdirs= origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. objdir="$origobjdir" else objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if (test -L "$file") >/dev/null 2>&1 \ || (test -h "$file") >/dev/null 2>&1 \ || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" test "$mode" = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" if test "$mode" = uninstall; then if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. eval cmds=\"$old_postuninstall_cmds\" save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi # FIXME: should reinstall the best remaining shared library. fi fi ;; *.lo) # Possibly a libtool object, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file . $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" \ && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" \ && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) file=`$echo $file|${SED} 's,.exe$,,'` noexename=`$echo $name|${SED} 's,.exe$,,'` # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then relink_command= . $dir/$noexename # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then $show "rmdir $dir" $run rmdir $dir >/dev/null 2>&1 fi done exit $exit_status ;; "") $echo "$modename: you must specify a MODE" 1>&2 $echo "$generic_help" 1>&2 exit 1 ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit 1 fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit 1 fi # We need to display help for each of the modes. case $mode in "") $echo \ "Usage: $modename [OPTION]... [MODE-ARG]... Provide generalized library-building support services. --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for a more detailed description of MODE. Report bugs to ." exit 0 ;; clean) $echo \ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $echo \ "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $echo \ "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $echo \ "Usage: $modename [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $echo \ "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $echo \ "Usage: $modename [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$help" 1>&2 exit 1 ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit 0 # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: xfe-1.42/BUGS0000644000175100017510000000040511444154372007634 00000000000000You can report bugs on the Xfe project page : http://sourceforge.net/projects/xfe or you can email me directly to this address : roland65@free.fr Don't forget to mention your Xfe version, your FOX version and your system version... Thank you in advance! xfe-1.42/mkinstalldirs0000755000175100017510000000662211444154372011766 00000000000000#! /bin/sh # mkinstalldirs --- make directory hierarchy scriptversion=2005-06-29.22 # Original author: Noah Friedman # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . errstatus=0 dirmode= usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit $? ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit $? ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do case $file in /*) pathcomp=/ ;; *) pathcomp= ;; esac oIFS=$IFS IFS=/ set fnord $file shift IFS=$oIFS for d do test "x$d" = x && continue pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr= chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp=$pathcomp/ done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: xfe-1.42/xfe.png0000644000175100017510000000345111444154372010445 00000000000000PNG  IHDR00` PLTEaz!5".#3"&2 '7&'.#*;-.,+.;'0K"3L+2C)9T59;2@E?BO7EJ:F\BFSIIRCK]ALcWUY_V\KZwVZ\OZqL\x\Z][\eO^{W^eQ`eT``X_fMaU`xRa~KdSc[cjVeRfWfXg[ioPiYhRkcjrhirTm]lYmPosjpVogov\p^rsqu`t\u_tfuptbvst}TyZxcw`xdxxwo]y\z]{txiyc{kz_}f{d}`~i}a|}gcw~idojlkfprlgmrnokytpwqwrstxzv{|w}~zÆɒ˒ɘߌ̟ɜƣȠϟاͮ«ȪëŷƭӭĹijб˫زػҵƹͼdzٷԱԵ϶ֺܿ׼ӻѻһܾ9tRNS@fbKGDH pHYs  tIME- H>IDATHc`4,9:"0^BXU nDj8j8bn~nuâuKV//^^xQ$ 윁lll̬--L"igimm 64177445-10Cv(*&ZF. { 4jՙa<܆'KF1h$ ;մ`G݊6C;vl'AA9@`TS`)Sf56PnʬSyp ݥ^+/8~o7o޼k)2NS&BAԩS3XVODL K~Ja^XKG4":Cdk;H,ڛj ۛk**Zv5homͫ8U $6={5p  ~U߿L tG^ݹaWaK\âV0c- eg676s5tTW?߿ s32 {X]( אXVVV j{3W^|*yZ @ZZQVߏ7V׃c.XPVQTW߿wyyG%D%%Ed❖UP`іUz_ʚ . |B:'#J29YeF5uK(X}V?|a[zVr2R!>==ѭ+=5oT0HyxxH$ kcR3jb8  ң##!z4̍A1 2@I$i@AjR"#BCCԐ4@4v*0ZS ^oXaIENDB`xfe-1.42/icons/0000755000175100017510000000000012746115271010346 500000000000000xfe-1.42/icons/Makefile.in0000644000175100017510000005001012634035432012323 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ SUBDIRS = xfe-theme gnome-theme gnomeblue-theme windows-theme tango-theme kde-theme all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/gnomeblue-theme/0000755000175100017510000000000012746115270013422 500000000000000xfe-1.42/icons/gnomeblue-theme/Makefile.in0000644000175100017510000003770112634035433015415 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/gnomeblue-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/gnomeblue-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/gnomeblue-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/gnomeblue-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/gnomeblue-theme/minifolder.png0000644000175100017510000000040011444154372016172 00000000000000PNG  IHDR,n3PLTE,.647@VZf`hʧ #%,¯NR^ztRNS@fbKGD ,nIDATx]I DрzI|nB%67[~&6*ar B&?elt̚pHF77a>b[=hJ~vYBM)/{IENDB`xfe-1.42/icons/gnomeblue-theme/bigfolder.png0000644000175100017510000000152211444154372016005 00000000000000PNG  IHDR$DSbKGD pHYs  ~tIME MIDATxn0?Rt>B.d( -1 ࠁmY#%˅ wwI`c?b|s 8z b?q0*Ma ]j~'IUeAo'S<{vtYLARi!}^m;h#Q)J]w:$o3Dژ*9R'QDn.R=*#RrNljQ计ֺ <![)HFbKvОj5bxL-Y 0 SEgHdc@7F\ZY^맬&2߀9b^֮$Hk&g)ց4Pk)Toh}.6@ҤsA)FBp pQ],@͂PF<]W`LN\* EQIT:m佪l6m|U~yژjRsj8 ]7e #+5}:4Cֿ.K3AyZ(=0, <:l;M5ˈG!v_+N&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/gnomeblue-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/gnomeblue-theme abs_srcdir = /home/test/xfe-1.42/icons/gnomeblue-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/gnomeblue-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/gnomeblue-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/gnomeblue-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/gnomeblue-theme/Makefile.am0000644000175100017510000000007711444154372015402 00000000000000icondir=$(datadir)/xfe/icons/gnomeblue-theme icon_DATA=*.png xfe-1.42/icons/gnomeblue-theme/bigfolderlocked.png0000644000175100017510000000140311444154372017165 00000000000000PNG  IHDR$s?LaPLTE RB.O絣ϻBqRWcyĘ`M0 }zNrܰz440~~zA$tJ~ ɂd>řmwaQ=g7þir"3;JZ/\tRNS@fbKGD@\IDATxڍ w0`- ejhPn_{Ct]G̓NS*py |efobfVQLrB b)B˧W+c%E,'[] icP*tǶ,:I'#XF)kɏ[YJK9PT'tq\.G2_IՀ+i`rSxr=+tŏ7XYm^ Abm 1'ׂ5y#>}W҉jK4L`dFܑ̋ϐ8 E=@$J`erN"7{4FJa^<Lj!1wۗo?|qv;F fڡlMQg&"2(l!R-F }Fa:$If)SNnY.~$Ib_۳,˜dkg}m206PQC"iuچC>JGqlû b8D.LKGq[>O "$Y0x!N( o;Sv9 _<{|3ku|7/BdA;5`CJz]~'^&\5H#2˴ ι;CUww_zVqd:$m}HG/u?#xQZ IENDB`xfe-1.42/icons/gnomeblue-theme/minifolderclosed.png0000644000175100017510000000065511444154372017400 00000000000000PNG  IHDR/\bKGD pHYs  ~tIME Ew:IDATxNA%Z#VF[Xja Vx1썝$Y#!$c3P0+916q(pd nrtzC\!/<_/oT%kŒU࿿q{uh4[MV*jԟx|J :?v|!;"R4p {5VykCk rRzQM0V%@*:ƽt&qL,F,dAkm+*$3 3ј *k:&lp< JR7¼lIENDB`xfe-1.42/icons/gnomeblue-theme/minifolderlocked.png0000644000175100017510000000071211444154372017362 00000000000000PNG  IHDR,nPLTE*nZvrr΢vïTD2bVJ^ʺ~RJfffzZ.֮|NRZΘR҆6ɇe7ܵhtȒײ溂ٍ7ԪpŸ~V.bj䖦ĮܦVVbeatRNS@fbKGD9@IDATxe0FQ\qAX7\`13dfDV)Ra}KMGoI$99n VpG}~'UkIENDB`xfe-1.42/icons/gnomeblue-theme/minifolderopen.png0000644000175100017510000000041411444154372017061 00000000000000PNG  IHDR,n3PLTE9;@NNOQVabbb w!$+-/59tRNS@fbKGD ,zIDATxU iRlFv9","x/\ Fz] !l%Ӕ |E!=ĈYEďuJa Wsڪ@? Q#4YIENDB`xfe-1.42/icons/gnomeblue-theme/bigfolderopen.png0000644000175100017510000000066711444154372016700 00000000000000PNG  IHDR$s?La6PLTEy###EIWJN^r~w¢Ϊִr&tRNS@fbKGDH pHYs  ~tIME #__IDAT8˭ۖ EX86 Rp zp۶v4Yq2Zrz rB n5C*q"j0"'P !Cy(o 'Q:C)֯;1J@Y{Iy(yP%0tI+dy;@% O&F_GVD#:Ox5O"r9Ȱu,EXY7~+7hKM8i}&g+3-+>yq_Z^n+׍+mw^,O)~#mIENDB`xfe-1.42/icons/Makefile0000644000175100017510000004761412746115270011741 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # icons/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons abs_srcdir = /home/test/xfe-1.42/icons abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../ top_builddir = .. top_srcdir = .. xft_config = SUBDIRS = xfe-theme gnome-theme gnomeblue-theme windows-theme tango-theme kde-theme all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/Makefile.am0000644000175100017510000000012412574014172012314 00000000000000SUBDIRS=xfe-theme gnome-theme gnomeblue-theme windows-theme tango-theme kde-theme xfe-1.42/icons/gnome-theme/0000755000175100017510000000000012746115270012552 500000000000000xfe-1.42/icons/gnome-theme/java_32x32.png0000644000175100017510000000277711444154372014777 00000000000000PNG  IHDR DPLTE    &"&(%2))*()+(,-+231342353574;7'C:A<,G?>@=G@%?@>@A?AB@CEBDFCKF5GIFKJCMOLWRASTR]RSVUNbV*VXU]ZMZ\Y_]Pa^RX`\^`]`b_}aac`meHdecefdfgee$ih`li\qjRikhwlJonfnpmrqivq^tqdpror?xs`|qqyvhuwtpytuuvxuy:z|y~}u~U}|~~~yTvĸʾÿþǸο/qtRNS@fbKGDH pHYs  tIME 3IDAT8}OAc {P+v[7PE ("*dA$$ܮqdݖD ߟ&y^q8ڷ: sDkfw[ĵXא* M3@7LMS =(4MMs`ZPY/] 7"DQg 085 ~$͊jRn|(b t0^_~cP0dE `SC!ES`9I$K  \nȉ$*DX+UOɯ~ .7#TMտ}x>{%E_'h!xv,\9v#[YN^JI[6Ʉ=Zj B/}\}!4A! 2g~:t69SKRA 6| Cf%+Y{ dC`FzځAnT$,yI.Q57\=bZӹ[ uW B׬^-~WF^hX'm]:u9U^W,:wS$ly&P0 8xT^01y߉'N@UـYeER7>U謥BDDqe˜ i$e`YY_Z:Q"!pT:8+Z@1 4PTp;GIFFMTFQRZ\Y]_\`b_hjgmolmt|tvsv}}|uíųķƼǹȵ¾ƽûɅHtRNS@fbKGDH pHYs  tIME 1;tEXtCommentCreated with GIMPWIDAT8}O@C@x}@n=W mmXdɂ'j.w|û*JV".Æmn:гrUuҀCh́e_W}v֕v=5!JnOy$_JK9NIPTؖy4UPdSA L1!(bsJ$ qL|'նζE!m;|)S>ϧ ;!GBj1J((#L1?.o0UhZajx_idTp"IENDB`xfe-1.42/icons/gnome-theme/minipipe.png0000644000175100017510000000076011444154372015015 00000000000000PNG  IHDR(-SPLTE$ % &G G!??CBAGIIMLT^SSUhhlS9kko[;oosjpxc;qqynui?zzx}u@yAFEPɔU͗WԹpڶԻnٸѽоʁߩ߬UtRNS@fbKGDH pHYs  tIME %xKqyIDATc`|[1&_B5`Eu$ 8M|m}KM>8_WWIWq0ak{)s"9PF hdE IENDB`xfe-1.42/icons/gnome-theme/odf_32x32.png0000644000175100017510000000324711444154372014617 00000000000000PNG  IHDR DPLTE'5)2 -:+9.<1>3@#164G6B9J8E%7@;L=O'<@);E>K@R(>MBTEW%DQ"GY)GU$I[%J\0IR,KX5KO)M`3MV:KV,Pc/Sf:S\=SW1Uh;Y\:YfDZ^NYZ?]kG]aBaoV^ZFcfFdrJdmSbgQcm]bdac`IhvLkyWjtYkkNm{bkfZlwRp_oijliYptYtqbrlhqlcrxfrsWuZu~fvpqspdwvZyhxrix~jzt]|_}b}zvxuqzuh{hxw|~cgv}nnm}j~}ul|vsys|ruxt}zt~yw{~}~ƽïóĽž¾Ÿŵ̷¿ĺƼӿǼǺėF3tRNS@fbKGDH pHYs  tIME 8, p#IDAT8]yX ajv)r)W 9*6Wlu"Ҧc,.GCODV̮Rd[㝽yo;|纹ISxk%򋋋Ȓey99l8}Lmk^ @KsӇ緣#fF/T_?!3[nG7&u4&f~|AA{4o5{3_4Z>U<ܴ-$$ȺRG}S}lJiT*R Xqp=ezWd}g2~sIDAT(ϭ?A_}߇c ɞ`c3xL FnE.@'jx_b=pZսyI>D '/U`q~̿Ż<ʹx<,P\+櫪iL[n:;õ+窢8)=0q~LjT5w6S{,X1BQ+)nH붐Rj[0j.6kW'0=Ei`0vK8vu aظF3/;& wIENDB`xfe-1.42/icons/gnome-theme/shared_16x16.png0000644000175100017510000000075011444154372015315 00000000000000PNG  IHDR(-SPLTEls <<<>>>@@@BBBKKIMMMPPPWWW]]]dddjjjooosssvvvyyyortRNS@fbKGDH pHYs  tIME0pZ pIDATU0@Ĉ+DYB_%2}3!\++ڸG\?Xw׺ j=ֿy9$NLHm2\mb(l(RO#RCBsw{)g<(<cfԲ̴9&IENDB`xfe-1.42/icons/gnome-theme/minilink.png0000644000175100017510000000075511444154372015021 00000000000000PNG  IHDR(-SPLTEh+++@@@KKI]]]>rCzRzK|S}vvvLNLWU\Q^`X_yo}èʳѻھoptRNS@fbKGDH pHYs  tIME /%|IDATM@ ፽7 R,(C`g? ~,LÇEr#êQ*@&obN Kx(L&G{g;)`8 QIuj sF c; slְ ,(LN i>w&tIENDB`xfe-1.42/icons/gnome-theme/ps_16x16.png0000644000175100017510000000076311444154372014475 00000000000000PNG  IHDR(-SPLTEca@@@KKIQOLTQN]]]a^Ya`^kjgmmlonkvvv~|tRNS@fbKGDH pHYs  tIME ])IDATU0E{aEJ+?Idz3B #axA78"p1 nw gxc9:똛`y\aH82d]a;*6J˂ Xqm5Ri귁>~m%IENDB`xfe-1.42/icons/gnome-theme/tex_16x16.png0000644000175100017510000000067411444154372014654 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME )29`IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%B&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/gnome-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/gnome-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/gnome-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/gnome-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/gnome-theme/miniexec.png0000644000175100017510000000076211444154372015006 00000000000000PNG  IHDR(-SPLTEW@?;@@@DC?IIGSRNTRLTSM_]V]]]ge_fffhfaljfxulvusvvv{ys|zr|{v}{ux}".QtRNS@fbKGDH pHYs  tIME $jđIDATU0 \{ohRVӖUJ~QdaA+6|j.TN=ZYw\n }>PNJuTpaE=Z6- R9xCp5繟VN:#mZ;ιk2:6eܜIENDB`xfe-1.42/icons/gnome-theme/xls_32x32.png0000644000175100017510000000263511444154372014655 00000000000000PNG  IHDR DPLTEE. " !#$"$%#,,%C+&130D84:;9A<;I<8?@>]:(p5'4G;x;-s=,o?1cB9WEBLHG`E@?)@*xG9wG>E2B,C-{JUVTrOGF/E1G0F-M@H+H1G-N={QEoTN]YWvSJH.Y[XL-I/I0Q@J1rWQSEK2\^[J4L3VO}XJK5TBn`.M4SC|YPL6M7k_`N2N8O3P4U5JiQ4WDefdR5Z4S6R8ghfT7S9ZlcZe_d[jli\D^FnpmkedQsy4qlaKeOytscMmZpY|>qZvcs\r^wfMu^xgswcv_w`xawxƀojuEGҚ˜Lӡγ¾ÿ˜AtRNS@fbKGDH pHYs  d_tIME 5&tEXtCommentCreated with The GIMPd%n)IDAT8c`C Hkt|-+BkLMeDV~֭۶m .~ˆ`ӧw} cG_\ς`+\-Gw\9t_;@+ o KQMx-/'31 'Nl~`9I 6m7?Wl#ЄπL<2

Ɩ`|`e'lY1` @U%SMfw*z ĄP߶m݄M LS0Hsx93`nx}5܄Whvf8edQp b d;vf@C8عsmPwqzqܟ ؒxIENDB`xfe-1.42/icons/gnome-theme/bigcompare.png0000644000175100017510000001354212425634060015312 00000000000000PNG  IHDR DzTXtRaw profile type exifx͗Yv7 E,8,9A Vu%DmwX@Ь/|ojJXcFl<߯x~o/<]p=uoۄqS{~w?zk8<|gL3xWw. B oǷ lw=z3=[|g޻tH|t;wC߽6⻽g{]k1dC=rZ δ'_h| >nqyvMv7013N_ W?nP30L X p t-[~vޱc7Y| wΖ+1CoF۷O| o 帹pfDƭppE-q}v?iXCl !N7s;ci )d!P+F?98$H4"$K*-rRj9%s5J,RRɥZZ5 aRSͦZkklX11{KO=ko8dGugL3YfmV\ʫچk;ewu'j7Qs5w3.FwΏ%ʉ(f @hbbf'(g:E r^{bܗrFF[>Am܍S6ƀU/Msolݟ^107͐ bцmiv%5?OEӱگi(3'H}f#h:7[:O|W̖r{:ggyq"ȲYx7!u_~4E/-^AkJN讎6χsT2.=N/BcAt\mԱĚ0 hLʶ^mK 9V?}>΅*%S: 8By=E^LφxF1F|/vC|8ciwv*%xm;ۀ$yZkzsg,.^ Ir60-];o}oL fJHm6 LakZ--={vJ8%{qyDI`aغv=% Gu+W܀אLj*juq$p+{i,"JL0݌"Uӱs{vmn0i{zmR֒.O #6껾Nd8p}0rL !""99y^v;irpQV! c{gC]N$pU'c1 ,\ Ei3wyb`UЃLxE/RlHFCJR#)9 Fj)LQa˗5BXbʺqR}>۪˶ZJT m*Ad@7xS]ۊn^Ȥ0u"KşAFRRsskkka@Bt};b-gr.FC=5#yeE)%p`zTXtRaw profile type iptcx=A @ᄁOPꥷT6a C~v1 RvXYPX/̓\m1B>U1c$y jiTXtXML:com.adobe.xmp @7PLTE@@@KKI+-/]]\]]]6'8):+>/@1C5E7L?vvvTGVI[O_SaUj_lancrgti|sy{aA tRNS@fbKGDH pHYs  tIME  DwIDAT8c` ` $F< vؚß]Aq`9 &(_" @ Uma.F ;&޹}u'Ȱ2 ]b6p;#3,ߴaͪ˖,7$T 3vr!f^} ֆ1,_|sg͘:$HG{"?bAV-- yB,[-p@Zk&0IK{ B CLhjp+:h""^q1ۉSZZj &kC,6yR/Ą vEZqSS%t4A,hmj*+E$HMR*T)(;nEAXT3̼̌ 7FT ZREK*G_/##É5e",T`Ք$9gDD M qIENDB`xfe-1.42/icons/gnome-theme/file_16x16.png0000644000175100017510000000075111444154372014767 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv80tRNSbxbKGDH pHYsHHFk>IDATM a'[k@b]8|^ RlXvLu['/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/zoomin.png0000644000175100017510000000061711444154372014517 00000000000000PNG  IHDR(-S~PLTEY  $$$%%%&&&(((444:::FFFhhhmmmpppyyyvtRNS@fbKGDH pHYs  ~tIME `MIDATe0 )Æ 䛝F R`yڂ>NO5Pس5EFq *V heA^c*5K2kfTIDATU0 ЌvS܌._Ya+> jxT>zBz\%7ac$e@˕ε04VDA1AF~2>hKړ4}Cw` :x:.)|Qmv%1.0fq/&89 XZ?mQIENDB`xfe-1.42/icons/gnome-theme/bz2_16x16.png0000644000175100017510000000145511444154372014547 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/gz_16x16.png0000644000175100017510000000145511444154372014472 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/sxw_32x32.png0000644000175100017510000000105611444154372014664 00000000000000PNG  IHDR DTPLTE)))11111BBBJJJRRRZZZcccsssΏF6tRNS@fbKGDH pHYs+tIME  GdQtEXtCommentCreated with The GIMPd%n*IDAT8}Q E Ty *B>_AOg89&M2K"VG o,03r.?),HD.r4KYK93B~%@걅VE /ACD  `acM"x a2XgMT>}ޓ !x~nZLa IozeJt''0SiW=$ֆs2cWCwk"H `=`̝xsm Z>}>G7ӇɜIENDB`xfe-1.42/icons/gnome-theme/bigattrib.png0000644000175100017510000000137612577742517015172 00000000000000PNG  IHDR DPLTELKHtqnxxx~ixǹĽұb4atRNS@fbKGDH pHYs  tIME 4}Zn<tEXtCommentToolbar-sized icon ============ (c) 2004 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.org"IDAT8ՓR0Yx*VP @5Mk@R8(78~wort:|-߿|&콄a8M[ (rER1w`8KO<`~;? 0?F oI˄iIENDB`xfe-1.42/icons/gnome-theme/infobig.png0000644000175100017510000000206411444154372014617 00000000000000PNG  IHDR DPLTE&&&:4#<8'>9);;;C=%C<,B?3EA2KE5MI6MI>QL>TPFYTFZVH]YJ]]]a^TidWnj]{sRomipoivsg|xnzyt}|x|dQw||vVcomuqzŶɸ{Ʒ̼Ȼп•ćÊˋ͑͝üɺ˦̬ΦʵԷѻՕךܨִܻ޹^~tRNS>rbKGDH pHYsHHFk>IDAT8˅ O0`p]*nYnЃ#Z†cJxI>"ᴵx"%{GJKa_DA}|TFۛĝE)5 !|g#T @R=IRql;?.,8W{@֪U`"n/+-q3ab ejQ>Mi%aŤԶ$1,c3LFTj5FEg> &^8>VCBoXkC^L\jX4?nyQRRZ]+N Cr+7G)n~iN*>)s_=?Z|`sfmJCt{ch\h}e[ѐ7R@u{cm?u1MFҰIENDB`xfe-1.42/icons/gnome-theme/zip_32x32.png0000644000175100017510000000272711444154372014653 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/file_32x32.png0000644000175100017510000000150711444154372014763 00000000000000PNG  IHDR DPLTE...///111222333;;;@@@VVVZZZ\\\]]]___cccfffiiilll9lYtRNSObKGDH pHYsHHFk>IDAT8ˍR0BAh=X@[_09?;]`Ù1gn)nK }8.x{.;\nq75KWOH\j /p9JJYȇFP`Ѩjk)}X2H[wU ㆸIENDB`xfe-1.42/icons/gnome-theme/quit.png0000644000175100017510000000100411444154372014155 00000000000000PNG  IHDR(-SPLTE   % ('1$*5&+7'-:)1=,4A/5C1;J5BT=I\BI]CQTO[[ZOdHShKTjM\`Ylljyyw9)  ?,M6S>>+BbEu[?tRNS&|bKGDH pHYsHHFk>IDATu@ЫXaoXb[,gf71L/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/sxm_16x16.png0000644000175100017510000000051211444154372014652 00000000000000PNG  IHDRabKGD pHYs+tIME5:dIDAT8˕0 O!Rrs<  Yl]`0`-&MZ]cQcmۊlhrqUUla9,,'?%bIB$`Kǰ9Xs"Ժskgf@i9k}qJr0fU"!ִ}( CkH*Gڤ%@uk [;<2IENDB`xfe-1.42/icons/gnome-theme/clrbook.png0000644000175100017510000000102611444154372014632 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv}}}BkVnXxݽżVIDAT50 к7(BYAld&!!2MȡDu}}lHKYtLe%//^e-wdY_F۽I֚:S@8E) C뺎cwY1BfyKYIENDB`xfe-1.42/icons/gnome-theme/so_16x16.png0000644000175100017510000000075011444154372014470 00000000000000PNG  IHDR(-SPLTEls <<<>>>@@@BBBKKIMMMPPPWWW]]]dddjjjooosssvvvyyyortRNS@fbKGDH pHYs  tIME0pZ pIDATU0@Ĉ+DYB_%2}3!\++ڸG\?Xw׺ j=ֿy9$NLHm2\mb(l(RO#RCBsw{)g<(<cfԲ̴9&IENDB`xfe-1.42/icons/gnome-theme/bak_16x16.png0000644000175100017510000000075111444154372014605 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv80tRNSbxbKGDH pHYsHHFk>IDATM a'[k@b]8|^ RlXvLu['9IDATc ɿ3wD޿ RI'\,IENDB`xfe-1.42/icons/gnome-theme/c_32x32.png0000644000175100017510000000267411444154372014274 00000000000000PNG  IHDR DIPLTE!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]``_eeeffefffhhhiiilllmmmzzyzzz{{{||{}}|~~}~~~~-tRNS@f pHYs  tIME ' }ItEXtCommentCreated with GIMPWIDAT8}W`YW %U2Jʴ,ReM Q"IIQ&Ps`9_'t<}yq ŢXZ1CXЙDYGWAN. eJLZ›7&%iS[x6C'|qdNHIK"5֭YFfW{9..1@RfYhi1cYv0 MSx5qSr[L'aH2L4Q;͞4'rR%t>A{& MB}01N128>VHŸxj4Ƚ3.iK`uMq`9J 8a~wSI9PpiȧKbBUژ$80f{z<ܵ'|uI8>)ܘyT.YE1qw c %,u%uEFU8]\*( AnE _`>h@pwdq8l6z9" Lra{`; >T;*]-vQ 8vt,OJڵ3KV*kBGɹ.& QشX`5{zz ]Uga?emVΠv˂F>h z-'mUUD׼>}}:I4M&,Q]WK>F#A/hDY?ooou>gĿ'GIWIENDB`xfe-1.42/icons/gnome-theme/exptree.png0000644000175100017510000000036611444154372014661 00000000000000PNG  IHDRRPLTE8 tRNSbKGDH pHYsHHFk>3IDATc0 b80@JƬ @HfP='y&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/minifolder.png0000644000175100017510000000156711737251335015343 00000000000000PNG  IHDR,nsRGBPLTErtguwjz|p{}n{~o|~ptuvzwuvwvyz{{|{~}~°±ñıIJŴŷŶǷȷȸɺɼʽ̽̾;tRNS@fbKGDH pHYs  tIME9u!oqIDATc``"8` P#7T5#H0xy(?wsOhHbZ:{ִIe^@!;[ S'vTfΜ\WZ2 '-ZK(8?#%.2PSQ()/5!::7 ,IENDB`xfe-1.42/icons/gnome-theme/wrapon.png0000644000175100017510000000060211444154372014504 00000000000000PNG  IHDR(-S{PLTE+++@@@KKI]]]?g LtRNS@fbKGDH pHYs  tIME /oIDATU0 EyQG) V={݇@};”CýP.T{Q6YX/:&\\WL)n}0s!`h^P.43gb@x@y FNl8IENDB`xfe-1.42/icons/gnome-theme/treetwopanels.png0000644000175100017510000000064211444154372016076 00000000000000PNG  IHDR(-SPLTE*C^1NlGXiWjgxiwvwCD=bKGDH pHYsHHFk>{IDATӝ0aQP)\J/ӂ#z`γ_2Me=ɎHv\(YX^ՓA}'vԀw? F༠qQG/4%Dti;?@>@A?AB@ACADFCEGDIJHSHIJLJLNKMOLNPMPROTUSVWUVXUWYVXZWY[XZ\Y[]Z\^[]_\_a^`b_ac`bdadechighjgikhjlikmjnpmsomoqntvsuwtvxuy{xz|y{}z~}N ~tRNS@fbKGDH pHYs  tIME + TsIDAT8}O`x@QQa:CoŃiIP3g4c#-uխns=y3;XФ'iMEsdd% cNE~2 CSh^4,)N>E9ȃ'둳GZ H^ SYP p0wAk$P@BoWzp_^b4FP83/߻a nG>Fpv?DG08GnT 0"a)Oj~!PXG)Ly?/RxϊuDqW1E7.f~ J[ȗ֌vt7=m WX,I Sx.@z aK VQ$-'"HE`9*Bm 6R߉piCbOkܤZ~ ͆9#"|ZAN&y* np (wЈVr%#޴b+@8J2IUcp?c4mиۆ'e %ձFG1A$J!(~]1uQz*Iv();5oCӿ'OLerԪ8/IENDB`xfe-1.42/icons/gnome-theme/filedialog.png0000644000175100017510000000157411444154372015306 00000000000000PNG  IHDRR݇PLTE     #$#%+,(--%34+=?4>?2CE8IK=ORCSTEUXGjmYos^qs_qt_qt`ru`ttpy|fy}g}i}ilmllnnpqvsttutuvy{||~~~  ġïòŢţƤǤȥɥɦʦ˧˨ʷ̨ͩΩΪͻϪϫѬҭӮԯgtRNS@fbKGDH pHYs  tIME )YIDATc`0BSbApY-͇R[V% 7E`vrX\tdOlzGo Xq#`f NWr,]4o,!iܫ'CxAĜ'M8iĉ} Y SyWtv՗祸Kq10(hjllkH `Z1'??+##55))X ($1&<$ H΅5&z 2HQN)-pIENDB`xfe-1.42/icons/gnome-theme/link_big.png0000644000175100017510000000264311444154372014763 00000000000000PNG  IHDR zPLTE """###%%%((()))///111222555>>>???BBBDDDJJJLLLMMMPPPRRRYYY```tttvvvwwwzzzx|x~~~xԪtRNSٙZbKGDH pHYsHHFk>IDAT(}3a7ז{$m1IP})t)T*mǾi)/yE!6Lh4I&NSь #Y>2\Pb*u- -R/tz:od rpi5?\j'T*B+1<,QӳF- _Gڕ9VX p*.%|h6Ak%Rq{3?A^.|O%w^(~%nG| Ma '`Oi*IENDB`xfe-1.42/icons/gnome-theme/questionbig.png0000644000175100017510000000310111444154372015524 00000000000000PNG  IHDR DPLTE!!-)'( *-2. ! )0! " !$* 031 "$!/!6! 7!'0$ 4#"7$#E!=$7%#8&&D$4(+<&*<(+,-+K&=),N(M(.0-D,0U)020T)!Y,463`-"]0#897c0%g2#i4$j5%W:,>@>a9.t8*k;)v9,DFC~:*HIG=-JKI|?1?.LNKA0A3OQND3uJ:D6{JN@WYVJ;N:K7M;O@M=M9SDQBPSDR:R@VDXCT=ZMTBefdWBV>]PYI[NXF[Ejli_OaS^H_NaNf\eXgWprobLeRh[gWeTk`ndhUjYvxupcl[kXz|ysfujsb~xp}txg|qr{jx~kuu|xƇyŒŕ˔˚ţӡˣӬǰظſ¿ݽ3utRNS@fbKGDH pHYs  tIME #9lIDAT8c``bbaacCbo:usO,$$!<)=-=1993#/09 &ӑ]4yƭ۷/20#X"YYf_ׯ_<<7'R$VW*D/`ӛ+9΋)? >>gRXMxwޞL*HH:ϟ~_e䪯uׯ_zu6FŔO>ݝ}}ί^|ū` sm|w۽xӧϖDY$]>]gɓ'L e`M޾Z1<9\, *^ ?K2A%/Q>Ǐ^n`/֕|n@G^{[-Ud YR#]Sܹsn ؔqmn߾}֣%6V pn޸q+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/core_32x32.png0000644000175100017510000000265011444154372014774 00000000000000PNG  IHDR DRPLTEr/l        !!# "$!#$"$%#%'$&(%'(&()')*()+(*,)+-*,-+-.,./-/1.02/1302313424635746857968979:8:;9;=:<>;5A7>@=?@>@A?;C?AB@CEBDFCFHEGIFHIGJKIMOLNPMOQNPROQSPSTRTUSUVTVWUVXUWYVXZWY[XZ\Y[]Z\^[_a^`b_ac`[g\cebdecefdghfhigikhjlikmjoqnrtqwyvz|y|~{}|~}n'+`¾ÿȿu;y|ptRNS@fbKGDH pHYs  tIME 6<%?IDAT8}?qN([YQj!EEH!J(*n̾u߆G|8(NSF*Dh5B  ^`m ,@X|qyl5MFHoamvhfxw8oDZN9ŵ^4_­]N+[/,G[A Jv ĎEQ\ J75VK$7ci:]~D.WLK,+ۯ_Ll0' gA+{NkY bu#5x]v-9j&`a˝Mrq < ٥z4(1PpX~4BdZ>mA,>Kӕi`#<ىV%KDlbczaXA 0D[^Sfʒ7Il304ʁPIDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/bigfolder.png0000644000175100017510000000221711444154372015137 00000000000000PNG  IHDR$ MO*PLTE%&$%#34-;<2?A4AB6BB;MNERUD[]LZ\U]`N_bPceSfiVgj]ikWlnZnq\ps^oqatvdvvnvycwxnx{e{}k~p~imot{rxtzv}|®űüȶȹʷʻ//[0[tRNSbKGDH pHYsHHFk>AIDAT8˅{S@GcLK+Xр$k$$ 1V^Laq>6']Ru?]oVx1x C@zr~NK $(.ހxyxHz[7s tc=$&0 |6`pXG;.$b:N&pGz x@ԡ :J$M4ZIcD*ul*M1oW?N2ʶ, P$aAqbYm)MCN렂jBm6\v8d EN ҂aPc`ztL4MH(\PP ;+vCC%ϓYœRQy B(CތMO$ dp^ !̭l8O<>H~MIENDB`xfe-1.42/icons/gnome-theme/midi_32x32.png0000644000175100017510000000347011444154372014767 00000000000000PNG  IHDR szzbKGD pHYs  tIME utEXtCommentCreated with GIMPWIDATXý]LTgp4(FVĨxeb)l)^_D.6&^V. \QS7ML Ȱ29sg/q@v&O2yuEDdxxDr LNd2Y bÇ/:wrrRY[?~0*++˲,R\xiRD"V^f~D"8W^ӧI(b``ӧOC[ -"+mذ^DDl;#CCCo(.5 ioo0 8/_fzz0… 477s%p8̚5ksd0 WȀdEDtzRPRbroߎmݻ6mę3g' 199Ņ ۷h:Ď;innȑ#x XV^Lf׬]@1N{)"omm]tu^R)\v,?XGz *+8rwIqhmmu/===ܹs`0m;==R$kxK d2\![I&Y0 :*ׂ3Dz [Zр"XUJ `&.(C!Zu4E)ˋO&t:wbК Dk뺹R{b h-h|UUU9eS¶VʭӀHE:FrW.JRy5-`@)ESSπւiZob"XD躒k˗WLF)Y0s<-++wNh4e*q1 !,KSGQh> O>AUUwޣ>dٲr8gz% Q]]͹sJ!s5X2zEDWREDxB^X\vsټy3}{r ܽ%~,/wPWWǝ;_ '\Z/O|G">؂yFED(?] w(kK"1*K2Aԩh ٳ7ʩSHÏ[>ɓi255IGUio?ZkVW-eXW#9u%Ȯ]0P_ a|=<.ܹOd9qoZњ\ Zkhkk޽8q⏔( H(=|s~zy9_ uyu|aaoS'PTj:wBD1<IIDATU @DсH>r0]s?Za.&cBٯ, 8Aa rp5PB|@x1IENDB`xfe-1.42/icons/gnome-theme/bigicons.png0000644000175100017510000000072411444154372015000 00000000000000PNG  IHDR(-SPLTE0001NlwܨKz3'tRNSVbKGD?>c0u pHYsHHFk>zIDATm07r+(F?1KWv7ɍ 1 !\ހ`JQ^߁ "#0y<vk⤴_!߇i,kCa1fI @Ve E5IENDB`xfe-1.42/icons/gnome-theme/shell_16x16.png0000644000175100017510000000101711444154372015153 00000000000000PNG  IHDR(-SPLTE @@@KKI_SG]]]h\PxeVvvvs^ucybjfgpmnlnpȤȸ¿ռپ StRNS@fbKGDH pHYs  tIME );RWIDATU@EQ9E#9ŒG KO[x nx;Y'VTF)=j.!$1}ٺ9IENDB`xfe-1.42/icons/gnome-theme/home.png0000644000175100017510000000251711444154372014135 00000000000000PNG  IHDR,nPLTE      %' ,*./2?!!!"""#$$#&&$$$%&&&&&'(()))+++----0.+9&(<$3?/012333253260345456888<<<>>>;K79P8B['s(~,o81@AACDDEEFGGIANAFHGIIIIIJJJKKKKMMMOOOOOPP^MRSSRTUNaOUgTYjZ_``bbceffgggjllpqqsssruuuvvvvwzzz{{{}}}|}~?,?.L8Q:XDmwy1tRNSbKGDH pHYsHHFk>IDATcXzuGm5 e,s BvlrɝՖ p!{K`BE-V-^9A"$8s.[':yBo'njQiU ͙=Wg`4Pcz*gV JKZð=6!(,TB-ύaRMX~X[bzA6* hҜjVvua(+-)Ъ 5yDFE8)(:[dcxL|Y+Vy9"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/cdrom.png0000644000175100017510000000211711444154372014305 00000000000000PNG  IHDRUPLTE$$$%%%%&&&&&(((///444???@A@DDDHHH___bbbllluuu*[tRNS@fbKGDH pHYs  tIME )1 tEXtCommentToolbar-sized icon ============ (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.org`IDATc`F`@"Jڝ]:rw oqopD|j~ECG>X5AwXLBNQUcsoT `gG@xecGĩ JU;#㍅ل'O1P:9(*Dr偢}fL`Y'$E'%[@M(a8/&9X(_V'6ר/=R(R]W.ȪW Tb+ T!1ֱx” uM myVN>!1ͺ2`\|cͮP, &gT4v話’;89^O)>uŸ%_`{ZwIENDB`xfe-1.42/icons/gnome-theme/bigarchadd.png0000644000175100017510000000264511444154372015257 00000000000000PNG  IHDR DPLTE   !$%#&&'(&()'-=,-+/.'./-32+13043,66/981=:.;=:)BZ?@.*C[AB@AD7-G`DF3EG4DFCFH5IL?LKDNMELOANNFMPBOOG4SoNQCRRJSTRVYKYZGZ[HY\N\]Jryrw@D\jny1}8TA߽TtEĤD12zF C$9~S]ԸG3n`NP|ĩ㧮\mZӪʬ[Ɠ` ,8s̉._z%@3NS'<_rƵ6,i+о} Μ8wβ%Ϟ={,?k?'tz¹sϙ?`2WAϜ88 ϝy B iO@VQ"H>R' J.?qws"(*B9>Լk[OLgc`bA4)g^ulrzn-#;Jz^qԺO.kuじà-k$dHMgĖx#gVό;S0c"H̆4%46396+<50:574770685?7-*:U<:< :?<0?;:C;1C@E?A>ACAMDFCSPQKMJ [QQI^TUS'\VXUY[Xljoac`,lu0m s#s4m(t9r-v{<|By5{6-5C3CBI=HL?Z@7W^GXEԐD=CZRKݏW݊]t| QYו^J玚_ܕP뛝[Hfߣrܱpcx尲ٲ|鴶xlw깻p}uƑǐԢɠˍϘѧ۴?tRNS@f pHYs  tIME &,sgtEXtCommentCreated with GIMPWIDAT8}wLPǯQQ E'(NT q8-JHA/zZZ{Q_|G@"}'y}K/D J!+՗p2\S 6璀RL0z: 51ClpHpp4:OpJ(%=JD =1 LU6.L3AG8A: ð4̢Dwhf/@,1* r ̀\K$`@#IDHQP|8 TARA=&)(@XAcb 2Tqbn'%MU  w_59q3lc#F~^/,YO_@LC@x'uyG)g/ke U`Myvx*&50>ysy:]*` 臜zG{Vٓ*Ĥ7NG`F3:|3ڼ l}9i˞C%f$tximK.>כSdFݕ?km ܧkޝ{8nqGΜtź{voڵއ3q\Ԡos_mEmiK&`ADBON[,,IMӘV牕#l>7XiIENDB`xfe-1.42/icons/gnome-theme/restore_big.png0000644000175100017510000000252211444154372015505 00000000000000PNG  IHDR DsRGBPLTEA?3  !#$"&&)(!**#++$00)02/34254-96+685><0@=2?@>C@4AB@EB6CC;EC7FD8FE>IF:KH?J<=SIHRB7]]%,YYXa7DENupPM}{a`SO]P& I\_fnwZavъOU-<ǣÿet¬rm§´TXůĶżxsVMCJɺ˵eq~˼GL٫;ϸmoTVм}vjk}|sƣ靟oovyӚϡ߭ tRNS@fbKGDH pHYs  ~tIME ;a&IDAT8c`(Kǫm(zwѳ5sW`&?qgO>?rhJw޿t#[~]SŘO}ؾvsux݁6Zc*i|kSӚ8YUvLL(qrڽ3o>;efƅKV8$}=s[|zŊ+vMBQp&-}zҮnZ;o{~߿~|5VUǶ‡Wܴ$&*J-żʮ>=uqӳ-EÓQI-'r^WMX:/#7{M 6FvPd0sb(p quR5QWPl#n-į@7tCjZMg[.Q ǥ`7~%MDC^S BFMEնK ,D5170ude1S6\ #ք?W$'IENDB`xfe-1.42/icons/gnome-theme/chm_32x32.png0000644000175100017510000000324411444154372014613 00000000000000PNG  IHDR DPLTE  %  )A # @ X# !"#!b#$"i$%#e &(%v)+(8'%5*&+-*,-+1-,6,-./-02/130342574"!9;8$;=:?@>W=8ACA-*BDADFC,EGDHIG, kC=,0SNM4 3OQNQQI;53SUR}L=UVT5 9fWM:Z[Y<<]^\F"@ac`M+cebegdhigO(M jliP,R*Q'bTT,molnpmtpnU*proW,rtqZ.uwt^7wyv_6yto^{}z~tQuxUǁp}]~ceɑ̓lsv阃᠑򦎴譛밟Ŀ¾ÿ°̼˽ξ?2tRNS@fbKGDH pHYs  tIME c` IDAT8}gLamp{XwDEE%5 V VKZqb\_ףB-vX.Ol}so>='yx:p: :s už w p9Q BJ}N GDz}jΛhf!gP2[t_72"7 YsBXiݠJCO&'{%Mt?njF~e {iu1w3&/u*H#*N ꠫/"zNF[a>L*ec)IQD.Dس82,jeܲH4 ްlOe5x!a;g"= 2o0t.\ܚAIiiXIX[vjf>- ~+g.}/ .rÄW8 WR]"]0 ӥz@{rJ^,QI+P7Z+ 3DZu)*$w%  K^_b7_p >g6vĝ9:+ﭘ C**NMxJA*_81뚪!Vg @*ݬNL(vӳ0$Kib:A50d8Yy3>W^YUj8]xP{?c {.bi(yswVqEzYv w].m?f|b`:趛{Zɲ(*y?o\2\VTI@á`$IU_ܼ3^-`?K!.߱ ]A('ɴj>;i.5"3L!9|,߫Pp1;Y.e$TmԼNX*R ;u (0W4tyQ%DG`ʂz0{Ҟ߀@P"~/J/=_nOϥV*_fIENDB`xfe-1.42/icons/gnome-theme/m_16x16.png0000644000175100017510000000063511562252167014307 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME , 5IDAT][ aNPWeTfa 2X&wًḂkлc}SDj6 `]\"IC;E[hE=TCn MIJؖ>!C5IENDB`xfe-1.42/icons/gnome-theme/sxd_16x16.png0000644000175100017510000000065011444154372014644 00000000000000PNG  IHDRabKGD pHYs+tIME46tytEXtCommentCreated with The GIMPd%n IDAT8˕!0F_!QFGrd"Az\V"E"KM,iC'3{EN1F%h߆< [PJa \D+}?NZ8 sXs/4 u]p00ph)2C*"?*19R_; H8ٱ`0mKuqG(< $~:]Pf^Vع9Z!pS8zY ;k6T`&q`Yq ki>bF? |~IENDB`xfe-1.42/icons/gnome-theme/showhidden.png0000644000175100017510000000115511444154372015336 00000000000000PNG  IHDRabKGD* n [ pHYs  tIME 68(IDAT8˅?k"AƟ{Ꜯb`1H؉Z!6--,EJPbչBby~0 @ RJ>N%Ib|0 $шe2(06 Hl@sP( 2iZZY.z$@4iL&h6.!BQ2rxzbX,q}QY:m n7BA@*"W ni0n1 q`hƪ*dYX,8c6PJI<su^:Aaj $n7_oAxށV%'U6J%t]vDQdb˥ [clg%dojBRp8dW>?(a;x<7Fy(&JvtBu 08\_0N?oTIENDB`xfe-1.42/icons/gnome-theme/zip_16x16.png0000644000175100017510000000145511444154372014654 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/dia_16x16.png0000644000175100017510000000066211444154372014606 00000000000000PNG  IHDR(-SPLTE @@@KKI]]]GhZ_vvvX 5tRNS@fbKGDH pHYs  tIME #J IDATM ah0.Zw!ߡ⳧}bF,I B_h h q;r.=8絵gڰ0O6$Ѻ[Jt2ҮC^t{IENDB`xfe-1.42/icons/gnome-theme/dirforward.png0000644000175100017510000000071611444154372015347 00000000000000PNG  IHDRqPLTE1-=)BZ*C[-G`4SoxIDATӅ0 F?cH,ۍ=iE(G!h޽`5v0枇ZűvݺN $}AҧG'v5kIENDB`xfe-1.42/icons/gnome-theme/copy_clp.png0000644000175100017510000000056011444154372015011 00000000000000PNG  IHDR(-S`PLTEzLLLMMMPPPSSSZZZ\\\dddfffiiixxxI?tRNS}bKGDH pHYsHHFk>\IDAT}I  NX!&sjR3XFLBs^Yߙn2?Pbp +|gq"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/odt_32x32.png0000644000175100017510000000304411444154372014630 00000000000000PNG  IHDR DPLTE"+ ( )#,$.&/'5(5)6*8*3 -:-;,1-6.</<1>/=/92?3@2@7H4B5C9J8D8E:K:L9F(6;;MO):D?Q5:<@QARASBTCU(BJDV EW1BL!FX"GY(GT#HZ3EO)HU*HV%J\'K^6HR-KY(L_5KZ/M[*N`9KU+Oa,Pb/Se0Tf?Q[6Tb3ViBT_ETY=W`6Ylo/7m(l+ԛi&Fڢ H(Ip42੻<[ #CEPk(p717Eq?4KRNjAWrԀKCC9`_@ 'ɱF]?eX\fiKMCퟀݑ X(8ikkFx{MM!hފj(KEhBh86q?Ba+\QQ`2zYP+&Iq W,,(Xj.'+%Rf\>`[ 5Е 㣧"ͺՍOi*(uVH/֒x<( _&-IENDB`xfe-1.42/icons/gnome-theme/flipud.png0000644000175100017510000000034411444154372014464 00000000000000PNG  IHDRRPLTE1 Jݝߤ<tRNS@fbKGDH pHYs  ~tIME )^)?IDATc`@PʐP16)B\U=Bj9 M6.% U 5QBC `46޳IENDB`xfe-1.42/icons/gnome-theme/epub_32x32.png0000644000175100017510000001442212430677112014775 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭkr8{ 8+bo\.=3[e(Dd+TI.erJ- uO_λSx\ϟ7Hz睌gL|1aml(]{IcfNŠ_ALQLaN{ }| sAs矱;勐._o=NS➠>B9#.my7ޕekg퓟^|?b +!Ϲ%0Rx$8]01-r:Ϻ7|e2x&_~MIb_69Ui>{Fl|`Wj+#+떻LD N*>f_%!XGy)t9݆ `kssm>@D&QjZTJ)I i9sɒknYK,R((IDkZZ[Zr+M\5UUVVPǞzKugG2hCgqLq6uVZy%twy-W7~ϚX3ҹN>Y$g0q1̜1g]-9F C'sx Ŝ39aW~`mݍ؝7ƶCCUR#e~J|̳P`7ٳ&s6W[ *{?]mW%}ݝ:C9<{6Q_Ulܶ19\k)mm6D_ r(n]pHUXz@<:7(f &dpJwKgPnd5,:vӏ^ZrXuu&yb:~ 8z*~@d =Ш>9vveIы)]4(}k:1Md7X2OTW ڭKK_eWٷvsqI:LWϣ5-.$v4(=vaO($ ۊk'IťcE0Lv S]lZfɆȊsHf$Q(bu:B)dgTV]\}24X?bBX9#Bh&U'kLufg/I oX dfi#a3glvrHF,; mHBHjU<&i)p%×*sY 5,['X=7QnvHÍ1)]}klc "3 =ǘ]aa%6 6WUT)7 =Y<c%6hZ}"SFc ɣcwCM2=Z V::6 HزLfAy l_(c0G󾤎sEODA킀JD`XjQ&MZoa.ʢt|-MdeSqZf[%K )G"҈7K;-/ikܓ?Ab"UbW05Lj%BaK_߾>4h,(Y6T$⥕Ri*5@ϣobuX˪ Qw¾6C 6^f&VaIaq(6k4&*ź.L @瘋Z37\8}7.?[>Ral*$]y*-8k%>σv,8}:>`Z>4rvf)gJWP'&mS=õpyxڲuNӷ~~uHk&7/!;Dm/>Տ?Bx"0> O{2Z-[?G׿%{̰FT͕v5Z.Yuv^w2#SЮjĈrpAu_0M9d[0 0@R jiTXtXML:com.adobe.xmp @PLTE]^^x x x y y z z { | |}}| }~~~  & !%$ "&+.??AD[bccbcbccqoqssòqĵ{ǹӁӃӇʼՉ˽ևֈ֋̿֌׉׎ؙِڒۣܫݦޮ޹+BctRNS@fbKGDH pHYs  tIME }_IDAT8˕w Q'{-c[b )ZZ;ة})Z;kRRA4TSFTDOqdS=|҈a˛S4M5?+:`? wͭ#8QcKG[u@S qkFrMS ޹qҦ %}݁(Ǐ|`^CZ[;R.^ `޲'Y%eћUD6;S}у VxPn/ @,_P*@@1Y6-$*> T~`%b_XhK _~]I3?Ǔ B_~zu8s #4p0ْL̥ <rO8q8X r~X!<9 gJmi8i|LxQo%$$HLFSrhLaH2 x3ƍPM(J1 *oFFh5:x˪"# V `ʭsQ!SIH2U7迆IENDB`xfe-1.42/icons/gnome-theme/xfw.png0000644000175100017510000000370011444154372014004 00000000000000PNG  IHDR00` PLTE     "'!")%$&$'(&*+'&*(+2*/5-2315927<239:8;9=G:@=2?=A;?BC?>EA0MVRNYŢ3ģCCb§EĨFTUǫJǬQɭK¯X˯MгQ̷Z÷~ɹnѻ^gû¾Q¾ÿņuʅnМmۭܢrnhryVtRNS@fbKGDH pHYs  tIME dDMMoJʖLh+p ~߰yhO3x?E~Az! bc%Er }LM:;#N=:;;=?<=>F9@G>@=?@>@A?AB@ACACEBDFCEENEGDFHEGIFGHPHJGIJSJKIJLJJKTKLTLNKLMUNOMNOWROSPPYQRZRR[SS\TUSTT]UU^VWUVW`WXaXYbT[cZ[d[]Z:9>?\]f]_\]^f^`]^_g_`h`aiabkcclE7efdG:I>C@CEhfjfgpghfhigH?ijsL?jktKeℾ)+,Y1US,z <0mB9S@( bp)83(r6\r{|$ b%` V0SAPC`P:Š;@n+PM`& n 4Cב HVܺydE3(L?vtLmm;zDL3d0|x Nʊk*,LHI +03dx ۴[1<+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/bug_16x16.png0000644000175100017510000000067411444154372014631 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME 2%M.IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%B>8>>>@@5BA:CB8DD8DD tRNS^UkbKGDH pHYsHHFk>IDATcVM%q0D20x׷6d30@82R]|#@"9Irfq @暪̘o]W{gGKmQHS1 RUd(,'7 #,̮( HKKkbvRV52j @!8J!PpS`Zkm"ICFR9 `b`cd0KyY/"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/cut_clp.png0000644000175100017510000000056711444154372014641 00000000000000PNG  IHDR(-S`PLTE $$$'''///999NNNTQM¼ĻĸŹŻetRNSbKGDH pHYsHHFk>ZIDATӍ0Ǫuwt6; ~,Wc[FK붳]mc,BC) BDRkA@x(h!` "zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/work.png0000644000175100017510000000053111444154372014161 00000000000000PNG  IHDR(-SPLTE'/)))000111666IGFPPORRRM_sligkjirpmfypt}x|}*@tRNS@fbKGDH pHYs  tIME +<'+KIDATc`"uPT(hJ<"2"ʂ"Z"<"^`sƢ*IENDB`xfe-1.42/icons/gnome-theme/minidoc.png0000644000175100017510000000075111444154372014625 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv80tRNSbxbKGDH pHYsHHFk>IDATM a'[k@b]8|^ RlXvLu['ACADFCbda}eAmollMmEoEtvssKy{xwN}|~}ON~UPRSU[T[ahgbb_pjkgmh]nuqx}nuz{wx~ouƢŨªëɫȬЭoîǮṵ̊ȱIJƲвɳʴǵ̶նͷ˷׷͹ϺѼǿѿĻ·½ùĿƹźǫϷά9:tRNS@fbKGDH pHYs  tIME .IDAT8}{PLQ,#GMIB^yL1;Q'F&)wDlA2Qa@'d U8'"PVa N#b e!>48( v)X2*)ћm0wCC7NYET^&TMh֏e @PZ gX+)s`pOFhb5g|Mr*q]AO~3Wf_3A!194C:J'8@&>JATBTBUDX0CM"I]'IY/N\NV>R[:Yh?aqF`m@bsBcsJcqEgwOfoGhxbcddddKkzfffVkuXqdqwXu[wdu}\zjw~pw{vvva}`}bzzzz{{z|}~~~Aԛ@3B5CDcdssكܴ߫"tRNS@fbKGDH pHYs  tIME $3ҝJIDATc``Аuqrpc {@zJ . t aP5bb7hꚱ( 'ֻpD3h-@@RQ_hж8t~D~K9*9R.2AUO(!47{ @$I%@w8U &tX*q.hʬ`AHBQ+~nmzܹs#A*^: 2@j"&%$$ ea LIbIENDB`xfe-1.42/icons/gnome-theme/renameit.png0000644000175100017510000000100411444154372014777 00000000000000PNG  IHDR(-SPLTE 0003HZBBBCCCGGG___rrrOox%%'',,66CCEETTllnnvv&tRNSzbKGDH pHYsHHFk>}IDAT]0 Ѐ(b)Rqhm !ӞMJµHt@Vj8yJ =ppȁBKKw^&oShtCx 3{  CƿqQhGi5"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/arj_16x16.png0000644000175100017510000000145511444154372014626 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/make_16x16.png0000644000175100017510000000117211444154372014763 00000000000000PNG  IHDR(-SAPLTE?H 8% H%K,K.@@@e=\F6jD{BqD ^KB?=oHK{U`WBN]]]^^WWe`I`ccokbamqvvvsHtoM?hЇ yɐB`ѡDبªܱ%FRtRNS@fbKGDH pHYs  tIME'.!IDATc````0F@,'0" :+Kp0#]a11F < Pt)>mN@ZV&{?D TMT[b1c7D+*h!pww3gw'IENDB`xfe-1.42/icons/gnome-theme/sci_16x16.png0000644000175100017510000000070611562252324014623 00000000000000PNG  IHDR(-SsRGBPLTE  H @@@EHIKKIY ]]]PMmlhvvvwwwxxx<ȩܙtDztRNS@fbKGDH pHYs  tIME +IDATM aiʴi34{G`sO[sIx-}yLF}YA/1`@H9hPMX8BEx"?)r- H.=oW[G^|itIENDB`xfe-1.42/icons/gnome-theme/Makefile0000644000175100017510000003754212746115270014145 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # icons/gnome-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/gnome-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/gnome-theme abs_srcdir = /home/test/xfe-1.42/icons/gnome-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/gnome-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/gnome-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/gnome-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/gnome-theme/chart.png0000644000175100017510000001057012600772111014274 00000000000000PNG  IHDR(-S.zTXtRaw profile type exifxڭW[( {$7yU5ӻve!D=_7^O!nD`VL0۲]rg;؝q0 r`$69G?ϴ/`DƹriٲVqEPO E%I. !fE%:*4jҜ890I!E43p;"_TrET_Ts --ܩ#C]{y ׆~#i䛵#kam2]` /4ˉL{q2əU's3BLrM2oy37~Ŝ̙IaW޾`}.* kfsOqkGGC>/g/VGٺnU}h/V`Kki$-*#B]~/e .HaA MXp, @꛰Jtk]5x:Hᡰt5Òtx_~Y0lp)lB(&N0jedxDj^@\A:=A8[JK̇$=Bz`Czm; O)akKΝנG&g;-빪۽]pqQR^kQP}bK{Q;aTc+ȱxv_ˠޔ6 d]j&G }Ps;qD&"S]Ǔ8[i<7s:YHv6ZO}$[W!<8AD Ɇ9~S\-pK7XɾN>A;㛀10W jiTXtXML:com.adobe.xmp @&PLTE8?&CH"HO@@@CF+AJIIK WG4KKIdG=(\bH8F5E0G5gvK;iwG0 qI1vULO>]]]P?j[W oM3TFL3O9M4R@N5T3O6Q7^RT;S9a:U;_QU;5{\Iha`Kk^vvv|yxHt{Q|{wSIJ utRNS@fbKGDH pHYs  tIME  IDATc```0`LpFs\\H\`;#D sf4&]]U]ƓH@3W?B2r.sq$sؓkr| wk>QjOX]qK{QR:f4=[FK(8mYAgb@S!F .:37j02 7)G%! BZf2(pd=e);BRlbxf6K";~lAœb@У?b "x Jő $l"P,+`!Iv" `s"-Q|Κ`$,`9?%P>Ͼ Ba%JtcL1b$| )r*`Sι-\0@UkƦIsͷbK-ҹKGcO=2h ~GyESA&F˅چKjQjxcG:RTI7 HK;RbDܛT658?}ӛ2Tңܻ޼CFp'gb'q֐R9xEE3ϰ&7dٝ40e|<ںruISA$ U9.?\P Ov3`Y1 ofǘkƎ8Z; |"%Q* 5"43\|ΝcwtPNBVG1}I4g ==3@!cQ^AqN뱃ĥFZBYzƽ!Iu_ځ﷑?Oc,$pڤ) UF::S$f}azTXtRaw profile type iptcx=A@ }Ow^yi`캟0N-˗'{ T$$8Ga 01y jiTXtXML:com.adobe.xmp @WPLTEz" " $ % ( )--/LLLMMMPPPSSS5ZZZdddI$iiixxxbAz^_btRNS@fbKGDH pHYs  tIME  3-SatEXtCommentCreated with GIMPW`IDAT} DiRK x4-)q!Qba\6+LW:* 3s8Fe%Nsgv.?x W IENDB`xfe-1.42/icons/gnome-theme/nfsdrive.png0000644000175100017510000000155511444154372015026 00000000000000PNG  IHDRl"PLTE """%%%555666:::>>>AAACCCIIInnnooopppqqqrrrsssȘ0moktRNSxEbKGDH pHYsHHFk>IDATmiW@,۳°l_ TCA$T*4C sϕF}ڭJٺ1 MS-رZ}tL$n`hXL+Wc^oMѰ8}k ͟>*R,VUEx`cSia"ɩuJ$#lpO*[dIENDB`xfe-1.42/icons/gnome-theme/tbz2_16x16.png0000644000175100017510000000145511444154372014733 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/z_16x16.png0000644000175100017510000000145511444154372014323 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/revert.png0000644000175100017510000000124311444154372014507 00000000000000PNG  IHDR(-SJPLTES  $""-#'#(5*%,:0,0B1@!6H-9IIB'\@KD(>O\WO.ZR0]S2vRTY^I`rWbjOduaaaYcmbbbcccWhvTi|fffdfXmvk?gmsZpfnukknnnpppp ssstDvEkxvvvk|zzzl~} OAWє \]ף(٪5ɴk޴F̷mxϿրjtRNS@fbKGDH pHYs  tIME :?.IDATMGWP;6b/Ă <,`Q$p<ۍ0_"|=,ӪV*o֎S>hЋ+Fg]+G|H_(T)]*bضa=Ͷ M,A~aZi:`qKYY0d{܁UL3|s&%ÈDz=6_*]ꬻIENDB`xfe-1.42/icons/gnome-theme/showthumb.png0000644000175100017510000000056711444154372015230 00000000000000PNG  IHDR7bKGDxS< pHYs B(xtIME -/4IDAT(}л.on\!(HD J[4,J hD\vFŐ oϗ'Ov}ァd0+?~ROGJ2_Ѡ/PdžsPu΋mkRnDh“DɮeCSPɃV8Q"OAͦ6-+ƴȺw023-E7B:&E?.?@>U>r7l8LE8KG9SG(x> zA!TO@OPHVR>gP)N&UXQ]XCQ'hX:~U)W(Y)Z)[*[*]*ibM`,a,a-b,d,d.niNniQg,tlUm5l1xqTssjyuX{uU|xZt4u7~y_|Xce^~@vHdIUgL=V`_hIRfjlwpprtrvnuvwwxxyxwzx{yz{{{y|}{|~}|}~}÷÷öƺƺɼɽèʾş̵ʫћ燙tRNS@fbKGDH pHYs  tIME (7SIDATc`I6%7ʵ*53-ȓm3mP?Of9a^BŸ]Y._dSTdDˁ*RapNb\WjF5>ԌfQ%ΪZ fIyumK L*Kʪ[:4tMtj{40jK0mcdֳ0r Fv0)9.>7S 32BNH?&eIENDB`xfe-1.42/icons/gnome-theme/keybindings.png0000644000175100017510000000243011444154372015505 00000000000000PNG  IHDR DsRGB=PLTEI?}?~BHHIKKMMNMMNNONOP`-Pa1f:_+a1f;kHi=r>u@yF|MzE~O|ISPURSRPk[R\ar!j^jgu$delejoto>tAŀĊyǏ447ſРLRS֢֝סXYף\]^_¥dޱzഴ}Ըպ׾ٿ abtRNS@fbKGDH pHYs  tIME#GIDAT8˝_Kaǿa=>g;]~\J{dKBIȘPnC(mϳv}}0BȘK&U !- @hԺ"EՌ"R}"ЀqN;rg?:XWmߊk}^BUo7,D;r=s #7mh@ ;oXbK=᭄?d,KKo:3O/1^Ɍ{E 9eȲ#XKjTSbR:k4g#`sƘ{b\[`!UVTP%&m[mUMX_i07hGWY? #5G&v>HMn=-=*Wf60giq'@jtB`PݤP\P, &6I cK$\*\, 6zjdOskk/]Miϧ_>%"Ñ$䁤Ў.MyN<`bZQ0iULS/_ޮ{IENDB`xfe-1.42/icons/gnome-theme/dvi_32x32.png0000644000175100017510000000260411444154372014625 00000000000000PNG  IHDR DFPLTE      !!# %'$&(%)+(*,),-+5+,./-.0-/1.02/231342463574685796<>;?@>@A?AB@ACADFCEGDIJHSHIJLJLNKMOLNPMPROTUSVWUVXUWYVXZWY[XZ\Y[]Z\^[]_\_a^`b_ac`bdadechighjgikhjlikmjnpmsomoqntvsuwtvxuy{xz|y{}z~}N ~tRNS@fbKGDH pHYs  tIME + TsIDAT8}O`x@QQa:CoŃiIP3g4c#-uխns=y3;XФ'iMEsdd% cNE~2 CSh^4,)N>E9ȃ'둳GZ H^ SYP p0wAk$P@BoWzp_^b4FP83/߻a nG>Fpv?DG08GnT 0"a)Oj~!PXG)Ly?/RxϊuDqW1E7.f~ J[ȗ֌vt7=m WX,I Sx.@z aK VQ$-'"HE`9*Bm 6R߉piCbOkܤZ~ ͆9#"|ZAN&y* np (wЈVr%#޴b+@8J2IUcp?c4mиۆ'e %ձFG1A$J!(~]1uQz*Iv();5oCӿ'OLerԪ8/IENDB`xfe-1.42/icons/gnome-theme/filedelete_perm.png0000644000175100017510000000143011444154372016323 00000000000000PNG  IHDR(-SPLTE    ##$$&& ''%((")("))"**&+++,,,..)//*44+44055,65.66098699/991<<3>>8>>>??4@@5BA:CB8BBBDD8DD^4~g\5:dxG+I$,rPZNBx{\154XIENDB`xfe-1.42/icons/gnome-theme/smallicons.png0000644000175100017510000000141611444154372015346 00000000000000PNG  IHDR(-SPLTE !!!111???1NlCCCYYY[[[```dddiiijjjlllttt|||~~~w^ HtRNS`bKGDH pHYsHHFk>IDAT]07N ā7(*B0?EsC&?{V8#a^5{melN>ЍR )8 T~$`Sb‘?jk9~ dLo)hQkzܰGt%c[(h #5q"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/miniapp.png0000644000175100017510000000136511444154372014642 00000000000000PNG  IHDR(-SPLTE\[\b[XFtRNSiDbKGDH pHYsHHFk>IDATcpE @  VH@$dńXXYXXYYYX lll\<|~~AA!aQ1"D@IYEEUUM]]C"oh`d 01153337X;8:;9ęϡvcM"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/dl_16x16.png0000644000175100017510000001012412435033074014436 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڵVk( )HBRƋ+Ӏ1wxAS䍽VN#&BJ%SgZgZ0 ۑ$Jl`D1B ,(@\th#!N16 4}YyQZ X"$9ECYEQUA&^~Ԩ$bH!G.j1S̉i)SJ9cЌ_gx|!;G8⑎\>-K*r_} ƚjnԐJ5m[j#׺t׵zKjתVm(_P 4ʉ͠;a(桙f612T#TAA׈ӥ݇r_fԽR rfHTl)d$ыpn^Һ[l%'cm@ 0Qjq#p  ZPx{8!!w/׌;6@6i 8-+d楴˱Y1%+~%- 8u̧d;۞v\t~RیCnx%1nu-`O8]aǤEQ'uwQ %5N;N%MSm*VJ9,,(fIn\g,-EZ5џ)?7O/RV)Hc(;دC5@M) HOַ4b눲gKH*qMɸy2x=Py\vKZ;:Kc_ti$69$lLk1[t3)5D~Q^S8 H.ؖo|˯Z3ߥêR"^Gg_Z#1gB6ܚ%>fs1pT5bbs[`8C< g^b}s$ S@#!&̗h(l)fpD7D vCI2I9azTXtRaw profile type iptcx=J P3#)#\ypX_m'u, =Zam6P21rO C*1 jiTXtXML:com.adobe.xmp @{PLTE?KvKKK$Zy$Zz>mBp3t6v6vRsh\mce~̇җċ֠ɢͬҝa_ՋtRNS@fbKGDH pHYsæ/tIME 8+bIDAT}G @IHD8=؄PY3P&qr i*E$JcEDAJIENMIPOLRQMVUQXWSZYU\[X`_Zcc]feakjdonirqlttqxwq{zu}}{z}-?tRNS&|bKGDH pHYsHHFk>qIDAT8˭n0ns:(c)UaY83K $} @'lve@W,* w`V^-7]3Ք KSIEkd"/Ʉv-QX#VA"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/svg_32x32.png0000644000175100017510000000314311444154372014641 00000000000000PNG  IHDR DPLTE      H !  ! $&*$$&$('!/%&%&(%()'/(/)#)+(.-&4++-.,-.64.(6.$*1-30%5/*/0841&80&231342;3(<4*>4%46396+<50:574770685?7-*:U<:< :?<0?;:C;1C@E?A>ACAMDFCSPQKMJ [QQI^TUS'\VXUY[Xljoac`,lu0m s#s4m(t9r-v{<|By5{6-5C3CBI=HL?Z@7W^GXEԐD=CZRKݏW݊]t| QYו^J玚_ܕP뛝[Hfߣrܱpcx尲ٲ|鴶xlw깻p}uƑǐԢɠˍϘѧ۴?tRNS@f pHYs  tIME &,sgtEXtCommentCreated with GIMPWIDAT8}wLPǯQQ E'(NT q8-JHA/zZZ{Q_|G@"}'y}K/D J!+՗p2\S 6璀RL0z: 51ClpHpp4:OpJ(%=JD =1 LU6.L3AG8A: ð4̢Dwhf/@,1* r ̀\K$`@#IDHQP|8 TARA=&)(@XAcb 2Tqbn'%MU  w_59q3lc#F~^/,YO_@LC@x'uyG)g/ke U`Myvx*&50>ysy:]*` 臜zG{Vٓ*Ĥ7NG`F3:|3ڼ l}9i˞C%f$tximK.>כSdFݕ?km ܧkޝ{8nqGΜtź{voڵއ3q\Ԡos_mEmiK&`ADBON[,,IMӘV牕#l>7XiIENDB`xfe-1.42/icons/gnome-theme/pdf_32x32.png0000644000175100017510000000237311444154372014617 00000000000000PNG  IHDR!.PLTE $%#*,)+-*./- "#)4353 + 2(C,A-=F$0"?L%J(B*C*R,X3S4O1a^`]>QA^FgIjJaMeP{\yZlmlnn~stxz삖낮ꇘ㉜늠茚瓤碴ɻ칾J9tRNS@fbKGDH pHYs  tIME 5HxFIDAT(υo@Ç0Pم"P{SА v]Sb8zsJiUIyΒc2xb,DY%^1neN_װDeԇa޾'KaR c>d䰡G87V xŽFҺ)(@;L>+8 Q~z\A0ѷ1t\ ]T^8 -Q[}16 в̠3G ~&Mcʙ )8O&ӶL#8Eg2挬n}?`pU>S\τ1KSf93BV9vۗ8lY$'W_V(8'vgņwPةێ^|!L:[>陌u}iy#X4 02zF״kζe5DѢ(,Mjv)!2TMQS[NzP"}u:6dͨ/3-O-xUFIS&?ִޙ;?@>@A?ACADFCHIGJKILNKNPMQSPRTQUVTRWYSWZVWUVXUWYVXZWW[]X\^Z\Y[]ZZ^`\^[Z_a^`]\ac_a^`b_^cebdacebdecghfhighjgikhjlihlokmjlnkjnqmolnpmoqnpronruqsptvsuwtwyvz|y~}lWtRNS@fbKGDH pHYs  tIME 10UIDAT8}O@WEE AoE8BA|6bP80k2k[9[GR?镮@\r|]r)*;r9)?f @10鬚N@X0< ybZ$ f ]A? @-Y@fJy;{;O]%MoE#p G섻tqJV9jTӿοhLLB X%<7 qe(~b636u)xwzP"!i`L!bF!Py@he/24 :BDȃw ׏P5m@ UX+`U:3\QPBݽ.SJa:,mF.*'IBd@O=^*3DA(N $}fƉs $mA du5yMNhlc0㕨A}-Nsa՚a ~|qzWj XB@ 8ZFeS> %ۆd AJH *#[.II{--4bjH7× dc8p:I>ǐҎaT(}sǫJٌ$B\EE)9!qQדHn ˲ ʷDH0ϽKIENDB`xfe-1.42/icons/gnome-theme/xls_16x16.png0000644000175100017510000000140411444154372014652 00000000000000PNG  IHDR(-SPLTEQ'CH@@@"HO1NlKKIdG=E3H8F5E0K;gvG0A]wB]xiwI1vULO> q]]]P>M3L3TFO9 oM4Je~N5XLT3O6LgQ7WDS9T;U;U;_Q5{ha`KfXZtvvvHt{QyuJL`ȮtRNS@fbKGDH pHYs  ~tIME 'P/tEXtComment(c) 2000 Jakub 'Jimmac' Steiner This image was created using Gimp. Gimp is free software as defined by the Free Software Foundation and is available for download at http://www.gimp.orgFZ IDATM0@YݡXbEK m٧3 BBZC;$ELX,Y'&#aV)=AQ/e!*0HTӱA37ځv7 AmHl  @ ]y >D- }ݣ_KIENDB`xfe-1.42/icons/gnome-theme/archext.png0000644000175100017510000000153611444154372014643 00000000000000PNG  IHDR(-SPLTEI      $#')"*## $$!%%"M" O# ,,)J'-.+P*23034/269663672886I5*9:6K7&Z7$Q<,BDEVG=OONPPKD EEHIKR1\\VLMNO]`NOOR adObeTilXilYjnZmo[nq\ps]pt^c3rsjc1d4ru`suae4sw_swctwef3uyawzdy|fy|hz|ky}fz~gxbnnonpozlzt֑hޕklƣɤ|}~õƳ˼паѯѰOtRNS@fbKGDH pHYs  tIME ,3͖IDATc`.$ eGyKg1孝Nщqa|@e-!Q9A I^@ No+t  (Ϛ=mŢl,yB@)sOt 5@y@%UUյE "Nj^djW[PzV #cG3Ye|*z$ŬLeVPB.#^2=z-&IENDB`xfe-1.42/icons/gnome-theme/warningbig.png0000644000175100017510000000212611444154372015330 00000000000000PNG  IHDR DPLTE    ! + 2% 7) 8* $$$+++;5*333972><7999B2D3I7L9Q=B9$I="H?,D?5T@[E\ISJ9aIrVtX{]dQ)u["u])BBBKKKVVV\\\}i@zlKeeekkkrrr}}}dg i m!|&7~K/'**++:,QMU]c“-ϝ0ў1բ2ݧ3ݨ45:788:;ǝDJͥOĤ]߲Rڳ]ӰeFSADKW\t~bir{ֆR xtRNS|WbKGDH pHYsHHFk>IDAT8˭S@.P@ N:PQ@5@)(fsǤ/Cwo.e1}?і7;;B} Ńӯ5"w 01[94=B @e FX ;qBDH5XDğR5%)Q1ʽ-D+WzS{ (( V10p 4F-,~`Tsng.@54i/Hw27hD h=[ģEi*c^s=[^l8`(mHT֓ ޺:g#W|-'LԊ;Fvl*ptX@{~mcAnYJ{c Geش_0<< P=@w߱"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/sxm_32x32.png0000644000175100017510000000104211444154372014645 00000000000000PNG  IHDR DNPLTE)))111BBBJJJRRRZZZcccssse5tRNS@fbKGDH pHYs+tIME   'xtEXtCommentCreated with The GIMPd%n$IDAT8˝ђ E HtC@mgvLtgoL5J^P=ȠZ QGH*LL!z O<95`\K'Qj5Z`qaT/d@vȶ @9^@h6*hR*`eJt^zF3Mq <`ˈ,+eGzd쏯p+ GНsbk%l<ygp7_ K0T[ ~i_U4*IENDB`xfe-1.42/icons/gnome-theme/bz2_32x32.png0000644000175100017510000000272711444154372014546 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/png_16x16.png0000644000175100017510000000144111444154372014631 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/desel.png0000644000175100017510000000035711444154372014301 00000000000000PNG  IHDRb PLTEm{tRNS@*bKGDH pHYsHHFk>:IDATc U+A3`` bF0T`"Aza(&wty5&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/sla_32x32.png0000644000175100017510000000224311444154372014621 00000000000000PNG  IHDR DsRGBPLTE[F*XJ0gJRNkdM|c:mfN}d;k8oEqHsBq8sIs(z6}CSJE:=\̓CʗEژ5МCҝD@A?E:?¾ÿO_vtRNS@fbKGDH pHYs  tIME3ѱ!,IDAT8m_puVTTJ'!bie!v҅S#*Fhr[ S=gk$ ~4vl0vjx11"˒(K(<_.Rt $I6(qӟG7lpb뻿  ~ ׈ P$d&BgT!^ .SP.уL/#8ϰey @7|[}vc-˷ٲ~jAGΦ@i_@̎NEҋ$ХW:7Hqrb$1+$ xVe҃(ɱɹWO&#"DQ{e뚛j.ʩJaVTff~iNar)T*vzk !@iUxuv&3y t ;8UVd7hx{aP6-;4:a`4^7 ;vZ[]$fQIENDB`xfe-1.42/icons/gnome-theme/doc_32x32.png0000644000175100017510000000247511444154372014616 00000000000000PNG  IHDR DPLTE!!!$$$%%%///222666;;;>>=@@@AA@DDDHHGHHHKKKPPPQQQRRQSSSFVhTTTUUUVVVXXXYYXYYYZZZ[[[]]]```bbbKieedfffiihiii[mllloonpporrryyyssvuuuyxyy~~}~u{{~ÌśŚµԼĿ¼üĻDtRNS@fbKGDH pHYs  d_tIME WtEXtCommentCreated with The GIMPd%nIDAT8c`Fb H]tpu B7X:#;ͼsgCYHkkn]!zέ[Wߺӂ [nݼqW,t,}*e9 F$7 W^' AmE>uHLծG"{%네"Oaw ]Цïw1U MwDIENDB`xfe-1.42/icons/gnome-theme/lzh_16x16.png0000644000175100017510000000145511444154372014647 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/hidethumb.png0000644000175100017510000000130011444154372015143 00000000000000PNG  IHDR(-SPLTE!"!#$"33..4<->Q1BXUBDA3G]4H_9G]SOGIF7Lc#Su(SCQd\T>1Z8Y`YF^_^Fc?dGfKlfma<8VvWwxxwb~lurkrfmo}wq̃qqrsΙtv̀ljʕЧЧѦݮѩޭ¼̘ܷ՜3gbKGDH pHYs B(xtIME *VjIDATce@@n F#j@]52PUh@$'3## P@>LYI1-6&( XY&ƞjkagѷ7RgL6 .1 (Kq8G斖j} J*4<<<&Ξ^@{s,"⸡NgrqqO:]Z%;8*0AmF Sy>93Rd>7ʵIENDB`xfe-1.42/icons/gnome-theme/cc_16x16.png0000644000175100017510000000064011444154372014432 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME %3IIDATu FQ>jֿiZ٤$lI8B[W X_dH6|F`}\#XaE ]&=Vo*VRnj L6-4pRec~wEIENDB`xfe-1.42/icons/gnome-theme/floppy.png0000644000175100017510000000216111444154372014511 00000000000000PNG  IHDRUPLTE (2>38<6I8>C8?C9BK4FN6HS>GM@GM6JYAJNBJQMIBNJCCLTOLD:Q]EOUQNF;S`ROGGQXJSYKU]E\mO[bR[cF^pQ\dN^jJ`pHasJavHbvT`iVah`_hs[[WcjKezXckbaiMfxcccNhyZfoMiOi|Nige^\iqMlhfpRliiiOo_lv[n|TpVqboyTskorooosrwsssuuzow~dYeXe[g[zzzjbkdljererdnipwuglklorzzpzso{sxhp|t|r|s}sqzh}nrtȁ{ԁsxn܁qyn{~}~ÌŸˡ֡ڛۿ¿鷭鸯鹱ľſ忺³úưŻƼɶȾ=!HtRNS@fbKGDH pHYs  tIME  wVIDATc`` 'x:om̛3oj͓k5eDz9EX%&g$gxZU;EFu@C袦@у{w" NuzCT@uh&E֠̽](A6%x?wpq6-b@хyu-U%-MMu@ٹIY Nvz: \xKRceJ]q=+*4urEDj.%uj {DLlWED]>kڪ3f[A39ߐ]5C@7DA8KH=LI>NK@OLAZWJ]YK_[MmiYbbbkjdrrryyy0StRNSf~YbKGDH pHYsHHFk>IDATUR@ `P` *(-l[o2LrP)J)1P=܆IR* !5Gw#v˂)eyD/v<=ZQ'%tԱ~܁MX+C 4$dH bEfQ6V%!q٫TF=\Igl\Zl,>IENDB`xfe-1.42/icons/gnome-theme/zoomout.png0000644000175100017510000000060511444154372014715 00000000000000PNG  IHDR(-SxPLTE;  $$$&&&444:::FFFhhhmmmpppyyy3tRNS@fbKGDH pHYs  ~tIME jIDATe0 V)o96"+fgQJ"5 {ApAم <-h֖٘`5TDwb*;ٟ8=UD?su9Im~qY/ 7^`nIENDB`xfe-1.42/icons/gnome-theme/edit.png0000644000175100017510000000107611444154372014131 00000000000000PNG  IHDR(-SPLTEOA\O+aT.eY0f]>l_4@@@KKI]]]vvv׮tMDDEM69;;= mIDATE EcG,1Ej0F"=5 @JTOxs \-]סcۺ J86V!DNa9i#en۴0.-Y АZaIC1j@x8>@M_0cAm> ɇ!%cx"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/class_32x32.png0000644000175100017510000000277711444154372015163 00000000000000PNG  IHDR DPLTE    &"&(%2))*()+(,-+231342353574;7'C:A<,G?>@=G@%?@>@A?AB@CEBDFCKF5GIFKJCMOLWRASTR]RSVUNbV*VXU]ZMZ\Y_]Pa^RX`\^`]`b_}aac`meHdecefdfgee$ih`li\qjRikhwlJonfnpmrqivq^tqdpror?xs`|qqyvhuwtpytuuvxuy:z|y~}u~U}|~~~yTvĸʾÿþǸο/qtRNS@fbKGDH pHYs  tIME 3IDAT8}OAc {P+v[7PE ("*dA$$ܮqdݖD ߟ&y^q8ڷ: sDkfw[ĵXא* M3@7LMS =(4MMs`ZPY/] 7"DQg 085 ~$͊jRn|(b t0^_~cP0dE `SC!ES`9I$K  \nȉ$*DX+UOɯ~ .7#TMտ}x>{%E_'h!xv,\9v#[YN^JI[6Ʉ=Zj B/}\}!4A! 2g~:t69SKRA 6| Cf%+Y{ dC`FzځAnT$,yI.Q57\=bZӹ[ uW B׬^-~WF^hX'm]:u9U^W,:wS$ly&P0 8xT^01y߉'N@UـYeER7>U謥BDDqe˜ i$e`YY_Z:Q"!pT:8+Z@1 4PTp"+|%0xQサEC5ď!sc*QcG+՞S4RE, l`c,*hIENDB`xfe-1.42/icons/gnome-theme/delete_big_perm.png0000644000175100017510000000257111444154372016313 00000000000000PNG  IHDR DPLTEm  EI`kfP > ~` yq@ !"$" && )(! **#  ++$J&!00)02/34254- 96+685 ><0A>2B?3?@>C@4!AB@CC;EC7FD8CEBFE>% IF:*!KH<,HIG*81JLJNMFLOAPNArD@NRDTQD2TSLQUG7$STRSVHYVIUXJ8YZGZYQY\N\[S_\O]]U_`LOE^aSc`SacOfcVhiUijWli\RAmj]il^ol_pm`VEpogpq]spcXLZHwtf_Qvumvwcyvhvxuyzfyg{zrkb|}i}|tz~o~}u~plwiRiPzm^okwq_}rrcu{vyoxz}{u䏂ӕߘ肋멚ÿ¬§緮´ůĶżN˵ʻ;ϸοм(R tRNS@fbKGDH pHYs  ~tIME!Q$gIDAT8c` pK 4|yqkv%@^?p,0n;sq}Q[KceD%&*";]ٷc '_}xw~GGN]EU۷?{p辵ǎ{:~O^٦ Tlz߿~Һd4Rl8{w._5g to87y[՚̖ gܹ~ꜬCF- q. P׳ERؘ2~emxw]vmi\AD׶VOL׷9hVcfMiLω-Xi}ʹMK:f:xX߿Ж)\>Px`UԄrW+iͨ1<:3҂$4Va3?M55+ҡ ͍幹TU6!b\{ % rc] -/%(0⃫3C||P ' /.o{Dİ.4K-nS YnҸ ֏~!)ϒqڋ*eSX}-<[buӀa{xgn|}t/O{27[E,Roٍ2ӛZԎ\m=2R\u)^o%/橪%y0yz}zgGs^+Lހg0wNogޡ_J}\3$(QH]u˴/|amݫp~*y^r}I\?&F[}bݯ0QSðOz߁w+ =cEU <U9OGPU$}Mb͜:ۘ?83w9xczTXtRaw profile type iptcx= 0 إeO<_J`˒y!]0 @PLTE*C^1NlGXiWjgxwǘ pHYs  tIME 7P)IDATӝ0 blh֦8d>WL[e4OI7_pؔZvTRkȷcĩǑXw xc[K&bbECL1,9rϓ.W)^m&?BvIENDB`xfe-1.42/icons/gnome-theme/nfsdriveumt.png0000644000175100017510000000157111444154372015552 00000000000000PNG  IHDRl"PLTE """%%%555666:::>>>AAACCCIIInnnooopppqqqrrrsss00``;yvltRNSSYTbKGDH pHYsHHFk>IDAT]YWPOYF6gIm TCԨ 5&.U;k?l<CLcEI&,K$E=r!sc7Kv˩| ZJM|0jVR`<)3ixo^dǮxK*V y*q)vs }owڟ ^+Oe09~4_ IחW/tSD14mnGE!d DDavAH Q@tT@[0?}Yj!IENDB`xfe-1.42/icons/gnome-theme/enter.png0000644000175100017510000000051711444154372014320 00000000000000PNG  IHDR(-SoPLTE lkjrqp{{z}|{~}¿ӰvtRNS@fbKGDH pHYs  ~tIME"RWYIDAT]70 A9L#T`Ilu"8Wx/r삨l{mz IloBenۄ`&T/FL&ڭIENDB`xfe-1.42/icons/gnome-theme/pdf_16x16.png0000644000175100017510000000116311444154372014617 00000000000000PNG  IHDR(-S5PLTEY"663UUUVVV0G2M^^^D^D\IfwwwYj\vku}熓钢뜩mtRNS@fbKGDH pHYs  tIME *uFIDATc````LT#F{{x#T7\*$Z*6IrsJs 8s$8;yj@]ÙԡB|).nP@8=fy@ &T@+2VBV * l`lbdhk321WX()++()KC=È/i#z;mIENDB`xfe-1.42/icons/gnome-theme/vlog_16x16.png0000644000175100017510000000063611444154372015021 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME 0ݒU?IDAT]0o"^PhE|gil| c !r\{ˡnSDj6 `]\ "Ih.zC邠 tE~s6F JP2ҡ-_=(AݏIENDB`xfe-1.42/icons/gnome-theme/Makefile.am0000644000175100017510000000007311444154372014526 00000000000000icondir=$(datadir)/xfe/icons/gnome-theme icon_DATA=*.png xfe-1.42/icons/gnome-theme/tcl_32x32.png0000644000175100017510000000321411444154372014623 00000000000000PNG  IHDR DPLTE     )+(,-+./-231342?A>ACADFCbda}eAmollMmEoEtvssKy{xwN}|~}ON~UPRSU[T[ahgbb_pjkgmh]nuqx}nuz{wx~ouƢŨªëɫȬЭoîǮṵ̊ȱIJƲвɳʴǵ̶նͷ˷׷͹ϺѼǿѿĻ·½ùĿƹźǫϷά9:tRNS@fbKGDH pHYs  tIME .IDAT8}{PLQ,#GMIB^yL1;Q'F&)wDlA2Qa@'d U8'"PVa N#b e!>48( v)X2*)ћm0wCC7NYET^&TMh֏e @PZ gX+)s`pOFhb5g|Mr*q]AO~3Wf_#8(8,!=Ly m !o$w(u4,W/E~Kp+C5pR>zo:E]G]HaKbQKF^YUkd]uyQ{zoM!5%#118%%:*5;/%,'31.4/12764>5<8659;: :/8570*D4J8S'E)D3@4K3M9A:F6S5d3eUB5IDAT8cWoi˛]55ɎN:ښ \ŏm_n=yxkOWmYnzzlZL/l|e+n*MONU+yܥ_^y hBRjdBϛ?jD'"xӝ~z4'#)-%t/~cw٥`P\ۼן _|Uy95'd@=BSMUOsNJvqtB(8sT͞{]qc07p[On-|i?wܻ3yYMGvzg,odPp%y߮?~5͜PW{'獋?~pޚpMU=uL-4^qӧ5qFX4"sM6mD`ou̮ʲt[3g̚5kR5 zU ))QfMa42B2aKEo{GGGKKk#?P,ï'O?z`葌U`f`xxz O:mJ@P\ VfX0kƬ3J;98x gXŰa.,+i`'naVa%La,IG//^>H:HH @lòE@rf)} H^q-^aO`)"^|.ݬ *fcbebaaffdd1ZqD4|||}@'N Bt L ^G(ղ7]W+WW]+U~Y4 }7sIENDB`xfe-1.42/icons/gnome-theme/xfwsmall.png0000644000175100017510000000147611444154372015045 00000000000000PNG  IHDRשPLTE '2? ZW^^$f'o.j*v-t,|.|:l1~2}?r?w@{C@ b FSZGU]JW_-/*1243798 8 ;<>? D EL JIMMCY\^'f!`(g(i*j-m%e*h+k.l0n0ofdgkҒg&U`nEW>Liw~e~ ctRNSw5bKGDH pHYsHHFk>IDAT(uiO@ѠE@DDQ9E<:[2$;Y h-:8=A=A'rH @+|p0@ͪYマ3vY~4^䚌\BԖ|.к7*#{# ,~1A 1A5aNm ? nx(֜@!pspT Zzr?r(UʍL\ɪ=#JIENDB`xfe-1.42/icons/gnome-theme/class_16x16.png0000644000175100017510000000066711444154372015163 00000000000000PNG  IHDR(-SPLTE`&@@@JJJKKIKKKLLL]]]vvv[tRNS@fbKGDH pHYs  tIME (Nl_IDATU0@DŚĀƂjB wB#6|M%),Ѱ~Ӥ΁[ ִJJ8AY~Q$JP3ځR@07)†1Ea~0=+SIENDB`xfe-1.42/icons/gnome-theme/arj_32x32.png0000644000175100017510000000272711444154372014625 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/shared_32x32.png0000644000175100017510000000236211444154372015312 00000000000000PNG  IHDR DPLTE    231?@>@A?ACADFCEGDbda¾ .tRNS@fbKGDH pHYs  tIME.7}2tEXtCommentCreated with GIMPW~IDAT8}O@/t]"Ηߖ3av+[+sJ4ysKCc]ȩ 蟁돩Y; xpdEmǚFHtp@`q,ۚW} mۨ3/w v,\ܴ1|B 1.hYh6V_nyM-wql.|嘷Svj׈_eNN"5XYSM74mPFQ[dIySԯl|9Y>1|Υ8NPtMU+/4[gߧq.,rzq3d&9 gI_Le *h2)X.1KB84wdj4Ʊll#Q,B~$%K."Mk}R"–ihQc1f`l+S@  4teb"F%YB]4 To*{¯1P"}^Jsod]$*ʊ,Wٙ'2x>zs-(@䒬( %YV".E$ [I> o\$KH0E/'Bqm #g],.ɉ\_fǽ߳? ~"_GywIENDB`xfe-1.42/icons/gnome-theme/dirup.png0000644000175100017510000000076711444154372014335 00000000000000PNG  IHDRdmPLTE /@*C[+D\+E^-G`-Hb4Tq5Ur?e@f@gAhBiBjCkClDmEnFpGrItPPzĄʼnȍʐ˓̕ΗΣԤէ֫حخٯڱڲ۵ܶݹ 7tRNSYbKGDH pHYsHHFk>IDAT]0R"ٰ?nCQC+-x09jI|tr^Z!:W2( ^+]ƘU2)y4qt=H±߯Lm`Co==n)~5d9_]3IY%YOIENDB`xfe-1.42/icons/gnome-theme/colltree.png0000644000175100017510000000030411444154372015006 00000000000000PNG  IHDRRPLTEEX=tRNS@fbKGDo*IDATxc`@UP4PR6%0BCa(7.Y 1utEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/gnome-theme/bignfsdrive.png0000644000175100017510000000214011444154372015477 00000000000000PNG  IHDR$cPLTE111555???XXX[[[pppȘ0`&tRNS8KgbKGDHq pHYsHHFk>IDAT8˝[PL" bmD!4m)Cnv>~~:{>K`':vj7F^jQ2 K J,eI KZRo(J{ wᶨ"vw yf?Rxl9 |P5$Y-nom.^OHĢBHbioXx.R8$Sx,5ySɉ7A:MIycy=rZ{K֓X4Av9'ލ}. &”dIFPerϱb*A 5O)$zr&3SD_Pߑ*V>dh)Ni6$'X4$Ǧ$FPIC#,C8A#7͒X><;׀ pcL`^]"t cKHG]d֭tqp9̙zڿ"u8c#IENDB`xfe-1.42/icons/gnome-theme/text_32x32.png0000644000175100017510000000246311444154372015032 00000000000000PNG  IHDR DPLTEJLJ   *,)./-/1.130231463796897<>;?@>@A?ACADFCHIGJKILNKNPMQSPRTQUVTRWYSWZVWUVXUWYVXZWW[]X\^Z\Y[]ZZ^`\^[Z_a^`]\ac_a^`b_^cebdacebdecghfhighjgikhjlihlokmjlnkjnqmolnpmoqnpronruqsptvsuwtwyvz|y~}lWtRNS@fbKGDH pHYs  tIME 10UIDAT8}O@WEE AoE8BA|6bP80k2k[9[GR?镮@\r|]r)*;r9)?f @10鬚N@X0< ybZ$ f ]A? @-Y@fJy;{;O]%MoE#p G섻tqJV9jTӿοhLLB X%<7 qe(~b636u)xwzP"!i`L!bF!Py@he/24 :BDȃw ׏P5m@ UX+`U:3\QPBݽ.SJa:,mF.*'IBd@O=^*3DA(N $}fƉs $mA du5yMNhlc0㕨A}-Nsa՚a ~|qzWj XB@ 8ZFeS> %ۆd AJH *#[.II{--4bjH7× dc8p:I>ǐҎaT(}sǫJٌ$B\EE)9!qQדHn ˲ ʷDH0ϽKIENDB`xfe-1.42/icons/gnome-theme/sxc_16x16.png0000644000175100017510000000053011444154372014640 00000000000000PNG  IHDRabKGD pHYs+tIME#, tEXtCommentCreated with The GIMPd%nIDAT8˽1 E?#@+pJ-Zp J[J:up-W' 0 h<ό/iz\ZR@DGEDbsҵ*U'%9`aKq Sx#R [g\A8RZ}qֺrB|1h{IZcBIENDB`xfe-1.42/icons/gnome-theme/newfile.png0000644000175100017510000000077211444154372014637 00000000000000PNG  IHDR(-SPLTE+++jjȻѓЖєҙ;ԙܣY0N7tRNSYbKGDH pHYsHHFk>IDATM aĴ[J+-`]́SpsI`{K>y-ΉU|Lf>0B" ewk1Z=u S1AuRaE `R&y&а>a";ڔ9IENDB`xfe-1.42/icons/gnome-theme/rotateright.png0000644000175100017510000000044511444154372015537 00000000000000PNG  IHDR(-S?PLTE FHI J1XGtP|RY^__aeegknrtςtRNS@fbKGDH pHYs  tIME 4y _IDATu@0 a3&s|-iZJ:L+Iy e*$ZEZI@S{`N%%|Vz83Z$IENDB`xfe-1.42/icons/gnome-theme/video_16x16.png0000644000175100017510000000072011444154372015152 00000000000000PNG  IHDR(-SPLTE)))===>>>@@@KKIQQQRRR]]]bbbqqqrrrvvvPBtRNS@fbKGDH pHYs  tIME (vu#IDATM aʎjtP`V/Űߚ P17uB^9EB\ŸߡXn a4nJ)g{g@94T% *n,E!],ÁWx=?rΓ$1޹GyIENDB`xfe-1.42/icons/gnome-theme/minixfe.png0000644000175100017510000000163511444154372014644 00000000000000PNG  IHDR3(PLTE  '2,!06A26@.7E/8G39B9=G@@8;AG=BI?DI5E]AFOCHNBM_OQVSV]TX\S^vQcRcTcRdSdWfOgVgPhOiXiZiehrXjSjTk[l[lVoXoanWohowXq_v_w]x_x`xbzdzsze|h}h~}|g~nlmmprorrsuyx{z{{||{}~|{Ā~zƁÁЄňNjϊІӈѐ̔Ďϗ̖ŏҘ”ΙƘɖϙʨşġȦͦʩʟ㪵ɫʲɧ᰾ٱ)7_tRNS@fbKGDH pHYs  tIME 6XIDATc`X3 LWR7fUW,dcccpTlG\y%YugMӦQY^]b QAaa> B fvӌK.tXA9kM~ך:T33,l!}R 3701pG-^7Isىu ,6Ɠ]|kl5夔d$%Q~yIENDB`xfe-1.42/icons/gnome-theme/miniblockdev.png0000644000175100017510000000144311444154372015650 00000000000000PNG  IHDRLPLTE      !!" $$$$%$''')))+++==:===KKK>T6KOJ=Z,OWNKZGWWV\YK[[[OdIIgA```aa`ba^bbbeeddgbap/ijhtmDlllqqphwc`|N|uRwvl|||}q}}}~q_sjjyrȹgoÿtvĶgtRNS@fbKGDH pHYsaa?itIME !IDATc``f@?ggG{{[I9yyqqLtx"3v!鰀=uuU5,mFFFg{9,v!a oxCCehHqqi^^Ou[[+v!ֆF}}TNQQU}PDmm%X,&0 ($ԔYPK(87$2$$hjl좣Â] pyM4IENDB`xfe-1.42/icons/gnome-theme/vlog_32x32.png0000644000175100017510000000271111444154372015011 00000000000000PNG  IHDR DRPLTE!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]``_eeeffefffhhhiiilllmmmzzyzzz{{z{{{||{}}|~~}~~~~AtRNS@f pHYs  tIME / tEXtCommentCreated with GIMPWIDAT8}S@ "a֊≀' AEQEC1rH[A6m҆MRq$;}}DXVTCGlU/ H,S `_G|g"tEGZG7s"KeZm6D?|֮pVWlXj̎ BHf €ťQAIq,ːMY?VK$J M" RSIU-}<3^Yj(3Y'!,>Cc՜, J¬;򊆌U)A<*04Ey$IT}fj4lAp{,-9b B q-N&.6Cɣj m;vMLqs YG]Cvli1.%%&P{|030=T,0A뎔tHrP2fU.gxI֫yh4.:#J<@ ;Gl6:O{T/gww"pq\aS^tfo݂k1Hziq:&wb];ksIB̧nJ쌿I`&nϛfiOiAaDݩjIENDB`xfe-1.42/icons/gnome-theme/xfp.png0000644000175100017510000000367511444154372014010 00000000000000PNG  IHDR00` PLTE    ) !# #$$"&'(&$+)+.+ +,*-,&10)/1.203-4!03'45#1573:'8:81=6>@=>A4@A/:EPCI0HG@HI7GJ=?M]PM@MOLPOHGQ]NRDQS@TS;QXDTVSXW?XWOZ[H]ZMY\NI_o^_L^^V]_\]cIcbJ`dUdd\efSahSifYlmYjm_goYUppoV^ppq]qosnsYrrjovaqw\twWtvawv\xugtvsrzdtz_xye|{az{gu}g|{sz}n|}i|nyd|^qk~hio~zklssoosspww{{v~|ƞɕŅ˥ͤæˬÝɜҷȳѧƣ٪͹ݯٳֿòÿǷݾ̼iKtRNS@fbKGDH pHYs B(xtIME 7rd6IDATHՕm\SU}JPÊ2^0+, DZ4V[,G\9aˢYZh-B$Y:[-[[֥%1ܭ{T~}<9&mpx +/d0Ψ]aT&OK>Vk0tlb0/ ER.'L cV ׻MB"F[a47^ /O |%>CyQ]|1_l 7C|!>vԾBkU X(YŠ=4}^o~ή5RZ-bI:]na˾d{ NG֩~r`@-9 C.;]pٓ N^Bg"&Ňf66wܟv~pQ)5`C nKyٳǛ]|vPڇ$N KNg=NGCoԯcUvccdt&Kfʟ] n;_-◟7Rؙ]FR. U\ CD[`2"S3>MĎh7N_IENDB`xfe-1.42/icons/gnome-theme/redo.png0000644000175100017510000000061211444154372014130 00000000000000PNG  IHDR(-SPLTEre)))NNNSi*Yp-akTerUmz[m9|@MbtrÔНӦ֩׮ٰݾ߾tRNS@fbKGDH pHYs @StIME .[FyIDAT]0 E{T (,Wr|W#%l–UGFkCo@)lO]TƏ|#k9m"9T#0 iR2fl`I/EnmIENDB`xfe-1.42/icons/gnome-theme/sxi_32x32.png0000644000175100017510000000177611444154372014657 00000000000000PNG  IHDR szzbKGD pHYs+tIME|\xtEXtCommentCreated with The GIMPd%nbIDATXõW!@06mh$jcFM6mؘ6^>;#0wF gb>^[rԮ~h>[rGùLZ0 4F##q H1ADL&}-A~v3'mD0 18yΒ@J,Kl[Qg@-i#.m킈 yNTn.ιBh vb42? ӺOr\!D_{D˲@ƌoI+8cǣ}^98ckU;4Mo@8U/oPs.&pXX}~ʊܦEE[ȓ+QPoAjekA[z"9'<ş?p 4jIENDB`xfe-1.42/icons/gnome-theme/ps_32x32.png0000644000175100017510000000244611444154372014471 00000000000000PNG  IHDR D:PLTE353   "$!%'$)*(-.,./-11*02/231342.62463796897A779:8:;9:<9;=:=?ACADFCFHEIJHMOLSNMNPMNRDOQNTSLWRQXSRUVTYUTXWOZWJVXUYXPY[X^ZX]]U\^[^`]baZac`ed\cebfgeih`ghfmldkmjmolnpmrqiutltvsxwo|{s}|t~}uwx{}~¾¾78htRNS@fbKGDH pHYs  tIME *keIDAT8}Sap2 #.ò.5-JJN"HfHI"YYwkw_Ig/2#'ojr`ք̬s¢(|Tfk)-d vegor,/-) ^H/I2ޖL^El7<T5g9^DE+v##CjLV>ڠB=C )j(ˊD%:ط+5{%*,RP$iCÐ$I 0 91v$Ǎ=QdA|DS(aV*$!=xpQnဝq81`L@~r=t>iЦE8/gХ7]p78 Q5NM!Λ`mmL1),֋ ‹u8<_W- KPBxP>Q-p/#<۳t6#V[~S'EA"ܾyv {7߲lu٦mj5AIDAT(u?kS{ K)t tzTT(Hv;V?. EB8e]$nC)Aw =w9r=In,f=OԐSK+EeLc7q"7;|mZs <_u5m+}^xIydbuMhM? m!ꂮ4yHy0]{(/}#B)J#o|_w'JN}(SN&`PIR/SIDATc!R<" ^ \~ !_ږv-O@CFM|P\Mg%T )!M[CIe)M:|"S]ӤAf-lr 2@W:sA⡭ SeBn@X 3L)b6Ko4VWgP `X^/ grTQUckdvV6)SعUI6IENDB`xfe-1.42/icons/gnome-theme/trash_full_big.png0000644000175100017510000000220711444154372016165 00000000000000PNG  IHDR DsRGBPLTE        !)%-&!.'"2-&62*;3)?8-D?4GA5HA6JB6OF9RL}~`?~acAdgcDEkkmqyu{E{}IMNOQRn3P{IQRSTv7´õĶźȼʿ tRNS@fbKGDH pHYs  tIME !XIDAT8u_PK"\$ff*BbrDB^ɦn%o>99^ E9$a$[CnS(I2G\.=ZL$kLw峳q *'cX (+ZZ*Jpw;pZ,:PZv,YFvZAł~ϓ({+hWC3+KȳI`7][|d3Ũy3ZS+؄"G Fi |$ȯ IDATcp@ YT!`'.-)UUUd ؋pr2s0l͌ A@O[4AjL6PU!9s(P,` Cl4E>KP+]i"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/trash_full.png0000644000175100017510000000264611444154372015353 00000000000000PNG  IHDREPLTE   %%''!''%**#(($++$++%**&,,%+++//*,,,55.65.440660986<<3>>>@@5BA8BA:CC=BBBCCCHG@KIDMM@JJJPPGRQFSRFXWKXWO]]R^^U]]]___a`Sdb[ii[nl]aaahgbii`kkdiiimmmnnnooopofqpgsqetscywfzygzzlqqq~~uuzzz}}}SSTT]]}}nnoossxxqru{{ț̲ӺĬƺѼҾJtRNS4TbKGDH pHYsHHFk>DIDATc8l* f ܭd3C8;]Bs *z/53N,) 2330ڹm¶Rg kڳ{  ӖX:5a?Q~00dF`2", [@bB5yN <[U3, p… b[M)`g/⚼8yI`1>xEK|r&&WߐĐ ;,qy7i2@|4cKf!Īd$ŀaWʐ ە"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/bigfolderlocked.png0000644000175100017510000000330011444154372016313 00000000000000PNG  IHDR$ MO*PLTE   %&%%"*(#--,34-775;<2==wD}M>mot{qxtzv||LRUX[EK_PdvƖ]hʟhͦn̤ŗ{ϫ{ЦtШtԭ{ͬղҲصֺھ®űüȶȹʷʻģĠIꦐtRNSizbKGDH pHYsHHFk>IDAT8˅Oqz3Mf 1Ь[xpqvw":__"4{`Vn}=6ٓ!뺥7?,'j\/W+!>OڏGҩk-@ 4>HpdPQ CM#kgCA/x D! 847ǡrv {.YVĶ=ǥR(-c]שUKӾp4MJw766g AmPEї@ G $I(j20 J*WBDA ;aҋةD3$(&;7k+++3g$jH0N$hu9 1HR$Y%NMSSH$5\̿YiZ800-IPIql %26 , te7fl_N~Z/IENDB`xfe-1.42/icons/gnome-theme/gotoline.png0000644000175100017510000000071711444154372015025 00000000000000PNG  IHDR(-SPLTE-)BZ*C[@@@KKI]]]?esssvvvwwwxxxԦջ׾ؿÕŐMeCtRNS@fbKGDH pHYs  tIME _2IDATM a&4ڬLiѲbi"FO}wa Vu@J+}M }m :- PV0d =`W=5!HVySeu Geꍵ7RC1TZ)%"İGQhL'rmIENDB`xfe-1.42/icons/gnome-theme/dirback.png0000644000175100017510000000070611444154372014602 00000000000000PNG  IHDRqPLTE)-=)BZ*C[-G`4SopIDATӅY@0 @3T[5VTŠ?O2/$]+@Zvps֧q^fdzM/;S A QK*+n<4;#A;/R7iIENDB`xfe-1.42/icons/gnome-theme/bigblockdev.png0000644000175100017510000000317511444154372015461 00000000000000PNG  IHDR DPLTE   !# $"&(&*'(&%)+,('08)-+/)-/,-+2-6-13/1.315241732:4>,;+8:7;9<,@*?;*?:C3B2;?A=?<6C.D@/A?C:B>CB;EB6AC@@DFDEC:I9LDIiDCI@CHJFHEIGJIJHLJM=Q:RIO@P?OKJQM;LMKJNPNNFNOMIRCQOS:XDPROAYzƴ^I."|[eJ]_cVnbM339rH.iN2.q,+]] O}CC 0YI[[S.u{-9m W%Eys?O+f"Xވ1}=_MVp+4@(p Tjwz ~k  c= =?jڦ"i}־ 0 9׿^֤E(/qoۙ+v|Ƿ /pBAZm_yǹn7>Ys/̜9sX97/ Es-sN54ΝqMl.#@3Vu;o2 b'Yy#o;lf78p2d=8p֥6Y.qb$_q栢TkkwgԈ䆼|>g.ޕ;Y!{0l~vdɝn^d9IAsbw۱vњ{i$ uZ{a>|z;vl)ܼ)֜ݝkϝ8n)Z)."z{ݛˋ #*wpC(p7j_43+0w^Pv KKEE-- -7 RDʜXfE_IENDB`xfe-1.42/icons/gnome-theme/invsel.png0000644000175100017510000000033611444154372014502 00000000000000PNG  IHDR7bKGDxS< pHYs  tIME Ck oIDAT(υ!C%YES=㇣yDtrPi2"[@@D$HV#RȘm.ݳ<E8K J=zVSq +^7))R(BIENDB`xfe-1.42/icons/gnome-theme/horzpanels.png0000644000175100017510000000755612435277617015413 00000000000000PNG  IHDR(-S5zTXtRaw profile type exifxڽo({=ǿ114vf:H(*/1 )$&߯zpwh*ؗ}6=HXrwR<&srrMDa=a;Y,# *dPlw;R4#OS?;KN;C|\\Ԏ~h\!vc4!Z[:Ifhmâ5/,[KԶXXx_$@ ? @ Wbb=bXO`ºXB3"HոuӶ^%M6⡹ϔs1fx=ce~iscw2 0VLy܇-j̾S[nƙ̎}p~/ &lXv!D89Rbal*APqmc6[dvHbhe[HPˡ1sda9R c$K$YIFUM&#SL⒦rEMmt6 *pETrrUTsFʿ&iK-wJ=tKמzkF<␡#|R[TkjMba5SSP;C= %"K5Q,܃@,C䵪{ӓ呩=~B,I< U2nj"CǂWbzTXtRaw profile type iptcx= 0 @Y8l\w244&vW(O Groȩ\-12b jiTXtXML:com.adobe.xmp @fPLTE1Nlvþu= pHYs  tIME w vIDATӝ0 AAi+i/ircē{o2٪h%p({^%~q|JHH濖C#†HLxi$*A\rquֵ џIENDB`xfe-1.42/icons/gnome-theme/xbm_16x16.png0000644000175100017510000000144111444154372014633 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/exe_32x32.png0000644000175100017510000000266511444154372014633 00000000000000PNG  IHDR DPLTE ?Zy?[w?\yB]|A^yB^zC_yD`zD`|F`~G`}Da|Fa|Fb~IbJcHdKdIeJf~JfNfMgOgNhOiPiQiPjQjQkRkSlWlUnUnVnVoVoXpYqYr[s\t^t_uawax5FtRNS@fbKGDH pHYs  tIME %8QtEXtCommentCreated with GIMPWTIDAT8c`$_]0oҥWYf[رc߾Cj`*3 /)\<;Ve9\R<+:PK&vN>nQ1 qIE%U -m]=CKO_/__OO/_oO__k@ !6p#b#"#b"bc SR(%%===%-5-==##`MvVn^nv^V^Vvv~~^AA~AaaBAIqQiVWWB@U#BA]uMmCCCmcC}ccCcCsKKss3\ֶΎnq+'LL4i7SM> gL9sYgΚ3k\ -Xpҥ .]jٲe+._< ֬]v7lܸv ic,\-۷oٶ}[wرgǮ޽ICG>~رOQ2BSO=y3Ν?/]WWnݼq nߺW߻{O=yWkdlbfaaeck[Hl1ړ K IENDB`xfe-1.42/icons/gnome-theme/vhdl_32x32.png0000644000175100017510000000257711444154372015011 00000000000000PNG  IHDR D(PLTE!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]eeeffefffhhhiiilllmmmzzz{{{||{~~}~~~~*tRNS@f pHYs  tIME 3 JtEXtCommentCreated with GIMPWIDAT8}[Pjv/J%"_ԮeZYiv(-($fy Чǧw9yyP,_Dk*cҋjet3 }_ @ܫt,UtJM|ZtCQzE]0jkJ+%oz_ SLX ֫ ArE1)k-S$OR HTK v,DV#RC3iuPyPUii:B20NgBS`bH$LQ- IZ[چβ=tw9". MGB ~ԏ'2ߪj{5͑%1oSBNymL^﨧)XUīZbꪒM%Lj=⎻2זdY&DMJɾ w]+TkUp|Rq_# @Nz<ܸzݞnٲ{A|4ZOVn 6Gx1 iw޵`L T6`2tI@} 0dM? Lx(3p08؎]E1 48b4I!p\Id@1Vb6IrV? @Aڌ;% +uwwp:J'G _uqF,IENDB`xfe-1.42/icons/gnome-theme/treeonepanel.png0000644000175100017510000000064211444154372015663 00000000000000PNG  IHDR(-SPLTE*C^1NlGXiWjgxiwvwfbKGDH pHYsHHFk>{IDATӝ EѤ0ڸηu=ͶMz$*LR>o4uCdS X;+k\ğ'p?_nd .?~ihIENDB`xfe-1.42/icons/gnome-theme/paste_clp.png0000644000175100017510000000105111444154372015147 00000000000000PNG  IHDR(-SPLTE!!!&#&$.-)0-!30#41$52%XR=eZ7kb=SSO]\XngLtjEzpQzrQljfiiiywl~}vgcliprг09tRNS:e@bKGDH pHYsHHFk>IDAT]0 (eS*+@PVD{,NZB9@`}f|o>߯iz6VL$vnǙx"F]pqA;F$[BIaEb؍W 0_,~ (@?'$["zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/run.png0000644000175100017510000000144111444154372014004 00000000000000PNG  IHDR(-SPLTE  ! ('$640:::BAIDATM@ D-(gAa= ruHL&7Ms+๙G?0}I}[twe.Fo? "cU`l+E ӡ,kITY2#z2C#ҋE%|++] )b,jA)7)cy9"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/djvu_16x16.png0000644000175100017510000000240211444154372015013 00000000000000PNG  IHDR(-SPLTE-+!,9 < !1$5+'1.+5/+40(02(=J LRWZ _JF L[^X`lmnopq xb !V1_!;r <-E/J}w>qOH|UTuiii  $;=>=="*/,-3,7,< 3$:6940015;:5<7<8)-2+9;&C)C-E.F$G;AA]̐ԙΕԞतӲۺܱؿ, tRNSbKGD pHYsHHFk>IDATcX`Ag)anJ @m G%DȀMj ș?=+=A,2,Kk9@cZˋl O(b '--,*xKx)2tO6ֳTe``b`(**URQ At&@%CYq C/fYn]^>NfFVeVA [L-MEtZ?"Wx~<IENDB`xfe-1.42/icons/gnome-theme/xpm_16x16.png0000644000175100017510000000144111444154372014651 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/package_16x16.png0000644000175100017510000000172411444154372015444 00000000000000PNG  IHDR(-SXPLTE  4# 7"5)B':+i$ >023-E7B:&c7 E?.U>r7l8w8t;LE8KG9SG(k@+x> zA!vCxD$zD#xE%TO@OPHzHzI#zI$VR>{J$gP)|K$~N%~O&N&|Q!UXQP&}Q&]XCQ'hX:~U)U)~W"V)W*W(Y)^_UZ)p^<``^[*[*]*ibMqaBccZ`,a,a-b,d,d.niNniQg,tlUm5l1l-xqTssjyuX{uU|xZt4u7~y_|X|_c~@vHdIUgL=VV^`_hIRifjj{~lwkpdsprtrvnuvwwxxyxwzx{yz{{{y|}{|~}{|}~}÷÷öùƺƺɼɽɼʾşʫћ}-1tRNS@fbKGDH pHYs  tIME 09lPIDATc`)/,)= ~Ⱥ\v Oy὇vTf%'ť13L8_R(3#US!{R>JAY]ښmH)s3D5׷4.yGFQMۊ!g9+DtLOl,̓!< -R[u@ &v9z-̡ : 7c0L9& pHo11S]bCMtB(Zȅv$2Zh߂.|\y*iʮy)D/ąm:/i}SȲ_y g#К8{I;OIENDB`xfe-1.42/icons/gnome-theme/h_32x32.png0000644000175100017510000000265411444154372014277 00000000000000PNG  IHDR DCPLTE!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]``_eeeffefffhhhiiilllmmmzzyzzz{{z{{{||{~~}~~~~6\ tRNS@f pHYs  tIME ) DtEXtCommentCreated with GIMPWIDAT8}W`'{XB:HU@ԊEA7Z Űj-m5mڤ %ix<9Qϣ+UJR)@z*4Z0"1Sѳrx# _ Y%La&h1&o_22r:2dfÚU5 q/'eMXQxJ8,04QMޔҖ &huMtSzDaI23j1IPh$& I6V;ㅚꚦHwVI^<,i$#!q<}*>OuzƐح# H{Ie+ OdM1z!^ $o}1= 'i ?}_`q_w9T-QuqqVQ%P\ p3" Q(r9vRL-;Ű@m V `q8# }``Gn-ZmwΝ0SEb+qK0ՅA@.[Asmn0ap8ixjQ7A0ՊV(Ž*ʞFb3{m6Vɀa[vBv;K"izn8{oEV(K̨yH'Td'IENDB`xfe-1.42/icons/gnome-theme/vsd_32x32.png0000644000175100017510000000274011444154372014640 00000000000000PNG  IHDR DpPLTE֞   231?@>@A?CEBDFCEGDR^^S__bdacebdecefdbgiikhgknamnkmjimplnkomqnpmoqnproqspvrprtqxsrsurquxtvsrvyzutuwt{vuvxutx{wyvo{{}xwxzwp||q}}|~{t}|~}~ӛԜ䝐ڢ갤̾ƳͿ¨ĨĪƦƬʪʰ˫յֶѴtRNS@fbKGDH pHYs  tIME ""VIDAT8}o@S{Y0&^BUP@=c!N%N"$ɲtߣw#Mˎ"E/lV1-}l)C`L6gBl&-fE!aN7)?7Eef%\JDZmɝ66 LYFiH˻tii.M~dD(@XgNhiSӴWl7o^tH|?wЁc&aH ^46~984K@1 X~?mJI !T~ (o_CwfU` ,1U “LP07XogLP9t9be2@~$JU\(Hu K|O堌jJlMêtWEQr d ^}9S,麆#S7trSFh,s3oƍX/bU,T.H2K 1B Š9lWn`33x}XwNduYp~@l X.a9jmZe! 4.IENDB`xfe-1.42/icons/gnome-theme/font_16x16.png0000644000175100017510000000076011564516746015030 00000000000000PNG  IHDR(-SsRGBPLTE!!!(((***@@@IIIKKI]]]uuuvvv|||}}}n`tRNS@fbKGDH pHYs  tIME r<IDATU@EibΙQ0 PJ *wv݄#YM6Js>Kհ߁DiC ! jkcWL;ܭ5JJL!A);esl 1ϣH뺛 R$-(>H"JIENDB`xfe-1.42/icons/gnome-theme/twopanels.png0000644000175100017510000000064211444154372015216 00000000000000PNG  IHDR(-SPLTE*C^1NlGXiWjgxiwvw~_bKGDH pHYsHHFk>{IDATӝ0 E fni\7vج")U5yUl)X/8 X"ţ 8F)@,I3PRNy дsyIENDB`xfe-1.42/icons/gnome-theme/dvi_16x16.png0000644000175100017510000000067411444154372014636 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME )29`IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%B;=?<>@=??H@A?ACADFCFHEJGVHJG1FJWJLJ4OL[MOMOQOSP_<5NSUQSPSS\URaPTaTVSF*VXUKDA^`]O:ac`eengdtXEghfdhjgjlif nlpllSoqnZXrtq_leuwtzx||xe {}zy}}~j~~~ms{Lz ΄;Ɋ.;Ք8מTޥa ޫe ̹ͼǽ ʾǿ$9LtRNS@fbKGDH pHYs B(xtIME /wIDAT8c` X[YZhjj d]x峇޻wKgϞ>uf]y߿?~@ͫ;a }k-<+ Up_yh0_WJ!)ȪEl_아)WPlϰbD/^}Gn86q-<۟~߿@fG- h<59>89>9:>9;>9;>:;?:<@<E ȘXO,˒u]-R IENDB`xfe-1.42/icons/gnome-theme/h_16x16.png0000644000175100017510000000064011444154372014274 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME (2T)IDAT] aqiQk]* Ȓ?͗R,oTH T1u1%p>kp+!SR1u8rv"5C_l*pkRʲ,u| NPIENDB`xfe-1.42/icons/gnome-theme/searchnext.png0000644000175100017510000000041311444154372015342 00000000000000PNG  IHDRRPLTEhJ1QtRNSbKGDH pHYsHHFk>LIDATU 1F@W$l(_CG9(E~&؁ neB{ p+1[U "zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/video_32x32.png0000644000175100017510000000425611444154372015156 00000000000000PNG  IHDR szzbKGD pHYs  tIME ,{tEXtCommentCreated with GIMPWIDATXý{pT?wfhZԊjmcZ"`ZmeƩh}u|ulkH[W(QZ$D1! d͋${odM$;j{fq=##]:Lq\Ljy=#c&|IXrܲc t$IoJp\LBJ3 /kɽ0@Kxqq\|E60yΆe ۃ~d)=8_&x\A̶I>1 PmX h008]C4Ep80n 6n8} t@ž2O6bq LϠ5bq30>c[4xLs4Oي'# <?X9G[L^P. jYiY|~\N6KWan)>lAm6y|4¶mL4So*#pTUUq غ^vxڽDc֧ˑBR@'0 7E042={v Jjjjh9Ԋ 55\[~=0Z$D'Kݢ={6'i&.\{5{ 46bzəMCC~`0H{{4~@Xx W+n::::X*"nZl\ HM`7 8`->Ě1 U,zH ο0|$:ߛʮ7^L֓y,O<LjD9r4D"|,|z*`xq^'!Ŝ֭_3:Cﯕ$V>wZzVcO<*IfuڂoP?ϑ$]TI:W_-8ՓyC<'a82Dyy9̜9L,Ys{cg?9s͛GVF``hߊ#uH ~;eee;lv>kҋ+xGhjndxxw}Yٙ1"LIRWO~\KݮvQI҅^'h*͘.[q ꓦUKW-Ri3K%I6z{TYU)<ȯuˆ%I=NuIM͍;(N޻腗X̬ }-;KssOвeW+KNTQz~{T vtuiV"*Qe|TT\$IP+05ݡ}!Q:Tj͍r q/[}jjnOo#[Z- BiDˆ4M^~etwwSZZ͛~ZZ[x덿b jkk)]WektaRR<Σ8 hh8@gO78A@I'][3 Y+oHH2㧶^˕2m6BCCt;IOOg L˘ O*tafBݎ ˊ%FoC(&##"YG$^Q1qǃz'vL65xU~aMKex^:pe!98p 8bqCjjj>b昒Gc!Eq*IENDB`xfe-1.42/icons/gnome-theme/text_16x16.png0000644000175100017510000000067411444154372015040 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME 2%M.IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%BVTF)=j.!$1}ٺ9IENDB`xfe-1.42/icons/gnome-theme/cc_32x32.png0000644000175100017510000000261111444154372014426 00000000000000PNG  IHDR D4PLTE!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]eeeffefffhhhiiilllmmmzzy{{{}}|~~}~~~ HtRNS@f pHYs  tIME #tEXtCommentCreated with GIMPWIDAT8}WPYOޥYDdOSzLzYVYj(4D)H ۘ:qN︿;=9heeCVk2ʢ/Qt#s- ߀@t U ʴC}&/ ;䥗UWҊ)ާ=灜| _/\\I4l\f!ŔPsUTٳa<1d=uU;j5rdh:NDžcVHI(*#m˧SX,JͼNNS%ڪ]+ܤ(/YX$ *-|3&wb +%cƤpmy2I FIΠ5 ]EC=c*hrG^F@WM| t)8z>d墇U"$ʗI'^D)abr `z ME}ѥhY¥4#ij;g^E `rUƿN)-pa2dS.n0ICr!F'FHSBL^Mp3/NR]⠽ m Le1-/k!G>Ͼ^is'G۞gM EhSc*tnЏu$ ݘu%vK|>J8(SR(f h !ĩQT]QTkf0iHT lazt $*hS3Bl!Hbxʖ% m LǺ 2}xZB;9w.D"I6L BYe+05R6py}-ɟq7!]lN# Bx9r&gړUw=,E)Z+qPL&^E/0{L<¨F6͉ ->KmU=G"٫bZ`g_ieykuѾ>z};-7v hlBYTIENDB`xfe-1.42/icons/gnome-theme/zoomwin.png0000644000175100017510000000060311444154372014701 00000000000000PNG  IHDR(-SrPLTE 444:::FFFhhhmmmpppyyy4 tRNS@fbKGDH pHYs  ~tIME !6s[IDATU0DY񮷵 L%X % T\ naPNR>.Ǣ)s"pm}%(:xn8(z< >Φl{f+aݻ]^U0ov9]h>3/ :oFIENDB`xfe-1.42/icons/gnome-theme/minifolderup.png0000644000175100017510000000152111737252050015671 00000000000000PNG  IHDR,nsRGBPLTE`deWhk]il[jm\rtgsthruesudtve{}j}}o|~l|~p}m}p~m~ntnuvvwyz{{~x}yyz{°±ñıIJŴŷŶǷȷȸɺɼʽ̽̾ÿug5tRNS@fbKGDH pHYs  tIME SIDATc``l8`4N"P&T5#H p0(3i֌){ZKWMneK 9Yv5T211[u44VW0PhfgMYqAnVZRPhz}~NfJBTh-PhjyFblx $Phra|XP)5Hh?P(PW[CYAFJ\LI4[2&aIENDB`xfe-1.42/icons/gnome-theme/sound_32x32.png0000644000175100017510000000451011444154372015171 00000000000000PNG  IHDR szzbKGD pHYs  tIME gCtEXtCommentCreated with GIMPWIDATXýkpU{ $<@H $ DڎGjeQ*ZT: 'b)8:}XvdŎW1N{s{{M.~hgskZ_r5kDYVk*!/b'KED:#NqJdƵ'X9}lpsR*@2A+%Ê呅Ƚ/ٓ9v߶EDvܖv;w ]H,,ϿL#5__~Q2`r+""6ω૯IGt3a,ClڼթSzۭY;)Ja%c4ǙSTgePW 6oc>f'R֒M@ↆF$# 6ct8R9o\i˾xnj8X J;.FC4Jsv?s1s]&Sld~{5k~GȂ_-rXDX_^L$ٴ;bEĉʼnxĊ/V6-_k2 @lGa~oEFRU 4M&</{sB` EI1yN%m҈8s B(<1e@6Өx+{ORv;Q'NJcWR1/v}Jp_sĆb8z2I%6؂X~t8DT@x= 9J<³/"S3akW0mڏ i( ҋ{#V8r ]N@5GaPIq$ʁ%ט` 1$tZc2t8XQTƖmɌYY΢'$R 5-qꉤR'ԅc<8XG'?/JD| y˞!O1zFC!Qţ㻛Qq&:ZB+}Tn ͞%d1c, IRII.d‰҆xDȯhDc*F曦nZ.YTr߬[[E2 E! fVhx.21ysj&];|D$%#Xv-|W ̚8v;Ç d Q/XE`q6@AAUٽ{7GfϞ=EFk֭aUc=S!ꚙ~/s΍8t'3ZVZݩqXkqaKHkb Jb5'jy뭷?~<LG. { D"W1t,ӦŦ-gjLcƲor=Y_="yJ(Kövؙp!ޔEZֈwڣ=: >Oޣ_o_/]ɹJ)HÜ9Sdžko"ҜCҲ 5RTTDĘ #9q(*u9m4G9CD0\L7P(D(ɢgRp*50jc;Cpl{% $~ˆFx4a!tDb EDctvXXEӜ=F~E۫;9^1>E462Iq9t(L㣵TI* z1 .ֵ^7_MeL"Eg{>>IENDB`xfe-1.42/icons/gnome-theme/setbook.png0000644000175100017510000000077111444154372014653 00000000000000PNG  IHDR(-SPLTE+++@@@KKI]]]vvv7By`Z3tRNSqbKGDH pHYsHHFk>IDATE0 PRWhiUE?Eh'7fr0`fc yE ]b1 l}N{P(noq` ma;yks.=JA,sdi!I8l # ?IENDB`xfe-1.42/icons/gnome-theme/xfe.png0000644000175100017510000000345111444154372013765 00000000000000PNG  IHDR00` PLTEaz!5".#3"&2 '7&'.#*;-.,+.;'0K"3L+2C)9T59;2@E?BO7EJ:F\BFSIIRCK]ALcWUY_V\KZwVZ\OZqL\x\Z][\eO^{W^eQ`eT``X_fMaU`xRa~KdSc[cjVeRfWfXg[ioPiYhRkcjrhirTm]lYmPosjpVogov\p^rsqu`t\u_tfuptbvst}TyZxcw`xdxxwo]y\z]{txiyc{kz_}f{d}`~i}a|}gcw~idojlkfprlgmrnokytpwqwrstxzv{|w}~zÆɒ˒ɘߌ̟ɜƣȠϟاͮ«ȪëŷƭӭĹijб˫زػҵƹͼdzٷԱԵ϶ֺܿ׼ӻѻһܾ9tRNS@fbKGDH pHYs  tIME- H>IDATHc`4,9:"0^BXU nDj8j8bn~nuâuKV//^^xQ$ 윁lll̬--L"igimm 64177445-10Cv(*&ZF. { 4jՙa<܆'KF1h$ ;մ`G݊6C;vl'AA9@`TS`)Sf56PnʬSyp ݥ^+/8~o7o޼k)2NS&BAԩS3XVODL K~Ja^XKG4":Cdk;H,ڛj ۛk**Zv5homͫ8U $6={5p  ~U߿L tG^ݹaWaK\âV0c- eg676s5tTW?߿ s32 {X]( אXVVV j{3W^|*yZ @ZZQVߏ7V׃c.XPVQTW߿wyyG%D%%Ed❖UP`іUz_ʚ . |B:'#J29YeF5uK(X}V?|a[zVr2R!>==ѭ+=5oT0HyxxH$ kcR3jb8  ң##!z4̍A1 2@I$i@AjR"#BCCԐ4@4v*0ZS ^oXaIENDB`xfe-1.42/icons/gnome-theme/shownumbers.png0000644000175100017510000000064511444154372015561 00000000000000PNG  IHDR(-SPLTE!+++""@@@""KKI]]]vvv""OEtRNS@fbKGDH pHYs  tIME5_IDATE ȎTJ;И?^8_\lDžigcO]^-X!s%]=_(࿧vY}c9B6ʹ)B:R״JPizqJ)"m\P#ýIENDB`xfe-1.42/icons/gnome-theme/move_big.png0000644000175100017510000000232111444154372014765 00000000000000PNG  IHDR DyPLTE@@@KKI]]\]]]ddbddceeceedffdffeggeggfhhfhhhiihjjikkjllklllmmlnnmnnnfsWoonrrqvvvp|il}oowosdóĖŝǍ7|tRNS@fbKGDH pHYs  tIME IDAT8c` V1 K`q)#Ν8ˈ >l">!Rߥ gNK`eDungO?rp\H bQX/aWp.7(#طg-# @bOF;1]6p} #{wܺyúիB @b2RmwHIJXP'brI+3c% ZjGyzq|y'y 6譆X\4AQpV@,s.^!_&7uJ0\*[=EkV\D(RA{R?B% A,*2/'W2o&Ģϙ9}䉽m-7 5tSlX=-'bѬӦLhm bDI`5&O1Ti0cDI7ԁAE>>ގښʪς-s |L~&)t.RIENDB`xfe-1.42/icons/gnome-theme/replace.png0000644000175100017510000000100411444154372014606 00000000000000PNG  IHDR(-SPLTE 0003HZBBBCCCGGG___rrrOox%%'',,66CCEETTllnnvv&tRNSzbKGDH pHYsHHFk>}IDAT]0 Ѐ(b)Rqhm !ӞMJµHt@Vj8yJ =ppȁBKKw^&oShtCx 3{  CƿqQhGi5"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/o_16x16.png0000644000175100017510000000063511444154372014307 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME 4=ЇIDAT] a7ЕVmQkT )-X?gV_f3C z_!r뾚M"8W'2!KR"x7fhJS ?HRu,,|lK }YLvC/ IENDB`xfe-1.42/icons/gnome-theme/graybutton.png0000644000175100017510000000110011444154372015366 00000000000000PNG  IHDR(-SsRGB PLTEOPOSSSVYVXYXXZXY[YZ[Z\[\Z\Z]\]a`a`b`acaacbcebfgfjlimomnpnsssuwuyzwz{z||}{~{}}}{~}}~_tRNS@fbKGDH pHYs  tIME 5.pIDATc` 0ki2!^P> ϢbR`Fi9E%%EyYIF>j+˱xԍ,mmm-uxAfNNN`Su\=<===\~A>PyG!k(M? 1IENDB`xfe-1.42/icons/gnome-theme/zip.png0000644000175100017510000000134311444154372014003 00000000000000PNG  IHDRW?PLTEhhhjjjfXntRNS@fbKGDH pHYs  tIME  5tEXtCommentToolbar-sized icon ============ (c) 2003 Jakub 'jimmac' Steiner, http://jimmac.musichall.cz created with the GIMP, http://www.gimp.orgIDATӝ0aÆ wCE6lMhڣzKZ+,˒,Xy":mK}$`;3 t^5_*D!ƸTu;0.­oQXN,}l}#'{gϚYkr:qp,gg9# c&u=FIENDB`xfe-1.42/icons/gnome-theme/gif_16x16.png0000644000175100017510000000144111444154372014612 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/biglink.png0000644000175100017510000000240311444154372014616 00000000000000PNG  IHDR DPLTE  !!!"""$$$%%%...///333;;;@@@VVV-bxZZZ.ey\\\]]].i}/i|___2k}ccc:l4n2p2qBnfff=oCp>q5tEpiii5wAt8wBuHtlllIt7{9{CxFxEyLy:G}O|?ivKO?QQBRUXZZ\jQN`aSPTcW^UZiZ__\`az{jhŞffjǠmƅkȦƶħƵȵɻ?|tRNS@fbKGDH pHYs  tIME 2&IDAT8c`PF ѭH BX H#܄KתaQp.,u:]\s__jMׯ]zwҙb+0^9Ӣ(#,"}$}ҹK7[H\: (Sp"v0YVTbXUeb^edbVBdZdZ\E^H^F_FdOutpvtreMgN}|wp`~}yuatu^zi|ks|eуnŊ{Ԍyώ|їƜɜ۟ܢҪڬ౤⳦㴨ǽغ޺Ӿ1tRNS@fbKGDH pHYs  tIME dSIDATc```d"`1| RHMcmãMJ\ B}d9|6>G ^vF>!#-i~H+qNJsQ> Hd 0ʃ"B*v1`3Ll >c} ]Ct$Zcexx NgsNgfSSVUqJ@I(<IENDB`xfe-1.42/icons/gnome-theme/newfolder.png0000644000175100017510000000145211444154372015167 00000000000000PNG  IHDR(-SPLTE 0+=8 >8 dgQrt]rstuvxwjj|«ȻѓЖєҙéĭŭƬƯƢɠˢʧɬȱɳɺʴ˶δ͹κѻѼѽΥϬԙܣZZtRNS֊obKGDH pHYsHHFk>IDATcD 0x:; 3EFBEd%E9X""A^a^^^.6l@p'G{3+%;_?[9@0HRIQ^A(`oajbrU`q5Ted%9A`XĠ|<\2-)3S "zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/minichardev.png0000644000175100017510000000201611444154372015470 00000000000000PNG  IHDRW?RPLTE !!!###'''((()))***+++---..1//011144555566677788888999999;<<<===>>>??B@@@@@A@@EBBGCCCCCHDDDDDFFFFFFKFFQGGGHHHHHJHHMIIIJJJKKKLLLLLRNNPRRRSS_UUdWWWeTQZZZccc`.dddcctVNP9M gggP kkkllpnnnmmcRoooppprrr\!sssttt_vvvvv}wwwxxxzzz|||}}}}}zxӍ ߙ/âr Ωw þĿ dtRNS@fbKGDH pHYs B(xtIME 0n5IDATc` V,Y0{&O\SE@PpH0`Et6 Dm ́ز-&  fS ,JAlH0r_/; /3cZ=` VtuI)qAN =U\ڱʪҢl%A{jD4%dw ):8j>лlܶ¥Q [wܱ}uӎL8dZ}]5>.bd8{yKwr*R2ڶ<; %dOh 2E oOQlmzIENDB`xfe-1.42/icons/gnome-theme/chm_16x16.png0000644000175100017510000000073311737251152014616 00000000000000PNG  IHDR(-SsRGBPLTE!@@@-#KKI>7A:]]]^T\Ovvv^Pe\eXg[h\vk딏etRNS@fbKGDH pHYs  tIME1IDATU0 EQ?z%1EƆ. f]4B6AE v>7`@lP)0,XB 'lW/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/odp_16x16.png0000644000175100017510000000147211444154372014633 00000000000000PNG  IHDR(-SPLTE  $ %'2'1%(&**6+7,9-:/=1>&.23A!194C:J&>JATBTBUDX0CM"I]'IY/N\NV>R[B#:YhK3?aqF`m@bsf[VBcsJcqEgwOfoGhxbcddddKkzfffVkuV'XqdqwXu[wdu}oe\zlWpw{vvv`+a}`}bzzzz{{d-z|}~~~g.h/}oqHIDAT8urPTQㄐ4BNI8> ZI#߬sJWg]ta~sV]ز>zݞ4'"h!w]Օڒ$}l7mt?u; q'FWʞE ys'I2on>kjn<=~:ZLroWib,> aI~O&dr~D/yrjKE0T9Kh|ʪ(sal EqSdE$.m۾_|Mr\d hH9 ^E%|3=1Q=E|Ө@8M(+LVĺ&42M2LHE0]W1 @W q UBG)A]ıL*  x."UUBCiUBUBᕂ^ WbȊ\ 0mFAL'PbaT1Dq磄{gQ9@$ѹCLt H{turri2}eS$J!t(s ´BIENDB`xfe-1.42/icons/gnome-theme/rpm_32x32.png0000644000175100017510000000315711444154372014645 00000000000000PNG  IHDR DPLTE   P !((!($"&2%)-.$g A. 40 /3k):7,E7y*!j1 j/"W7s05?@F<->A1o7y5l:u7w8n;DD=t:k;+DG9u<"WD,LH1{<CIHw>9']F]G%vDiE3|B!QM;A0yE"LR9fN&}H%OSEZPC|KYRBoCO s@8=)7uZy4u#7"tQ/J,V' uB!wVLbiX~f#-,w*n] hE,/6!aP@__G+&tH$s+㙜OT&BTg!MMfÉ4}  emw~v%P8l'p^}sn*MrpJ~57v`U"WAHB[N"l(*Q5+B\T`=RhJ)4Nb6 Jg#e#) )3X81s3f6Mvrp!V2F)vv36x _Zttn?, ӯ+ez[ۻNs< >"r\c@04;+E" u4:=~VTQT$.}e +4/ Dz@&D"LƐ@@]]WzRXUN~^@G"/$q#k9ͼ]%`[=ZeYaɠk |dmv}IENDB`xfe-1.42/icons/gnome-theme/rpm_16x16.png0000644000175100017510000000166111444154372014647 00000000000000PNG  IHDR(-S:PLTE  %!/#'+&/'"(-5(C&$.$f10"80V/<7)j- t+9<0c2@=.s3o5AA3CA1NA!GC#v7FC5EC9,t=AGEz;GGA[FbF6tEyD$zD"UM6LRKenHfuVdjob6jbQwb,Nl{Vlvg;Rpuk`VtZt}crxq[zu_t {xjxlvj}yXw|~bv}qz(}Qz}q}l2~txLmx1$+yn‰!k~B9/ʏRő(mΒ#M{ԗܙ#jʝIӝ5ڝ%gԞ>Ġ] -%զJ(0êv|֨SԪ[!ߩHتU۬P>%-կdѯwG1)˴;P+"^6ͶX$7%ݷlθ81޹tջJXսqȻ>GÿupXdJQ~|Ȏdeˡ͸̹̐mˋ{ΰϚωx~ӝҞԣӇշ׾؛אםڤ۠ܛݲޢ޺Ԇ^tRNS@fbKGDH pHYs  tIME "*EIDAT8cv17555ߺu䪔[U} wL28&pޜo>r[x~fϟ_?<4{ow^}_`#o^\ jѧ`ЄW~O̙f>O ;, -*1(_Aݽ G6':8偤ks:]{9aǔhoK=P@"9/] 60L)6̾JY._7ͩc(Q|LW35d07WC+_P꼣H`K{ cd>!qqI{v!E@ŲBRrkOf#Е+#&!!&(,*0Rf\z{.i%^ J@\ }=plGoa ` DYNy"P$]{YWGNd`:R$⫷OaKN+g^`/_ NГӦ-ٳ@D5P 7 =f|B85I2 8>h3* ̻;+/kO`%Pq" "q ƽD>`1.PNee7sG](D(0hm~2pFSQ`t4\Rgn<Î](E>|Bs}snJ߁d2X_L(&ҽ=v|"dG. l_;(v r%$ 6Nb}cddlB=bXf^Q\7"jڦ(*@ Bq-l &@&-<2Uuy*]%:G>b-ZM?PCBC8ucFS{, :-Gy/}ZF-nᅕ/::i[LyA&^;IENDB`xfe-1.42/icons/gnome-theme/errorbig.png0000644000175100017510000000340311444154372015013 00000000000000PNG  IHDR DPLTE>: <ANCKR ZPZT77^<;cjh `hsv }v |ryu#|!o2,u3'u3.x8-r73DEEMCCKKKQSSe\\|F@{IC}OJvTM}SNwXRz[S{b\addjnnmqquuvuxx{}}   &*:*     ! ! ( +#0*"5.<2E;A-OCUIXK\SQDe\`XeWdYaTibealbmhpkiblhuovpxr~zNE`Kk[fQtcxi$# ('*%),517;/36997:;@B-E:I2H;K=U;F)P7U;YIDAT8˅SP .TOU$5& U!ڤ0(*.~TWwx_woC%-۟zCAOTUQdwSd`(e#Nfv&I1+ȘI)#\ᚂ_sS50z2]?CM.p M7{xjA +p 4WndFx8.ķs=Z] , HbrA\Dh$DHxdj0yIOͤEQdAvT1@)]'DLO P@u`”>'bxIDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/sxw_16x16.png0000644000175100017510000000053211444154372014666 00000000000000PNG  IHDRabKGD pHYs+tIMES7tEXtCommentCreated with The GIMPd%nIDAT8˝Q+0+AV"\c HFFbWk -aT~ff' 4M1PJ%ж庮ߒ^y{?b,j8Si* @h!" "Xk|/8XY gb# s 3$`fS+%pF<]!Ca_IENDB`xfe-1.42/icons/gnome-theme/dia_32x32.png0000644000175100017510000000274011444154372014601 00000000000000PNG  IHDR DpPLTE֞   231?@>@A?CEBDFCEGDR^^S__bdacebdecefdbgiikhgknamnkmjimplnkomqnpmoqnproqspvrprtqxsrsurquxtvsrvyzutuwt{vuvxutx{wyvo{{}xwxzwp||q}}|~{t}|~}~ӛԜ䝐ڢ갤̾ƳͿ¨ĨĪƦƬʪʰ˫յֶѴtRNS@fbKGDH pHYs  tIME ""VIDAT8}o@S{Y0&^BUP@=c!N%N"$ɲtߣw#Mˎ"E/lV1-}l)C`L6gBl&-fE!aN7)?7Eef%\JDZmɝ66 LYFiH˻tii.M~dD(@XgNhiSӴWl7o^tH|?wЁc&aH ^46~984K@1 X~?mJI !T~ (o_CwfU` ,1U “LP07XogLP9t9be2@~$JU\(Hu K|O堌jJlMêtWEQr d ^}9S,麆#S7trSFh,s3oƍX/bU,T.H2K 1B Š9lWn`33x}XwNduYp~@l X.a9jmZe! 4.IENDB`xfe-1.42/icons/gnome-theme/rar_16x16.png0000644000175100017510000000145511444154372014636 00000000000000PNG  IHDR(-SPLTE  ## $$!%%"'(#,,)-.+23034/6636728869:6AC8LMCOONPPK\\V]`N^bOadObeQbeThkXilXilYimWjmXjnZkoYmo[nq\ps]pt\pt^rsjru`suarv`sw_swctweuyauybvzbwzdw|ex|ey|fy|hz|ky}fz~ez~g|g|i~jmnlnmonpmoqzpztyvxyõƳƶȲ˼пEtRNS@fbKGDH pHYs  tIME 09IDATc`n^$ $k*eػGy\jY3{bm|5|ٜms@G~L4pk3K!)SK= \r}]}i d:&twwM+бu  H6M L,2t WMlo.I plmwHNTe9L1>/(EOr)ro4P5zIENDB`xfe-1.42/icons/gnome-theme/package_32x32.png0000644000175100017510000000306311444154372015436 00000000000000PNG  IHDR DPLTEm     .-"##=' j)+(,,%0,\->8#n,=@3f6L> t5>C;t6CB;{6c>'z@ LKDsDxD!PM@vG"|G$QQIVR@pK9wMzK%KUTMUVC}M'kS+OZWKP$O[PkW'}R$P'T sX$rX*T"V(R*~X(X*_`LY[aX[+Z&o_?daT{\L]-^'`!^4b)hgNc$e$c&kh[g-f-fDf/j)wlJi*pm_kBop\wpXzqTp(p/qterRp7q4vSxyetzqwVy\ygy1x8{`|Pn~8DzdEMCNTqPPxlLc_YN_jm[|P@sWocctNp_eYkUllagg@otekwqmuoupwstyyu{qv||r~yt{w}z³}ȳ·ĺ̾ʾ̿•›ţƌƪűǡɳɩ˷͔ͬϥпМѯӯжѫӽҾ٫پ'yttRNS@fbKGDH pHYs  tIME !]IDAT8c` 0V5q v)&N^SZZf aJ3~pZfqiNҡ{_QP5IZd盗g Il0͓tzXb.Ԅe i󿯜8q`۵? iJ+q߽|zuN@tu5׻Hk32,XWjEVk=0J Kg{괏R1}y ik׮X͇zwX4gU:Pғ!yPkmz=%U4@n^~f \ͷꃏZ%5@6f ضss kvlio۹o>Y yO6=7) n T`}3T{vu P$`&}`f8n ynA! ?p衏t@F12(ѣGN79$Y zvxɓg僃bc"s,xnoɳ'6 ˅+GAJ={5 rHy(@pBm'^<{-ؤF,~敳/;,DKh{q+CrqI/t&˷,F|:wdTIENDB`xfe-1.42/icons/gnome-theme/lzh_32x32.png0000644000175100017510000000272711444154372014646 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/java_16x16.png0000644000175100017510000000066711444154372014777 00000000000000PNG  IHDR(-SPLTE`&@@@JJJKKIKKKLLL]]]vvv[tRNS@fbKGDH pHYs  tIME (Nl_IDATU0@DŚĀƂjB wB#6|M%),Ѱ~Ӥ΁[ ִJJ8AY~Q$JP3ځR@07)†1Ea~0=+SIENDB`xfe-1.42/icons/gnome-theme/tif_32x32.png0000644000175100017510000000327211444154372014627 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/hidenumbers.png0000644000175100017510000000064211444154372015507 00000000000000PNG  IHDR(-SPLTE+++000@@@KKK]]]vvv/LtRNS@fbKGDH pHYs  tIME4%IDaIDATE `Mt(#Ņ[x%#7<.;{|'qY[/"`Ct!71i+[l}Zy4u=my `9*^ZG(1Zf*<\N.IENDB`xfe-1.42/icons/gnome-theme/exe_16x16.png0000644000175100017510000000100711444154372014624 00000000000000PNG  IHDR(-SPLTE QjftRNS@fbKGDH pHYs  tIME 'tEXtCommentCreated with GIMPWIDATc`ķB &`.`cc  A$$ee!J**j-m=]}C#c%D, Όx L8k,IENDB`xfe-1.42/icons/gnome-theme/ods_16x16.png0000644000175100017510000000174611444154372014642 00000000000000PNG  IHDR(-SLPLTE+7+8,8,:-6.<0/1?1=2>4C5E7E7H9H9JJ@QBTDX EX%EV:BE!H[#J^%K_EN;DMR8R^5Xi;XgAYM>\kB^kCf0P]cCao[aS[a`GftEgwIixJjzKlzemLTo|]nvhpOb \u\uXvd e gw~f fm3j!`{h b}c"k}cmem pzho}ds |vutx~*=+}(0|+-}~,L00E61-S3?6o 4-1MEu>33T;}{RƳƸőiĞCCtƲDbξΏ{Β̾oѦӛvxָ֣ٚ׵۠F5otRNS@fbKGDH pHYs  tIME 7)OҘZIDATc4VW I(g`717ik^:aӆe;8߽n˶% ˧jjyp jr1k*ä&8eR_Q2Ӣók<ۆt30T swΘ3:ŝDEs:Th##vp1[luXC@=PNK)pyyl (7c@Ἴ@En]-V. bBW\17+ҟh络HIENDB`xfe-1.42/icons/gnome-theme/odp_32x32.png0000644000175100017510000000315511444154372014627 00000000000000PNG  IHDR DPLTE"+ ( )#,(5 ,9*8*4/<-;,1/<.81>/=3?2@5B4B8I8E:K:L(6;%7A;MP?Q5:<@QARBTCU(BJ2@EDV EW!FX"GY2DN(GT#HZ$I[%J\+JW6HR'L^5KZ/M[*N`9KU,Pb.Rd/SeBPU?Q[6Tb2ViBT^=W`GU[6Yl9\oTX[L[a?^l;_rRZaD^gHbkQ`eDcqJdmSbgQcnTchHfu^ceEi|cebLjyZiofgeNm{V#Rpyi_X%lnkW(Uscrxas~]-oqnWv\)\%nu}\ztvsd7`)b.vxunzz_}`,mMc(f2h7{|zh;}|lDg,nIvf.k7~qj3pE}h)swj+o;n+o7vSn:p?p}GʈoYєxה{˙dӘΚoޡqϤw磉̪짍ϴܺƸ˼θ9tRNS@fbKGDH pHYs  tIME :_vS|IDAT8c```WWTk,Ze߁M&3 @j(?K[6y/64"Hfv}tΫw]`}-G.y| 9Sp߹NoIn[xҍ;gAO@dQP;@F+i~~nf׾ @;7inB޳RN69xOwl׷%bw @\G ;KK(x&ylo_vD߿{-٘pOo_LɟDYXRRiH ^jj"<>}AR+ԛ} 0А\XljK}ߗ#0BMNoAkj@ [^Km`c󤖎O9AC]MyRC_PpLVWST',,E*ku> ʾ?Po 2UTk˯ ~ jBoUnP+70R^A֌WBLԓ(L<JN~zcԊٞ:RRb*uISA;WC]ORL}u|$quCD^/#)QQ>=` |[I!JALLya`7T(c4pi~TWG6%9Rp3IENDB`xfe-1.42/icons/gnome-theme/sci_32x32.png0000644000175100017510000000316011562227343014617 00000000000000PNG  IHDR DsRGBPLTE  #    !#$"$%#)%$'(&h./-130/463792:65:<6:=:;98<>3>>?@>@A?AB@@DFAEGCEBCHJEJLFKMIMOKOQLPR15OQNQSPVU=STRPUWTUSUVTKd["Y[XZ\Y\^[UcebdecefdWghfKKhigjlikmjZ\lnk]\QP^r npm]`voNgdvxug hy{xz|y|~{}|~}zv x=Ѐ:;[ǡȢĤťƦ.̫Ҹ5øǼ¾_ÿ˃mtؘfoJ]}]?tRNS@fbKGDH pHYs  tIME  =otEXtCommentCreated with GIMPWIDAT8}OpǷ1 ((7 E CN'$ĥŁTx S%2iLf8Ykmjil //y_"а^] Fp@!j{Hܗ}\\ AaI#˾!_\ qSq 1]ؠ"#9h%sqe-\!?e&=榒b^p p\O7FR1hL^&ehY84/P<̔=A[(ZA c`jڲ6M#rEXs֌A5;)P]͆PC%TzIv{CW3E Iht_vIAʛ!c&JfME[Ő$ )Ȩ ֑=dMhEs#[&͌Nׂ Ok+\~pnP*t4"AUM/O_%xO"4p0usmmm_;/7l~qv2̹οϴg1@H:^?<E_|{u24XF)ޯeW}55_惏O~u߇ {#{Z.C-N"!pL.> _9yzVf7~Wr6(U_B`D C~Y ~rxs6nWlſq+8Gɕ _q N>*!cES EnM$P;k4 $XETJD$K*M4ǜK%TRJ-h5UZkB0ijkMC=S{鵷4dQFm 3NYܬM]~Aʪ-pmǝˮm}vPQ5C,jL[: B ^  !g]-@͋3!i ۿ{C9I rΠ7sAWܾ@mZ7b(4^qVPJҟ?F}t S_npϔcv hր괪*}}w_>-*-~sw&Z|8A@]lSWü_tyutg;taZ/;/GO;ӌVbr[!Lpv߬KDXK&TOD>%W'JWЭ[jM$d!_7刺 v)|4I"M28]ϱ%z 9nf "\*ϱVoc0 kys 6|}t?u\Q;]-L~ B"0+* <mʴ!л"cL,YMhkOQ5;g ]JѮdNKNcёhD 5lK!Jd\tX־ 49fJ ԓOx#d`~*O7k =ceTjyж~CB@{\T@=(gD 'ւq.KaLOA3yw|թ7(TGJKcN~- lr0!}@P)G+ឩhуa5+գ0X>ظ7wLcJ+ !'f)ukk"uđ3zXNhNbK7G^]dPJ׈%; fG9XLz]jI2qeԈ>CsOܵE}![{ ?+lbۦcy.PIHb aYR҄gVr:zNhfLG9\Ѧ3E3t 賟㨋~X` 6eAVK./Fͫ1tLBSb4&`7u  Ɋ6ML'Ew C;_9 ѹ,o=2BGFV vpQczTXtRaw profile type iptcx= @ LII %el˼m)\qFkпq!#{bp3UUy1 / jiTXtXML:com.adobe.xmp @PLTEKKKHuS|S~zzzeijmiWi[]]]meeddoomf||yz{ppqǁzzˊ́́΃΄΅ΔšÎӏӑԧȖؙؗٙئΛ٨ϡݢݢޤݥ޹ͬݷHtRNS@fbKGDH pHYs p pT1tIME 4 rIDAT8ˍWW0aNܸp#'-`qժQ*JqC"p|9j ES#E&1IЄʏdB(@,)T]B `$+BZK2<ЂÛX\H2#Y 𹰻۟{>ƷH@0tg41pa4DѡS&%xsl4r$8FnTǫ o )IENDB`xfe-1.42/icons/gnome-theme/tar_32x32.png0000644000175100017510000000272711444154372014637 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/wave_32x32.png0000644000175100017510000000265311444154372015011 00000000000000PNG  IHDR DdPLTE     !%! "$!#$"$%#&,$&$%'$'(&()'*,)+-*./-130353<>;GIFFMTFQRZ\Y]_\`b_hjgmolmt|tvsv}}|uíųķƼǹȵ¾ƽûɅHtRNS@fbKGDH pHYs  tIME 1;tEXtCommentCreated with GIMPWIDAT8}O@C@x}@n=W mmXdɂ'j.w|û*JV".Æmn:гrUuҀCh́e_W}v֕v=5!JnOy$_JK9NIPTؖy4UPdSA L1!(bsJ$ qL|'նζE!m;|)S>ϧ ;!GBj1J((#L1?.o0UhZajx_idTp"IENDB`xfe-1.42/icons/gnome-theme/shell.png0000644000175100017510000000274311444154372014315 00000000000000PNG  IHDRFgPLTE  ""$#&%(%(&&%!$ "%!#'$%&#'(%.,&)-)).)*-(*,*-/+/////0*2-.0+.0,0.%1.'0.(30)32*02-15/74-86-1313332607525934;45;46847<57<7;71;81<92><59>89>9:>9;>9;>:;?:<@<DIDATc+΀ "2Ǐ^|у;}?9𑣇Yp9Zj_T1217VSQ [p\rĶ,ˁbTe؅ʆX,#_ͭ=]5ya P_u,)Ʉ'"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/minifolderclosed.png0000644000175100017510000000156711737251371016535 00000000000000PNG  IHDR,nsRGBPLTErtguwjz|p{}n{~o|~ptuvzwuvwvyz{{|{~}~°±ñıIJŴŷŶǷȷȸɺɼʽ̽̾;tRNS@fbKGDH pHYs  tIME9u!oqIDATc``"8` P#7T5#H0xy(?wsOhHbZ:{ִIe^@!;[ S'vTfΜ\WZ2 '-ZK(8?#%.2PSQ()/5!::7 ,IENDB`xfe-1.42/icons/gnome-theme/selall.png0000644000175100017510000000036311444154372014456 00000000000000PNG  IHDRb PLTEm{tRNS@*bKGDH pHYsHHFk>>IDATc U+X "6p20؂X qc `0&oP&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/prefs.png0000644000175100017510000000101111444154372014310 00000000000000PNG  IHDR(-SPLTE'/ )))666CCCIGFPPORRRTTTM_sligkjikkkrpmfyp}tx|}/o>tRNSq6bKGDH pHYsHHFk>IDAT]0 ?64Pvl @y"iZ8w>ɨ<XNFqޜ(6:2W>kv=Lq~B2n+S,@eJSvOlڒ^Vg H"jBzM8^C$Ý?["(._FIENDB`xfe-1.42/icons/gnome-theme/xbm_32x32.png0000644000175100017510000000327211444154372014633 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/news_32x32.png0000644000175100017510000000246311444154372015022 00000000000000PNG  IHDR DPLTEJLJ   *,)./-/1.130231463796897<>;?@>@A?ACADFCHIGJKILNKNPMQSPRTQUVTRWYSWZVWUVXUWYVXZWW[]X\^Z\Y[]ZZ^`\^[Z_a^`]\ac_a^`b_^cebdacebdecghfhighjgikhjlihlokmjlnkjnqmolnpmoqnpronruqsptvsuwtwyvz|y~}lWtRNS@fbKGDH pHYs  tIME 10UIDAT8}O@WEE AoE8BA|6bP80k2k[9[GR?镮@\r|]r)*;r9)?f @10鬚N@X0< ybZ$ f ]A? @-Y@fJy;{;O]%MoE#p G섻tqJV9jTӿοhLLB X%<7 qe(~b636u)xwzP"!i`L!bF!Py@he/24 :BDȃw ׏P5m@ UX+`U:3\QPBݽ.SJa:,mF.*'IBd@O=^*3DA(N $}fƉs $mA du5yMNhlc0㕨A}-Nsa՚a ~|qzWj XB@ 8ZFeS> %ۆd AJH *#[.II{--4bjH7× dc8p:I>ǐҎaT(}sǫJٌ$B\EE)9!qQדHn ˲ ʷDH0ϽKIENDB`xfe-1.42/icons/gnome-theme/vsd_16x16.png0000644000175100017510000000066211444154372014645 00000000000000PNG  IHDR(-SPLTE @@@KKI]]]GhZ_vvvX 5tRNS@fbKGDH pHYs  tIME #J IDATM ah0.Zw!ߡ⳧}bF,I B_h h q;r.=8絵gڰ0O6$Ѻ[Jt2ҮC^t{IENDB`xfe-1.42/icons/gnome-theme/details.png0000644000175100017510000000073711444154372014634 00000000000000PNG  IHDR(-SPLTE0001Nlwܨ2,tRNS bKGD?>c0u pHYsHHFk>IDATe0'#(jPT9,o!9 A֛ɒJ)эkyA_1BZ@lem,^Θ9$xxkY(OTvq(VKV;NBqu޷6\;@zYV>O /0Lo4Xh{V& 6{E* ij L}vn(83嶠* H_j'RG6L' @SPLTE> ##"-E_.F^-Hc/Id0Je5Kc9Nc@P_=RhDXkX_gTexakv}}~orq͖s|ύӍߨۨŨʫȔߴLtRNS@fbKGDH pHYs  tIME  +'IDAT8c`p̈ 0@~Vrb|Rjz>cɇ r`_dyѼܴOe.$ B)a^.Vfr(d́(3גbgDXEnx#WEA #]-t$Y4PABl<+#b)ȋ3Ud>1N<8Q<[O0 g`T+fO@3(P͏_JB44P-IENDB`xfe-1.42/icons/gnome-theme/so_32x32.png0000644000175100017510000000236211444154372014465 00000000000000PNG  IHDR DPLTE    231?@>@A?ACADFCEGDbda¾ .tRNS@fbKGDH pHYs  tIME.7}2tEXtCommentCreated with GIMPW~IDAT8}O@/t]"Ηߖ3av+[+sJ4ysKCc]ȩ 蟁돩Y; xpdEmǚFHtp@`q,ۚW} mۨ3/w v,\ܴ1|B 1.hYh6V_nyM-wql.|嘷Svj׈_eNN"5XYSM74mPFQ[dIySԯl|9Y>1|Υ8NPtMU+/4[gߧq.,rzq3d&9 gI_Le *h2)X.1KB84wdj4Ʊll#Q,B~$%K."Mk}R"–ihQc1f`l+S@  4teb"F%YB]4 To*{¯1P"}^Jsod]$*ʊ,Wٙ'2x>zs-(@䒬( %YV".E$ [I> o\$KH0E/'Bqm #g],.ɉ\_fǽ߳? ~"_GywIENDB`xfe-1.42/icons/gnome-theme/search.png0000644000175100017510000000072711444154372014453 00000000000000PNG  IHDR(-SPLTE@@@KKI[[[]]]fffkkklllooovvvktRNS@fbKGDH pHYs  ~tIME #5IDATU@+$$Ԙ6D.Sx{"@FPT'U{?X :MHIENDB`xfe-1.42/icons/gnome-theme/a_16x16.png0000644000175100017510000000075011444154372014267 00000000000000PNG  IHDR(-SPLTEls <<<>>>@@@BBBKKIMMMPPPWWW]]]dddjjjooosssvvvyyyortRNS@fbKGDH pHYs  tIME0pZ pIDATU0@Ĉ+DYB_%2}3!\++ڸG\?Xw׺ j=ֿy9$NLHm2\mb(l(RO#RCBsw{)g<(<cfԲ̴9&IENDB`xfe-1.42/icons/gnome-theme/a_32x32.png0000644000175100017510000000236211444154372014264 00000000000000PNG  IHDR DPLTE    231?@>@A?ACADFCEGDbda¾ .tRNS@fbKGDH pHYs  tIME.7}2tEXtCommentCreated with GIMPW~IDAT8}O@/t]"Ηߖ3av+[+sJ4ysKCc]ȩ 蟁돩Y; xpdEmǚFHtp@`q,ۚW} mۨ3/w v,\ܴ1|B 1.hYh6V_nyM-wql.|嘷Svj׈_eNN"5XYSM74mPFQ[dIySԯl|9Y>1|Υ8NPtMU+/4[gߧq.,rzq3d&9 gI_Le *h2)X.1KB84wdj4Ʊll#Q,B~$%K."Mk}R"–ihQc1f`l+S@  4teb"F%YB]4 To*{¯1P"}^Jsod]$*ʊ,Wٙ'2x>zs-(@䒬( %YV".E$ [I> o\$KH0E/'Bqm #g],.ɉ\_fǽ߳? ~"_GywIENDB`xfe-1.42/icons/gnome-theme/lowercase.png0000644000175100017510000000025511444154372015166 00000000000000PNG  IHDRW PLTERI1tRNS AbKGD L pHYsHHFk>+IDATcX 21uYVêԙ\0 L@ lzt*9yIENDB`xfe-1.42/icons/gnome-theme/font_32x32.png0000644000175100017510000000272411564516655015025 00000000000000PNG  IHDR DsRGBPLTE !!!"""%%%((')))++*-----....///112222333444445555666999:::<<;??>AAABBBDDDEEEGGGHHHKKJKKKMMMNNNPPOPPPQQPRRRSSRVVU[[Z\\[\\\ddckkjkkkmmmppoqqorrrxxw{{z|||}}|~wtRNS@fbKGDH pHYs  tIME)`IDAT8ugWPq+8poŁ8@[Q-"-B iJ+U¨ "`6Jx)mz>_r}(a1L3-`ROkp gb`O?#"(3|:8R|/{!B"sm"] =>?eU(vvyO[.2]NgMH'/b$t($H:G8.e:$mfs ,q@Ihs:( IO.9`ha?Ę~'e. M9}hu d8{sZ0db{bZ%_].8N6Q˗s6ڭriwoF`26 7CAr@yO>H59aLыͅ.RĤ$h5Zأ{(~:!4ZQxCsiJ:Y7xM[wAwƪc]YGE?ĪKaXciwos"+#&0U4ѿtZw ~WdKaX~QRRzr^ 8JR*Q9kQMXu{%r%L0QKCT(`a\ H]f -D֥/ vQ9IENDB`xfe-1.42/icons/gnome-theme/saveas.png0000644000175100017510000000124211444154372014461 00000000000000PNG  IHDR(-SMPLTE(5,:-<0B1@!6H-9I.CSOA/FV3IZcJ>O\XM+XN+aR.aV/H_qI`rl_4OduYcmTi|XmZpnnnsss_yov}kxzzzlsftgruh~&}}Ȋύя>׮tĴ̹MDEǽԿ679=Q9tRNS@fbKGDH pHYs  ~tIME 1WؠIDATc``D ىF@`ʨfĘ+Ȩ*HaLe01F{3je@r# !nB2A.Y\QP->r֡!PcEC 7 8yy'Xp@̂XybX$mARAALR yTv٠@Wf)UȻ)t IENDB`xfe-1.42/icons/gnome-theme/bug_32x32.png0000644000175100017510000000246311444154372014623 00000000000000PNG  IHDR DPLTEJLJ   *,)./-/1.130231463796897<>;?@>@A?ACADFCHIGJKILNKNPMQSPRTQUVTRWYSWZVWUVXUWYVXZWW[]X\^Z\Y[]ZZ^`\^[Z_a^`]\ac_a^`b_^cebdacebdecghfhighjgikhjlihlokmjlnkjnqmolnpmoqnpronruqsptvsuwtwyvz|y~}lWtRNS@fbKGDH pHYs  tIME 10UIDAT8}O@WEE AoE8BA|6bP80k2k[9[GR?镮@\r|]r)*;r9)?f @10鬚N@X0< ybZ$ f ]A? @-Y@fJy;{;O]%MoE#p G섻tqJV9jTӿοhLLB X%<7 qe(~b636u)xwzP"!i`L!bF!Py@he/24 :BDȃw ׏P5m@ UX+`U:3\QPBݽ.SJa:,mF.*'IBd@O=^*3DA(N $}fƉs $mA du5yMNhlc0㕨A}-Nsa՚a ~|qzWj XB@ 8ZFeS> %ۆd AJH *#[.II{--4bjH7× dc8p:I>ǐҎaT(}sǫJٌ$B\EE)9!qQדHn ˲ ʷDH0ϽKIENDB`xfe-1.42/icons/gnome-theme/bigexec.png0000644000175100017510000001105212572247644014615 00000000000000PNG  IHDR szTXtRaw profile type exifxW]z& }g]ru]~ssfd9pX1K YVJ/PZϏW近 (MW{A.4Vtz~0ʾZ%tCY~p^៮U,H m;A׳{Jc߅;=.-Oo]bw>$x"z]͋nQw{ϺvgS%ܛzy@`әVp)zbNqGFL)n4h:3/ṼӑդxP_Y κ7bIeG¯\E{;ʼnb} vf8r~(B+<&>7WlbTtWns89ċVam1@,:ʬDc>@DxR&p*ژtƲ%FjJR@@X9 C&Ir"*UXI%)he4hQժMRڪ5n )LZiZmaQjl=ܥm>#e訣 zʶZ/jU5}[~hR/qke;mx6VE7rKKz䛛m)GW mc[7hps_`Jϝܲ'h޶Y+ Ǚ/MsMAT=.Kԝqbe*K҆,P<.!N({m 2[$\:tBjrC_΁zA(GH @n.Ctx7uƄp +M(r%]]mx'PVԻL|O6;lt;d f=m zZ,\66Fdg׈-p=cn{@h{0^Vt$˃dFv th3[D;v'һlSgU|#DD<#4C XrO7 ws #8>E0(p:bJYA8F{M%r!3i8$5N|ԸE}jgt0Hg1'XD7"x#Q!C͞l ؈\J䇳=ixCZGW 75qtN=3yp+xs*V, I"OnN 1¶\t%ĉrtn:Ď{$E@rt#q9fq#(Hjt 8)n 7 >Sºi̭#͓ @bKGD̿ pHYs  tIME ;&F><IDATHOhqחiErIM8(CrRdJpsOIh+ʁ`E'hXimc%#lʾV6yx.޾ vwbtF d1ȄtqzU%B9 bL,Oԣ$3lBXbGԩdB'i]YR\bL4-BW3LH6)V"ƺKܘGg6lBZ8g!/bdź5w %vYܐ2[H )t)K'>{;k{1N5tE1GilTX䩬dtOЛ+U*ryM+MjC@96Lu5jѫ}xr\5^hvjЯI=0{K.u{QnyʲÅLH0K!CNI8'X~*HX3z|K/WZ:n&Xʣ&5W Y?=;A^<IENDB`xfe-1.42/icons/gnome-theme/xfi.png0000644000175100017510000000331311444154372013766 00000000000000PNG  IHDR00` PLTE     /"% !! $$$8#' '%()A'(&*9.1#/D/.1./-!0O1U%1F/3?35275969:; 796+;V9:8?n=;>*=c;=;?@==F8?F>@=BCA?B??H7AM)Cm@B?/DdABJBDA:EP.EvCEBFDGDFC!J K5Hn>HT1Iu"M|FHE-KJHK5J|CKR2MrFMTNMEMNLRR#HPWOPN9SyMQSRPTQVLSZAUvKVb+[#^;YCWVXUTX[/]FZ{=[A['aJ^BbI`U`lX`g^`]U`xQa}a_cAeVdvZeqQfNgWfdenDjFiLhNjhfidik_jvbjqmn+hjgPlgkndls\nSnnlpRqrs/Xqko}npmUt_spro_vitjuTxsurdwZxhw}|1]{R}X|l{sze}}{cz:zgjup}xqt}F~wÁ} ȦSʖġԙȏέZŝ̠ϡѤԲѲgӾiո}ތ4~(tRNS@fbKGDH pHYs  tIME $0GIDATHwp QqoDE "!J $ӎC B%DrSefp!}nf"E+7/ne(@>>>^@6V(Q4IAAa߷ `$SV׆Pnny|)6C^#Akp:Pus F3GFh4ci#Sd ݦ 5S Fw,ŧ[N=ņ~iTvΈ 7r^p$fMc6_`D+ 7xa陈Th/NO K[=]թgA#W.w3%Uv K D`ţj J ׇ`W06AOHOvvTmL5?#=# ї]TL ;2ur-iNO [0-0D`Z|%َg,C@Lw\ujFzn"" Zbrh褠+0h1J6n1r\hTy~qۡK~ٯvZ "c8$AxALmĩuQzGh2y.Hb)6g sabX$-luϬY,hA34ͺpX'ˠې <Ͳs-Z®i^MeQMKgVUqyjI ݈yx֎ЩA]ܜƏ,ǙY4xѠy fk__ުVb7bcΒ7+p~ΰ?lIENDB`xfe-1.42/icons/gnome-theme/z_32x32.png0000644000175100017510000000272711444154372014322 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/minifolderlocked.png0000644000175100017510000000152611737251607016522 00000000000000PNG  IHDR,nsRGBPLTE deWhk]il[jm\nnnqqmrrjsthruestmsudtveyyv{}j}}o|~l~~z}m}p~m~nnt};>vBxQzxy{yLORz[{}P~bXbelmqœkqlÝmĠq¡uģxˣnǨǨͮʯ׳ڷڷٹ±ݽñòĴĶƷȸȹȻʻ˻̽;_tRNS@fbKGDH pHYs  tIME /4[mIDATc``|8`.JP!'T5#H p13xyyx(:eάi{ &O-!d2751vjf)f564U173JfwVfr@M``YXQ T549:ӕqBH Phj^ ck4P>Ȁ%8? JOUI^V6RC_]I(%4D0UIENDB`xfe-1.42/icons/gnome-theme/drw_16x16.png0000644000175100017510000000073211444154372014643 00000000000000PNG  IHDR(-SPLTE le@@@KKI]]]0gvvvN]OXlfigjpy̠Өխջ߽ھëıŶ޲{tRNS@f pHYs  tIME ',j&IDATU0][%4˔9Vy' Ohxӑ]c 3Ce574>` Ah5:<:;9@i;=:<>;#B`=?'FdAB@ IfACA&IsDFC*LvHIG'OmIJHJKIGNULNK0R|OPNTONPRO3YwSTRPUWSWZ@Z@`y;a>d^`]]bdfL};. }WfLY/nCp/?ڳtf44b^glL58h+Ws`a7"a;7൥S'F/J%K: ýcv;*Ł {g(O* *uj!v*aac?|:cxx{ t@PqF?DY>Iͺfr-1TiԼad+X}.IMe lz}~I"0. ǢfLd| <ӳR$ %8M\gYU9>**x.:f:B,m8 zdr|%e ̴jyŰ;c}@IpJx0JoaxEƱO@W?ŪS bRt_W BQIENDB`xfe-1.42/icons/gnome-theme/ppt_16x16.png0000644000175100017510000000114411444154372014650 00000000000000PNG  IHDR(-SPLTE@@@CCC1NlKKI]]]Le~eeeO.rrruuuvvv}}}حJ渮ׄ[ctRNS@fbKGDH pHYs  ~tIME  k tEXtComment(c) 2000 Jakub 'Jimmac' Steiner This image was created using Gimp. Gimp is free software as defined by the Free Software Foundation and is available for download at http://www.gimp.orgFZ IDATU0 @A" Swnߚ%/KMïjh 4Ы.cr@Gh9 v덁w U@rǧB׽֗ 5)2 |;PN #~SѲIENDB`xfe-1.42/icons/gnome-theme/minifolderopen.png0000644000175100017510000000147111737251522016215 00000000000000PNG  IHDR,nsRGBPLTE\QRKlneopivxf{|k||pwxt{uw}x}yyz{|¯°±±ñõİıijųƳƴƵȶɷɸʵʶʺ̸Ϳϻ:tRNS@fbKGDH pHYs  tIME 6{_nIDATc``a8`2R`C BUؠKT AB*  uT'Ojb][[Rho-II 54'xzZj+ˊSݜB]eŅIQN6@κҢ܌`/{s=%P^nVZb|DHP .644L]VR(`gma(-Ƞdail +#.`>7UIENDB`xfe-1.42/icons/gnome-theme/syncpanels.png0000644000175100017510000000061511444154372015361 00000000000000PNG  IHDR(-SsRGBPLTE*C^1Nl''GXiWjiwgxvwþ@ pHYs  tIME '4IDATe ]^w[ vRː!@:$۳8mmX1Yb~Mz30O4Ȱ%o˧ibETAt|5"9,Di3 Y睏 $~1V]YJן ։%IENDB`xfe-1.42/icons/gnome-theme/tbz2_32x32.png0000644000175100017510000000272711444154372014732 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/sxd_32x32.png0000644000175100017510000000177511444154372014651 00000000000000PNG  IHDR szzbKGD pHYs+tIMEb*tEXtCommentCreated with The GIMPd%naIDATXí-tHHK]e]"#{ȺFq|8p G.fE KaNǽ3wp%6 ri|>ڶm} TT+s)N=L&\#;,˲PJyC9ԛͦm)%bsJ54,K-JzT#$7"V~8J)1^RJ\׽vh84&8d2u]Lsx|k(H)%q7Yp] bV+o?gBp?`f" !J[8y#њ@Jm{ӭ:iAE.kif!"0#swy,N3xqz&a(t%:A^n6_ivR2n+q&~RiR۶u$7R~R]8*Bqã \)⡆uak^__`:.dyzs@Eii QWK僾ysO (>?Q*#˳f{FR] 4y=ߚ@\.^?=Zl,m?Ux4 b%U{yQyUШtalf2[՞m@#BeYaXuӨ߿eew`Uu*V!dY x=&t/Kлݮ 0{XϺoIENDB`xfe-1.42/icons/gnome-theme/sound_16x16.png0000644000175100017510000000076411444154372015204 00000000000000PNG  IHDR(-SPLTE +++@@@IIIKKILLL]]]dbYqqqyvlvvv~{p~r}r|tRNS@fbKGDH pHYs  ~tIME ^QIDATMk@^;a)*DnVX_~|f̙QE<$ {Z5HpyV aCh{tЎ/Tm_֨3vuq,!%JRU1"h( GBBVB%! ҚyƲ,4L17pLdzIENDB`xfe-1.42/icons/gnome-theme/find_again.png0000644000175100017510000000073011444154372015257 00000000000000PNG  IHDR(-SPLTE@@@KKI''[[[]]]fffkkklllooovvv?tRNS@fbKGDH pHYs  ~tIME eIDATE{0r(PV:PZ\wpVlȐ՜RP֓A"LESB2:ʠ=pcƗĖwDS{JǑW]5!zTr{a 03",27o>G~φʥIENDB`xfe-1.42/icons/gnome-theme/minisocket.png0000644000175100017510000000037111444154372015346 00000000000000PNG  IHDRRPLTE##$BtRNS@fbKGDH pHYs  tIME )$tEXtCommentCreated with The GIMPd%n:IDATc`0fV2))C P!X1DP*5@VG$IENDB`xfe-1.42/icons/gnome-theme/bignewfile.png0000644000175100017510000001203012573276613015316 00000000000000PNG  IHDR DfzTXtRaw profile type exifxڭX[*g Y<]GcJeJ0_,TCfr[nQѨ;t}޿x=S=Jk/HsqSxZ:D)t݇va;_m۽Ƙ/gjs 'ŵDɻ)}pk8zݡWzvE85'~OeEt_AG;[ZܝOpmc+(Z!ce Gc~@"cQ&#Es_ pwqĴ*H'8hE0RV%tǛ-m{A+ad$LFxuM8Qo]cf8r~(B)o#<l\A=9EgV8'#]EXa % p::$F!+QXSs4 ؤTN6c#dz 8$X93GrE )'΁ Wn%\"5J%I""UhM5WJUm%H$ZSŢo+FSϝ{ko]g u-o$Xf:i"f<˔Ygk+x%څ3jх#8n)3 3qq1;*9hԈ#G Iݰ#-n_B.8tr{؈,tiA0`VU='̈dZ#kjf"S~}UTt2 !gL$!]dYj򈂬EaoIYcbɉ13a1 YpS /wệspQu1P#Y[RRKL<&#w]B̷0 s`Mxe2!Gm\2ǴP֠e`BZZfXD\Ôa܍nXCr燸f*}TYp/m_QL^ᱣP^ WbIu5xc-*:bم:g5H#uAV ܎vu,ԩ5SAგz]A0P5a`]( q׶GGCŽ, x$8J6eo% c/-MґkfTJ|x9P(1L\Upp:0`;f+D{> !bszR娍kD5)+j  |g2cYq1ZGtcdP^@8 =*=;ʼnO ~|ZiyquhZ=;+1WbV`՝ R7CaTh\iv@&!x<"$ "0I]<*ʹGݶZ4uPX7C @;PA 27s9YSjƠnHvl[р=d?h!ZD% tyig?\hH/ LNz^;!$iGLQ]8qd{_u[_BVm,x@ h?h=gΝνXi#|ƄlB<-yIbsjM7|w<[#w0 d \@?A_bt㯻 av`>W836 +)vM7' @,kkZŵcɧ7${'O? Hc'o~l4ͫTF0BJm>RA!io'6{ս t _7UdXܢnR$VazTXtRaw profile type iptcx=I 0 {`$GWQ~ʎ a09XQ GɧSzN2ݖ^# jiTXtXML:com.adobe.xmp @)PLTEA...///111222;;;@@@___0Π$%*;12@YeHINqx^dfh}v,vZtRNS@fbKGDH pHYs  tIME  F^FIDAT8˅g[0(U[)Vp+$'p^|b &U t7/ XZOؖ k!aU,D]:(xr?Փ7h9?ಥp ggptoeUz G D3l "M>_ OZ0Cqփ;E$-ݬ,-Aaf7a0F*XxɵDLTA`&VR!ntdt=ބIENDB`xfe-1.42/icons/gnome-theme/newlink.png0000644000175100017510000000101711444154372014646 00000000000000PNG  IHDR(-SsRGBPLTE+++>rCzRzK|S}LNLWU\Q^`X_yjjo}ÒʌȻھ;Жѓєҙԙܣ}ŵtRNS@fbKGDH pHYs  tIME )[%gIDATM@;NBcu]fAq]"G8iE5.[w)uw=Af08w;=϶uJaC\qZC19_3g1*) iC ]˰$u]Ш4ډ!>!BFIENDB`xfe-1.42/icons/gnome-theme/archadd.png0000644000175100017510000000177211444154372014575 00000000000000PNG  IHDR(-SPLTE    ,$8## $$!%%""'+#'**&"'(#1'#/*#),/,,)-.+:-&40(23034/:\663b9:6?bB>;J?6AC8EB?GDBJGDLMCEOYOONPPK/Z.[4^5`\\V7b8c:d:d]`N_^]7f^bO:g=#syxOLvu4V _{֝S+[{ DN׶ȯҖɑ. 0?Ⱶ+f:N>zu'T49vVKlsp8s@,[llaobʑ]HED10Otrߎy:Qn. *eݻL^!.Y$&d/ S3IENDB`xfe-1.42/icons/gnome-theme/greenbutton.png0000644000175100017510000000122611444154372015535 00000000000000PNG  IHDR(-SsRGB\PLTEofulfZMIKG]]YN[Nf`jXf]p\|kfSdRmanhtymXlW~|rÊ΀Ǝфٓٔwrxnz{|osٙ~ٚ儎z兔r愚慛懔扒{酠茛ꇞꉞꊥ生ꋟꌥ蓜쇓{蔧蕪陝}럤}95tRNS@fbKGDH pHYs  tIME ,AjIDATc` pJHq !၂P@;7Ϫcnbm`(`WUPPQS XD\|=ME@\Aa1Q>n<`S]S322#<IY9yyBPf()D? ~W"IENDB`xfe-1.42/icons/gnome-theme/svg_16x16.png0000644000175100017510000000073211444154372014646 00000000000000PNG  IHDR(-SPLTE le@@@KKI]]]0gvvvN]OXlfigjpy̠Өխջ߽ھëıŶ޲{tRNS@f pHYs  tIME ',j&IDATU0][%4˔9Vy' Ohxӑ]c 3ClIDATӝ EQ{/4Ot$v$i`=k.ae95~0͠i%`^J'oh(!L0Iϟ;尌IENDB`xfe-1.42/icons/gnome-theme/xcf_16x16.png0000644000175100017510000000144111444154372014625 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/vhdl_16x16.png0000644000175100017510000000064311444154372015005 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME 80,EIDATU aw'+Vd0cn I+F9nt벘''J)))D#,g {vCm35 7\!:ʘ,=IENDB`xfe-1.42/icons/gnome-theme/c_16x16.png0000644000175100017510000000063711444154372014275 00000000000000PNG  IHDR(-SPLTEttt@@@KKI]]]uuuvvvwwwxxxnatRNS@f pHYs  tIME $VvIDAT] a+ڢzi1D*X?C՗0c!}åBW60wl:F.&g̙r`0 YrvrJwCܤ-4E, ךAC5OT8UIENDB`xfe-1.42/icons/gnome-theme/bigharddisk.png0000644000175100017510000000067511444154372015463 00000000000000PNG  IHDR$%}bKGD̿ pHYsHHFk>aIDATH핻J@TXEbT06o`㈝X +V7AEd!3bɌݸqń̙ _dZ#ePmR R(6xŠXJ;slrEC,w,2D!ړUj?Y1(^bYLocoH'@x3^ m,&Is!s-@KLy+S,?mub}`<&h2^lj.Kť0LzY5[@O}h0T!:x=mlU 1dS{+Uz͌mJoO"`D+Ψm AqO[IENDB`xfe-1.42/icons/gnome-theme/bigfloppy.png0000644000175100017510000000255311444154372015200 00000000000000PNG  IHDR!"@PLTE%9M !*9!0?./-/1.02/241%8L&:N9:8:<9;=:<>;=?<*C\?@>@A?8CNAB@ACABDA/GaHCBDFCEGDKFEFHE8K`IJHJKI7NiJLJ8Oi5RrNPM7TsOQN9Vu;XwHVgIWhUVT=ZyVXUKZk?\{Z\Y?bEa\^[]_\AdBeCfVdvEhbdaGidecWjKmhighjgMoNpPrMuKwOvPwrsqsurSzZzpwixL~mby{x[p~v\UV_XpanSY[qbbtcsdW_[Ê]Ōb΁r|c˒|›}ÝׂީܤަҮ”گʹܬ߹ٶӴᰨܹⲩþ۾۹ɥ¿Ĺʿ˫ϲ˴Է"tRNS@fbKGDH pHYs  tIME ;8fIDAT8c``_:q-606FG9!@R,;FyF߿~=Tq3'xy\Jt`VWB ;ܡ4c) % ϷX%ǡf8}i pbKP9م?WSb#011Ȋb!ׁ*,xEddd$5*UK}}%||gNNކpr/pAg\"aV Sq=##Uusssgt̨ )7@xqE͋ s%1U} Uq{D0T{QlC[wbPʩ5l4Ԍ['WZρی[;Wt QqE\"Ovd)))n*khݚ\RɦcgWj 1k F==aF6&&VI@IIT, T3OK9/IENDB`xfe-1.42/icons/gnome-theme/bigdoc.png0000644000175100017510000000150711444154372014432 00000000000000PNG  IHDR DPLTE...///111222333;;;@@@VVVZZZ\\\]]]___cccfffiiilll9lYtRNSObKGDH pHYsHHFk>IDAT8ˍR0BAh=X@[_09?;]`Ù1gn)nK }8.x{.;\nq75KWOH\j /p9JJYȇFP`Ѩjk)}X2H[wU ㆸIENDB`xfe-1.42/icons/gnome-theme/filter.png0000644000175100017510000000051411444154372014465 00000000000000PNG  IHDR(-S`PLTEhis”›Ǡʪбӵչػz tRNS\\bKGDH pHYsHHFk>YIDATӕ qŊIBt0² I7eB&)By@-Y;0q8'DIENDB`xfe-1.42/icons/gnome-theme/xcf_32x32.png0000644000175100017510000000327211444154372014625 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/config_16x16.png0000644000175100017510000000067411444154372015321 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME 2%M.IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%BR0:C.BT0Md8Ob4Pi?ZpA@?DMU_]^ARaC_vH^qI_qTgx_nzba_mptAgCfHiIwUpbwY_urvhuzyƌլۧA WtRNSc5bKGDH pHYsHHFk>IDATc PMAXEA30؎!Ġ$,dkn s[2@m@ĥ&7FBb#/U nG@9 N&|f ay9*# 1yXh!b0pgC cS99CSWC)JIENDB`xfe-1.42/icons/gnome-theme/config_32x32.png0000644000175100017510000000246311444154372015313 00000000000000PNG  IHDR DPLTEJLJ   *,)./-/1.130231463796897<>;?@>@A?ACADFCHIGJKILNKNPMQSPRTQUVTRWYSWZVWUVXUWYVXZWW[]X\^Z\Y[]ZZ^`\^[Z_a^`]\ac_a^`b_^cebdacebdecghfhighjgikhjlihlokmjlnkjnqmolnpmoqnpronruqsptvsuwtwyvz|y~}lWtRNS@fbKGDH pHYs  tIME 10UIDAT8}O@WEE AoE8BA|6bP80k2k[9[GR?镮@\r|]r)*;r9)?f @10鬚N@X0< ybZ$ f ]A? @-Y@fJy;{;O]%MoE#p G섻tqJV9jTӿοhLLB X%<7 qe(~b636u)xwzP"!i`L!bF!Py@he/24 :BDȃw ׏P5m@ UX+`U:3\QPBݽ.SJa:,mF.*'IBd@O=^*3DA(N $}fƉs $mA du5yMNhlc0㕨A}-Nsa՚a ~|qzWj XB@ 8ZFeS> %ۆd AJH *#[.II{--4bjH7× dc8p:I>ǐҎaT(}sǫJٌ$B\EE)9!qQדHn ˲ ʷDH0ϽKIENDB`xfe-1.42/icons/gnome-theme/minikeybindings.png0000644000175100017510000000053711444154372016370 00000000000000PNG  IHDR(-SsRGBZPLTE`NR ^#kqs44ZZ\\T2tRNS@f pHYs  tIME \~IDAT=K@  Q_E:)h0*9\&ҔsRio ڝ:3*!-R^u8"hjA'K&KT*h+ jdIENDB`xfe-1.42/icons/gnome-theme/rar_32x32.png0000644000175100017510000000272711444154372014635 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/ppt_32x32.png0000644000175100017510000000263011444154372014645 00000000000000PNG  IHDR DPLTE!!!$$$%%%R(222:@;;;>>>???)EJ@@@"HOBBBEH-IK ZJ7fH?GPOOOOPPPQQQRRRSSRSSSG6FVhTTTUUUH6K;WWWYYXZZZI1[[[O>\\\P?]]]xWNM3TF oM4```T3bbbdddKiqb^gggT;[mkkjkkkbVlll5{`Kldl_vvvkYHt{Q;o[xn{uukmJÊŮHtRNS@fbKGDH pHYs  d_tIME 2tEXtCommentCreated with The GIMPd%n!IDAT8c`Cr Htl+BkxvZ#_z ɮ7_2>{ WN*J?a|x/:gr(B/=}tꃇokȫxA哻W.]8Ǹ`>.XԞoS* H[S1,/9.224(?/w@Pk3#-7"hRs%ԄD'7$ V{177CL޼ 7 D ("3*up; YSpT@ &` Sp O:-iJT,2p}{޶mCZKpt;VlܽfYf͝;7&N]M=͍`P;pӘ0LfIENDB`xfe-1.42/icons/gnome-theme/bmp_16x16.png0000644000175100017510000000144111444154372014623 00000000000000PNG  IHDR(-SPLTEkTG;]K9qZBs`JxeNu[{`~b[kmsxUqtzue`d*ͤm£v£wǩyͬ|ѩpѱZSTtRNSSrbKGDH pHYsHHFk>IDATcf@@n2pzy8mm,M @|uA |L > +~ 1efA5o-8; \'7\ ,TAR ZLBTxyzyz  8h Q-("Uz6&zTXtCommentxs.JM,IMQ(,PHUp R#epIENDB`xfe-1.42/icons/gnome-theme/gotobig.png0000644000175100017510000000227511444154372014640 00000000000000PNG  IHDR DPLTEjnq   )*)*,)./-/1.130231463<>;)BZ*C[?@>@A?ACA-G`DFCHIGJKILNK4SoQSPUVTRWYSWZVWUVXUW[]X\^Z\Y[]Z\^[^`]?e\ac_a^`b_cebdecghfhigikhjlikmjlnkmolIunpmoqnnruKxqsptvsuwtwyvz|y~hϛМѲѳҠӆڷԤՌڦջ׫؏ٯڕĖ#ktRNS@fbKGDH pHYs  tIME VAIDAT8u S@(*rIZ*֊ TբւJRqKxI[3dvec,.gɺ6+UkV`'P(zQ( (\5dptK4m8q tPýBU*tBţuݬu Uߤ dzim%a%z3_JEU 7Jt!@_Ą)G΢c'фi9W]` Bv".^>{7~c06RkC81#xu{T+R@¦|Ke>BMY2,~_#_1^9pyĬ@Th,nZQ`[AsV)oL ʃDPLr;.8ӞɸLA.8 Q N'.)괣͉;a| t S@BT%5AjGvA'v]<vnhcaIKbDe$T$pQKg!pLttNX@>+ZlIeZ<IENDB`xfe-1.42/icons/gnome-theme/mp3_16x16.png0000644000175100017510000000062311444154372014545 00000000000000PNG  IHDR(-S{PLTE @@@KKI]]]uuuvvv9tRNS@fbKGDH pHYs  tIME *ZIDATM `]B.("?a ˌg7ggXca)Y 2x}`<`g|N]{`1ޅm JGwp`̍"p%KZK}))e]W!gZ> I&\MIENDB`xfe-1.42/icons/gnome-theme/unmaphost.png0000644000175100017510000000141111444154372015213 00000000000000PNG  IHDR(-SPLTE777888999:::;;;@@@BBBDDDGGGJJJNNNOOOQQQRRRSSSTTTUUUVVVXXXZZZ[[[\\\___aaabbbccceeeggghhhiiijjjkkkmmmnnnooo=`WftRNS5bKGDH pHYsHHFk>IDATcHE j*+H |}}=\-EY RRRb"ÃE~ޞF@Ow'#C3!foA?P :1>6*",XA( '%!.t/7';;+ ~A=G{jIENDB`xfe-1.42/icons/gnome-theme/wrapoff.png0000644000175100017510000000057011444154372014646 00000000000000PNG  IHDR(-SxPLTE+++@@@KKI]]]lllE6tRNS@fbKGDH pHYs  tIME /&yIDATU0 DD(Ҩ\Z6]xּ F'pp ܇)>GB Ӱ0k븰bKc0Q.hpiq^/ж3+Vp[ylVIENDB`xfe-1.42/icons/gnome-theme/gif_32x32.png0000644000175100017510000000327211444154372014612 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/deb_32x32.png0000644000175100017510000000321111444154372014570 00000000000000PNG  IHDR DPLTE    !/%')!'*1,+-%/1.640;97:-t+q.<<5;=: u1_E*sAKJC54_J-XM'yD!}C"VO97"PPH|G$NRD:!yJ$|I0|L'~MPVML%}QZWJ|Q#P$C%aXBT&H&V(U)h[FYu[-Y)a^QX*Y$f_HN5\,Z3aeE^(_5T1^Eb#d#xe:c*c6ihWufK\3h-g.iFpm``=n-~oSm0pFxs`eCt2~v^uTw@w/pLzVx2x8|}isQpR|^~dxMwP~8D@|NcNjDVPQP?QX>Pa\lyntchMpZeeJl`hkbl~gmpqqrmvnytulrwxytu{||}vqz|{}}y¶~ѹǼĻǿ̿±ň›ɏŒƇɭɨ˒ʤͷͥєͭЮӷصجܾ߼DotRNS@fbKGDH pHYs  tIME 5:OIDAT8}y\qǟb !G;˱2#徕+G[:D%1v8!<1-Uϲ>*ʑ{~^P~ߟa>s<.80wF~ѢO_9#?Vވ=S#oZzӛJ[(R @B82kA%1R  bjοDQ$qH$@aMȟLBb"aU]F,"/>ҥaa:b!! 6a0.lI޶m,al8Ǝ1txO&^*3ySd$$îL/͗bqzUEZ@pqDg{̩HRT[|gT.ѡ1tnlIht'mmwC[wueDI>KiMyW{&ɥSqWn9ΐ]Y,7d8M [n!8{q8K6ӳet%AhюYlwOJ !q+ _y}z}}Mr }IP#|+"vp|x ԠF_>zT|bp^`W|sdnY,rsw^vvJ#'uY:ZMsaü3#l><">TI ~o\HPEFReq0ϓĵ$a~DPg-]$O8M_73MD &BZz<:|}?am' b(D@IENDB`xfe-1.42/icons/gnome-theme/fliplr.png0000644000175100017510000000034111444154372014466 00000000000000PNG  IHDRRPLTE1 Jݝߤ<tRNS@fbKGDH pHYs  ~tIME  h???##XXX[[[mnpppvv9*ȰtRNS@fbKGDH pHYs  tIME!9IDAT8˭[P-ѽ,D"AD a;)Cnտ9g ֛<_v!&}nsqn[fh"_GYmZ&zaHڦqGu]SN*G"Lz3XF§* @fw2[͍D<]] zH4EKł$vQQ*_FV}Dj6N&bѰbw3;nrXid,gT^`"e'JģTD{۩Wޒ_`*Rs5*#r&DELy,*zSg3Y,zaT8Bp]$I3 mi__i盼{nOt^=8͍@*ck EPL8a%p"B?.X,c|],p!_emj815y,IENDB`xfe-1.42/icons/gnome-theme/core_16x16.png0000644000175100017510000000077111444154372015002 00000000000000PNG  IHDR(-SPLTE  $$$&&&111<<<@@@CCCDDDEEEKKIKKKSSSYYYZZZ]]]vvv$܀tRNS@fbKGDH pHYs  tIME 6,SIDATMi@C$RI RNN/y.BP| %y{ t7 m1K`c^80ݤs5Hoa38<+7!d#!2pSc9Je8 }*8m[6| ? 7-YIENDB`xfe-1.42/icons/gnome-theme/delete_big.png0000644000175100017510000000233211444154372015263 00000000000000PNG  IHDR DPLTE!!!##!$$$&& )(#**"++#00'11.44+54155,77-874<<2>>3??4@@5@@>AA5AA6BB7BB:BBBCC7DC:DD8EDBEE?GF>HG=II:}U ׯYgn)ik߾{ƭlĦ0T,o_=%.u\8rxƮʊmto({쾅 fJ(XBGْ%U ­y8A' ɡ(= OXLHCAsmt9W;q]cLL0isSâ`b; "+TN&ZႡab>B%fʊY G\kщt`F&AwIENDB`xfe-1.42/icons/gnome-theme/filedelete.png0000644000175100017510000000243211444154372015303 00000000000000PNG  IHDR(-SPLTE   ##$$&& ''!''%((")("))"**#++$**&,,%+++..)//*,,,44+55,65.99/440660991986<<3??4>>8>>>@@5BA:CB8CC=DD8DDbKGDH pHYsHHFk>IDATc &2 `&d`<}J9DPP>49%$ Y]젢j`1uB_MEvie/X lҜgMؔho6Jqʣhj E4XI\]], U(hh7 tX@ĂAB`Xxc!^瘘"\䤠 112@R]˘k"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/minixferoot.png0000644000175100017510000000151211444154372015542 00000000000000PNG  IHDR3PLTE  '2,!06A26@.7E/8G39B9=G;AG=BI?DI5E]AFOCHNBM_SV]TX\S^vQcRcTcRdSdWfOgVgPhOiZiehrXjSjTk[l[lVoXoanhowXq_v]x`xbzdzsze|h~}|g~lmprorrsuyxz{{||{}~|~ňNjϊІӈэ̔Ďϗ̖ŏҘ”ΙƘɖϙʨšȦͦʟ㪵ɫʲɧ᰾ٱ.tRNS@fbKGDH pHYs  tIME ! ,IDATc`UT[_̀Z5TtfL>ms"u"|<\lllv@l\ 1-#55)6Ǘ$D;0(44<<2L"+/8* D죽<}|ܜ]<  9 .ݪ&sB_1;"ծ:3 ,r8"2 &n-e ~` qz @ !!# #$"$%#     J&!-.,./- 231   :;9?@>!% *!,*81rD@137$UVT6-ax9%f{Y[X[]Z*i\^[OE^`]4k|0n9lbda/q2pefdAnqhigDq-wRA9vBtjliGtHu2{VEFxXLGyLyZH?_QO|K}kv=NOPkbR8UPiRRiPm^Lq_rcZUyo[iMZ`{PQ_WUuZhXaZwdhyiƝbȆe䏂kɟdӕߘ¬肋꩚ŵ몛緮¾ÿNƸزټztRNS@fbKGDH pHYs  tIME68IDAT8c`HF1!)7WwS`ˊq*?LŦ{W݂, Tp0=.,z_wb+_` DV{5^H 3t  ~|f8oܼ&O" 3?@?;0p@BZ[S]EE?a##/0Tsח޿{of#(g`  ~]ܳu+'*o Y͛7\|wܹu>FV D ̬ KYЉIENDB`xfe-1.42/icons/gnome-theme/epub_16x16.png0000644000175100017510000001046412430677112015003 00000000000000PNG  IHDR(-S\zTXtRaw profile type exifxڭV[& gYrxd) v}$d,UB/$C 'Igt]Ւt~09n C3m/vu)vxiMeyX;\ܓ_Ǣ y.O+'.NםyZ3w06 ᅣm'NRwc8F_T0{Qg)W뵀Ku%\K =19;HQAj+U@h+rEE%׌ЪB X芛x""7L&8^O3ʼnl. Sy,Bcs/~<}AAlrQ<}䖻tvҝm= l )Uf%d g'\yύ̀6y;J\(-sk`(I.C,Qȡ^}B0kTV^FM} Qc)ɡSJ9#h댷3f\"ŗPĒJH*Pƚjn\oi;uR{cO=pCa#|U}V^Z5ڪM䚧z\,'~jXT`$SMM4AA~Э݇r_fnrfJ(gt[_u{Z^[prj@a9y$}ݶ2[.]d5bGc2?mw\ _ڠrM.(c#b/8W]|5a4C:,41f!U/Gxf}c~,[K_"ekk\rSr>ܤPٔ |W;Ϊe59~$kxͧm\O"ήykzϧ5g^|)7$:1?8_?~b)lNxGSkE޴\|.XVk^ hM?}#OazTXtRaw profile type iptcx= 0 @YdٸeihLN'z'v͆#@%)Sodղ1ߘv( jiTXtXML:com.adobe.xmp @PLTE[[[_]__`h(r"(&).-4;H`fPcnehp^yʀxΉðυԒؚ֡ؐؕ؞ tRNS@fbKGDH pHYs  tIME "-0>IDATuG0D "s & J UU5*Xy|HacnJ9[;J{ofq$hn^xC~Rcuʼ'YA̪0 [%Ew5:k`6,`$fIENDB`xfe-1.42/icons/gnome-theme/gz_32x32.png0000644000175100017510000000272711444154372014471 00000000000000PNG  IHDR DPLTE      !$%#&&'(&()'+-*,-+/.'./-02/32+13043,34266/981=:.;=:?@.AB@AD7ACADF3EG4DFCFF>FH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/midi_16x16.png0000644000175100017510000000114611444154372014771 00000000000000PNG  IHDR(-SPLTE @@@KKI]]]llluuuvvv}ӼtRNS@fbKGDH pHYs  tIME 0@tEXtComment(c) 2000 Jakub 'Jimmac' Steiner This image was created using Gimp. Gimp is free software as defined by the Free Software Foundation and is available for download at http://www.gimp.orgFZ IDATU0ELl"@X Sí ?z 3xݷE' gxJ$o !ιےs֞i9X]p^hѸ8p)g)e]W؎,  IENDB`xfe-1.42/icons/gnome-theme/maphost.png0000644000175100017510000000225411444154372014656 00000000000000PNG  IHDR(-SPLTE///000222666:::;=;>@>?A??F?@D?@G?AAAABACCCBDBCECBGACFBDDDDGDDHDEHEDNCHIHHJHIKIJJJILIJLJKLKKMKLLLMMMNNNOOOMPMLUKQQQQRQRRRSSSTTTUUUVVVYYYZZZ\\\]]]^^^_f^bbbeeegggeodhhhiiikkkilhmmmlsknwnqqqs{st|sy~yuu<=9]alG\JFnwYtRNSObKGDH pHYsHHFk>IDATch@ ؙji(+Iȫ좢"B\mmukk+Jr̈́$K3cL*2S"C<Sœ܃ܼ8 ,M tU}\}U8 s2Sb=Dy,tt4ՔeDXYy *YYIENDB`xfe-1.42/icons/gnome-theme/bigfolderopen.png0000644000175100017510000000227311444154372016023 00000000000000PNG  IHDR$ MO*PLTE  $$$+++00/111>>=BD8IJfIDAT8mkSPdP;(]:N$$^B,C;D='>ley֔(K勷uݺ1@(HVuYvPP1&w:f Wh(hB($FVJBa Vt'Ygގ''_x],/`PRTʯjv3IGr\~lgܓtV,O'VH{RZ̶IDQ{,ӴLZlscO$3 |eYR.8 $)}LDjdJHG pIZ2řN@bmC&! BB |שT 0pLGfhE"2 G 0#s8^OJa5wFH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/info_16x16.png0000644000175100017510000000067411444154372015007 00000000000000PNG  IHDR(-SPLTEI@@@KKI]]]ssstttuuuvvvwwwxxxjktRNS@fbKGDH pHYs  tIME 2%M.IDATM a AgR*&f}6B l#Z[=`Hc<<c`aQXssiHeoН gu *P/BdS*'2X`%B2(wO˹.2C0|D3)xΒ`Adhuߙ\=]λ;O]|)>|O4΢ G9'߭5Z\qr-A鍌ebv5RLNJGm&2M*h:WS!NpE,(uM-qϫ{+f1Xw{1"4p-Sgxl\@;9DV8'8C#q an11#1 D%Fh߀@6)eS7%n]:Z A,f Wp$ R9KιdQVR"%Rjb5URs-V )L4k ZU 6|m0kR&-jfܥ^zmH?(aԡf)32i \[iWYu }ZPsxj.mD3 Fxq@hr̎ɑs%PAdr_ 7r/ ݅g^6|3 ݧGZHlPըI݆;@ Lne$jD$6rh@C\:6ɕK(f 6O*>e mlG?.+ y5xZ&6f_ٓ</[zG&HU"I^KO&S41\ԅAgO|**lI1{Y9HR1S: VsCHB35>1xm'F^HLcjO 9 iI=Fmplb<`h̝ʹq>D1- ^ztn=>lg g<9ezSk!a H:'H##z6YkF)ٍ;dO {bCU1Td? w".2LPv>JBeFNR h(`3w=p8>2pQ4 {7r}ZNsu!-bz qy @bKGD pHYs  tIME  gv:IDATXVMkSA=bӺĽn;q?AEBA$@5%і$hM^giK: ]es{+?9c_<Z,n+`bϟ㥈釲YљٙyKC4W\.|Yļ t0bWG\.E(f*X[xxEND z7 UN̜j $r;QZNAN bTD|ܺ[ݽwGόJOF'ŮB`TOֆ,BQ9j3S8h4 xRiIHL6 3D "53'=^Jժu$}?%w #v'ndr:t籟fZpGE~j?H@̨|P'0lwE=t= U ɗaΝv(M8 /,G "Hbc{B4{}F #de,+?/ܻIENDB`xfe-1.42/icons/gnome-theme/wave_16x16.png0000644000175100017510000000062311444154372015010 00000000000000PNG  IHDR(-S{PLTE @@@KKI]]]uuuvvv9tRNS@fbKGDH pHYs  tIME *ZIDATM `]B.("?a ˌg7ggXca)Y 2x}`<`g|N]{`1ޅm JGwp`̍"p%KZK}))e]W!gZ> I&\MIENDB`xfe-1.42/icons/gnome-theme/zoom100.png0000644000175100017510000000056411444154372014412 00000000000000PNG  IHDR(-SlPLTE  &&&444:::CCCFFFhhhmmmpppyyy1tRNS@fbKGDH pHYs  ~tIME !kTIDATe `zĻh!!8Pku7;!8gM6}g*~;\ĸ1.SCL n2 \gDy*uA=i*LsQ>`]aYI4«t`IENDB`xfe-1.42/icons/gnome-theme/print.png0000644000175100017510000000145711444154372014343 00000000000000PNG  IHDR(-SPLTEFEDMKGOMIPMIQOKQOLRPLTQNTRNa^Ya`^kjgonkmmlpoluuu~{~|~||~`tRNSsmCbKGDH pHYsHHFk>IDATcG ` qPqrVq AX7\@RZ:L!0UMuuX1,cbbbcc#͕na p u52` X;{x)Tةpsrq2˂l-L u4tt@"B|< 2 x8zW%"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/bigpipe.png0000644000175100017510000000164111444154372014621 00000000000000PNG  IHDR DPLTEEGLM3)*ee f!66:88899999::::;;=<<>??@A@@DDDHFFGFFL9'QJILLRMMWNNTPPZRRUQS[UUYVVYXX[YY^H0]]a]]bQ6^^^__aT9aaccceddfddiqaaM5N6ggshhjdinR7tlqrrxo2q2o3tyq0zz{{{{||}}rIsK|4~66z;z:wU7{Y}Q~SɃ74Ʉ96ɍ7Ɏ9ɐ7ջcֽfֽhվcۼyh۽{ܿʿÈ̓σϟӧٔܗݙޞ۷ܺ}tRNS@fbKGDH pHYs  tIME &3mx+IDAT8c`8)_^/x%Lnj%/ӵdR}i>y%Jsp_C@ٺXBfϬ-*oV]e*]Dyu.If[n)֔*o۶pVgseY VR+Kʊ*i,*&o?mFh|AYY6y WF cwxRmE5VޓOn*Meef&8aT>e0~ҜpL]﬌+4i*MuWesRFH5IL?LKDNMELOANNFMPBOOGNQCPPHNRDQQIRRJSRKQUGSTRVYKYZGZ[HY\N\]J^_K^^V_aM^bS`bN_cTacObdPceQbdadeRefSfgTghUhg_eiZhiVijWjkWklXlmYjm_mnZno[iq[op\jr\pq]qr^rs_st`tsktuauvbvwcwvnty^wxdxwoxyev{`w|az{gx}b{|hy~c|}i}|tzd~d}~j~}u{ee~k~v|ffl}gl~hmhintizojpqlrmooqv|rwsx~ttuvvyz}±ůưǷȲȸɳɹȹȿ˵̶̻ͷϾϸοпйѺһӽԾտP%ޖtRNS@fbKGDH pHYs  tIME tEXtCommentCreated with GIMPWCIDAT8c`IQ 4B@r$vlZ%aI"X N8ڐĤ6ti%Ͼ~8l[΍,u'WyF&e׶/lbCh^w>/p wh+U*xrm˺gZ56<<&9#3D`٫hmQޙ+UP½w,>%8>74#tL؍`Y;/]SZ3Mf p|aYczbPef.y5oo5>z`߾}u)M՛w;YX0u JzMzҎ;w)$ȉ"y-;wJHJYdܙz \Db67 ?IENDB`xfe-1.42/icons/gnome-theme/switchpanels.png0000644000175100017510000000060711444154372015707 00000000000000PNG  IHDR(-SsRGBPLTE*C^1Nl''GXiWjiwgxvwþ@ pHYs  tIME (IDATm @NܫB e@6'3 Tդ˪ha3/EXcQ!\oN VIfTi)#=XcN@? 5 @g |O~ J#DH>pͱ^3~;mܙIENDB`xfe-1.42/icons/gnome-theme/gotodir.png0000644000175100017510000000125012205374353014644 00000000000000PNG  IHDRa~ePPLTE    #$#%-=+,(34+>?2)BZ*C[-G`CE84SoORCSTEUXG?ejmYqs_Kxqt`lmllnnqvtuthuvyѳџҵӢӶԦպ֪׾ خïƤɥ˧˨ʷ̨ΩӮ?6tRNS@fbKGDH pHYs  tIME#IDATc` 0W.h!DbbyB)an*0|Vvf`1T5nt@2ff}>Ɍ9i :Q!@uIq .A 2pd"(&@ QF7 %@S-I6q%(']ّڌꪊ VB s9!X+]oIENDB`xfe-1.42/icons/gnome-theme/bak_32x32.png0000644000175100017510000000150711444154372014601 00000000000000PNG  IHDR DPLTE...///111222333;;;@@@VVVZZZ\\\]]]___cccfffiiilll9lYtRNSObKGDH pHYsHHFk>IDAT8ˍR0BAh=X@[_09?;]`Ù1gn)nK }8.x{.;\nq75KWOH\j /p9JJYȇFP`Ѩjk)}X2H[wU ㆸIENDB`xfe-1.42/icons/gnome-theme/make_32x32.png0000644000175100017510000000314611444154372014762 00000000000000PNG  IHDR ٩NPLTE   ' "#%"1( .+ ;*?++-*:,-2*02/I-:2(574?7-3;79:8F9 A;&A:5;=:Z:M>ABJg:6GE(ID3MC3\R*NՉ2Ԍ|O_̛͗Ĕnږʞʟ џ̡ǜUɠ3*ڢ)ǥFvärZǥgۣ_x?ܦIԭ.Ʈl"ïsٮBӫu̪ӳ2۫qɲfٳ=ߴ"U;׷?߲j<ݷIػJӼe߻ZݾUܿ\Ҿ\׼yºgF?{lvVƚ4ɟʫc͕̃ϊH͟C|ӡѮڇڢܝoGtRNS@fbKGDH pHYs  tIME)-^]/IDAT(myX am[f]+D(,B,#G:rfis#:mccȦXg֫X3cfg>}F K;/mn g0KF ^嫅 VhXX>1 "B˽^afB!d+#ZKE3Hb Ze*B+[v]ֳi8J,b+ɝ}|nߏq)Jnq3[hyvE=n;";jm[kC4bJwQkZ=ٴӡ+Y)>Nĩ5EnG@m2Ӊ=~~/"> XZ1pV㗼3x!5oke@RTq~ gn;gUkZ."+1wg؀O˪@+KTy}'=2l^n:&sW~膍=Lj]Grf-J^f+e ʼ.ttޮr;?X!6bVZ9)ujΝn"j lgi;5 Q Z= I 8K?Rj L[GA3a$g:39rα ykqh@ۯW j#1\3Vo3}rZ h J6N=uh7#fz@Ts jBUY1IENDB`xfe-1.42/icons/gnome-theme/filerestore.png0000644000175100017510000000156511444154372015532 00000000000000PNG  IHDR(-SsRGBPLTE!   ##$$&& ''!((")("))"**#**&++$,,%..)//*44+55,660L99/991M? M->>8??4@@5BA:Q)CB8BBBCC=DD8DD<YJJ=JJJMM@;S;PPBgXWJXWKXWO]]R]]S?h?EfE^^U%t)1p8cbT.w3XhX2x6DqYhgXhgbii[ii_7}9kkdNvNll^nl]pofA}jqpgI}dJStscvudTpQjywfJJxxkyylzzl}}}~~uYmqww{`e{^aqhmqpm`L5Ǒr{eƲĬdCzp܌[%zSȟsYtRNS@fbKGDH pHYs  tIME !JtEXtCommentCreated with GIMPWIDATc`V :eۧT6+D;UD,[JK+ "::f̘1C&h7;ٓmAifNN tRcQe" F$W_FTCI, VR"/O3 3 LLRfM  hXM(37Y55BSZٙ!\ld7DkIENDB`xfe-1.42/icons/gnome-theme/savefile.png0000644000175100017510000000105111444154372014773 00000000000000PNG  IHDR(-SPLTE (5,:-<0B1@!6H-9I.CS/FV3IZ>O\I`rOduYcmTi|XmZpnnn_ykxzzztftguhvh~}͆z~ȊяѐӑĹͿſڿotRNS@fbKGDH pHYs  tIME 12%lIDATU0Dw)8"iǐ׼ B/P͚bK0'ZH'YdDC Tyz ;[x t|&w %'!IENDB`xfe-1.42/icons/gnome-theme/help_32x32.png0000644000175100017510000000537411444154372015002 00000000000000PNG  IHDR szzbKGD* n [ pHYs B(xtIME 91 V IDATX}yxM24*5EpK A*UnbL饚rg5.1KMI$É''9> <߳^{wZOĺ!Ywdrݵkƍgێ?],l`sA+iܢvivi{n\>[e9 Xi9rX@sjkm-wd@44.vĎOBb{h'"47 9f(2 Uj*3ljtNX?wd",j1Qχ@ @4_N-=z:Պ"n@a2 M6a K0^S}&(3ϱʑjGnDTB_Ig#4wGnt#?7jx@R m 6Rud6p`1ŌHZK PtGG?Uߓc)^R9Q\~K }r2a|!!ۨ**5 Addfc,}L S~PUׄ(RN-ϧW>T 85Qq_d@* ^׸yrcF\ rsNY4_nR&7A^ydO/ 2w ā\UF~,<+\^]B m'S@ft sX A6nbU@CӮ]KK)9hw2RQ()r?ě׋GB<&MEy?aB`"EcRu~e}'Ƭ\A ESX"pEQbbwզ JNF 0x \aR)TH@i‰ ET9*ţ\Tgh'ϡzE#/d(@pBTԼpW`0_oͻ`ɐ!HEC|8E%u{5e{#/Ъ{d0*_/m" KVfJKeĒKdphJj fH`alzv ~z?-FDp"$m)+ =p ݾIMZa0̎+[YYģ:[h>6FK#l&Eجrܠ)^TB]"70`0PVVFvV6_ +n99hwi~7aޝ[J___j5eee?(/exo/@kZIENDB`xfe-1.42/icons/gnome-theme/bignewlink.png0000644000175100017510000001411612573276757015354 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭi(^`9^~9_VeE{1st$ҭwJ.\sK5hJ@Wۼ~y{A?;jO wg@䣧;zo[Ãz{绽g{ݻk)MlF)2+|*N~ xpo~uLLaB!k񆀏AfXj[;Ϻ7|aUXek:73eyRۺj7-F8~/E|UuCHumO'yA0A7aįΩc;k"~ĻGdZ/m@K㨐<¹"2Ow2k$~&9.pZV K7{܆.ō$a3CX/6^;,b۽|0ZQ:{#N fgtW] ̷u9q4.& )w="BL =vo7s%7r걻o={>U|J?.w)0( >1rzC^ Zl͙:ewJ" I_WLn"ə!.|"0u@- ;xu/ _1}f%`8oKeEt+ FC!0"jvkIQa{Ik&{($D;{3e*\7 ó_5|W,(Yh[Fhy&s1?Ob{`kU4N&]l,ėoeـXΖO^ɂP,<=\!~^Fcד0^ r! q< Tx2>toNWDзU$jzbK$%.X\]X:51dIZ,BdjOW=8 ^$CZ)0¾ $r\JCzZ~k~w_v@9,G`XyuqHa-L%Fܻf nCt#{,9f,ٴipȵZ.GŝP&q`s*>ipfFqQhmd2՝#yː:4r|tg{V9^+bpm<4KTj㚶PTT42ۆЀ :sQ!iZQ9;2hS58cI"D*ANq!P*B3Ǔ$'BݜqIb;tEtn~cm"`4sʤJZ̨tCSNMiY5vrDBeخHhkO˪58ȧr$#q鎊:@5l jkc1q)do6!89=,k bA1 KFiNe^ .i&N+!l&4ӠrŸNUӫK5s8 S8-[559uNScD^pxbN)%1tYhMd29QHqԇA,M'#S`MDQׂoSg/ۚFx}2:SP 8ɦWW65_ˍi7it= -1bzTXtRaw profile type iptcx= 0 Ĩ:~<_J(vr˶%egpp_>tDzm)5(_^2M޹ jiTXtXML:com.adobe.xmp @PLTE  !!!"""$$$%%%...;;;@@@XXE-bx.ey.i}/i|___2k}4n:l2p2q=oBn5t>qCpEp5wAt8wBuHtIt7{9{CxFxEyLy:G}O|?ivKyyBO?QQBRUXZZ\jNQ`aPSTcWU^ZiZ__\`azj{hffjdžmƂkȢƶYçĵصػؠefgfgzrsu~{;tRNS@fbKGDH pHYs  tIME   nIDAT8c` lW^BHUl;tn Qm#@_Sy2JP# :% MnNV8 KP@5}T Q@ࢤ`-}lP@%#x@=lQ@%;p7e&z3Q@8ߌP/O7" U6i(wj1P^IUA8wo*$P'Q:aI:Z2820srr03bds](%IENDB`xfe-1.42/icons/gnome-theme/xpm_32x32.png0000644000175100017510000000327211444154372014651 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/jpeg_32x32.png0000644000175100017510000000327211444154372014772 00000000000000PNG  IHDR DPLTE    39;;!%"""!-!*"2$8-%%%+++6*!111<84;;: +J5M[6 K9"O>+P?)F@4KC6T@&VB,\F)PF5ZM=cJ*uU0q[<@DFEJMMKJNRURKDZRDYVOUY[_]U^^^kYCi_Oc]Tt^Aje\zdFuj\zjSnXmjbhhhpkeurk}p`}thrrrzwpx~~g;o;q;hCrKt\vYx[uMzN|Yxezd|i}ux}csJ{LwKM~D{rbhawV]U\ENZU\V\enck{je{|>=:68ŌFLāPT͏PĒTÔYʕSބAوHۜNЗRњRڞQƚbޡPء[͢gʠj£{գcӤj֨mުeժsDLTXYRkay|`naz43 #*#(02:KFQSkzvrdlhBpeijūϯͯݴڸ⸃‚˚:7ZtRNSk/bKGDH pHYsHHFk>[IDAT8cxM0re^1~ 'xj Ƀ`ѫ |0xƏ +G "'@.X@޳z/^|%<|V'AL`8y#:|gΜ8z(8rT)'''c,RM+8b%aq=LY!@Zz2K˗ l G@_MFa"fm nD&HU2L,Vw\t(. fbfS^f-*j} `a&jLb(A.\ ʛ:I`Bp;[rZ[Z[[y2. 6yr-QQQMmmlZ5ZvlkY^[ֽț_ī?kBAu+׮왳~Y} vUYlٺ3`Ӯ =p7oܰnÆlݺ `p y@U x N0PL J_>{˗@,L*O)@ɫgt dӧ qĞz%^KɼbOe-+ {<IENDB`xfe-1.42/icons/gnome-theme/bignewfolder.png0000644000175100017510000002661212574510740015656 00000000000000PNG  IHDR$ MO*DzTXtRaw profile type exifxśir$;cZa9ʹ-_InuޓTLFFb8?Wb&Rs/|El??߯n=?5g 7~nS?}0hf6> >\??; XCf byn;w#n c>]~}᎛;gs]Keٔ q_q#>~,U?ܯWe/;Ӹ<<.:t%F}Ӈ{⛟)Q_c _M7]e;s|_o;_#:'cpmwdsW#>6M׾|?96t\` 1[9p_!Pw}q;VY ?&# "; 0[me]yDjǍHLvaxvJs'B`wENHΔ4*g)5t5JY"X%tD }9}שDr&a@Lyj,}sIsZU=ex6>z\!PD7`{k8FB_<t!ƝT a(0R[`3% PbK5}<ۍfBs oPU<.Kkw GϡzcOL3֠~k*E`s|/#@EJ9^UJ5 kyY2LgxIf/? *3y֘pN16z8.YKVQ2b| ]ZTueCZMX՜CGԼ7X&5H4L$~ bUpmv+J< 65eYϪͳ44 /&Z@5X@(1D:zNr^ڐaG1$鰯Ko%fؖL1sƂ?Ġaa|]8إ=` ЂaVy4<8<#:o 7@Xρ;(CmQ"K3a %B*H`k] Zb쐈52kP]z0y6Aq'Rt'O`D<&LD ׳ybw$%2WׄM䅸ڤBܺ P3Fsc_q"`` Ѡ.DY[/eåb-gaΚQ-dlNq7L3*l0@YKdzt>5 P%a~3\:p%' [fSyZ 4DAF)m:"C>25XZN#T[_AZFe<D5 ޭ"mV6AO2=G%$Y?:*@. RАc֌NT1&`vI>C̀ԥ$fa uהJ8|qa-NPOؒy08=3yHYWjRYN Pw8(k'PQ@dj[eD /hAxPD0 zS\wt|3Xk36]j84 y`|ػl 8`u_C[匩0!f5I hgFVg ATCPGt) P^Лl$ +) Ú8aXf BaI2A%u?iq۫?Y~q{Ө*9cS5G*s%֎w -֟tRRHeF4JHÑGU!B"b C T0&)BL@Q{#)Av8""MT{&QGėϐW Pիu+@yN-󚁬j]T7¾a$ `=g)HY`2 @*)JW!j38d=2NOxQ$jej1Rs 0 G'jWנ @fBr+Ob+-:qed%3q3MBHeP(@ Li붡kڕ Mfjf1]|@^Bgb,hS%SGLsvGbd37z-GgO'^7ԭOeZa{|>:2HO;H"{ bЉ/ca" D$d˨jbߓ%o*$*|Q/>ɀ-҃f.v(A2rE` ( X\2pBQx[\ 7oܾzP"g ֣P`0\PAs=6G)c3PKR3Dz.@!M8wj}jaB6j=Ɩw28B6ɶj+22*Ug LIy7WEc(A [FQW, mcj,);59owŀ~P2M=tV$%g'qu쌣QHw~7`{U]GBR*/.;y@xE9ܺ~勌+q;<nZ[7i￶އ B,fa_v!] xh^SgwG@[E?x=rqɶAfRdC5W8&R5KO.c$Z7\2a ~*MnB|Q[8շ>vJЁ;ڰM8n%Wzp 8Y @KUaN U@=9SQ!3'Y}HĹhjP}R>Nn6 YA QU 0)'sd = Շ`,ߗrZIiNƥV} j^.gNDz0]lr=m`iרPz%P 'J6@Gk:߁q͵߳-m:D>*B]T$)Tet Z!+yXŔ 6OxH~)}܍tlukM~Ȓ2*e@ZEƩe}A¹&)|tæN[=:j5i;ž)iӺx8GR!gO kx۟M]p)08"" xBjmYUz[wJa$7vUbz kyB R\/dٚdݦ#Y;F s!)}q}k|h׮W0i7u& `Cwc3:{s$J֌Ճ8mEsIstO2Ci=WT! 4v^"Axݹ[(Q#uQ3[0!녴R{6IQ|z?avMAP5S'&OkŐ`LF+L+5ҦҭSEDe'Uo o.k @yLG:{?:n;rMlY`|$ʽ'u3*vDn ^!z^OwtxeD(GrR q}CK{^\hߠ^hz ]%% G?3ؠK# P~ڬ^ytrٜz \Ob JĪjI io7X$(c7b揚}[PGETګ{܃Gw?<8-/ŝAٟD6}T.e}~H޻T]whQx r1u6[n0Sg,'귁uGaw*2Ot o&9jkaƾWI Om\oV\-wDTPѢ7q߼VTYmF~,RQ(Py;}~~*5 *5^j9jvQP!ˋFG‚ -e b^T(:Е U# u]nY xWz: xNޭ#X n=EDICҚP(6UDWպɲw{ a'}81`\wmI"fGRK]6fewW{|ۆ:=:aCվ`1Ȗv`a+I7yͅ?sz=-BZ:$Y?e z(z)h#bCӍa؇lGz!Zvٿͷ#5d*NkLpG֩er^Е_TXA-~Xz hA09H)zY1p)/,Y> ~ `A5COzd]Dwk;ܗZ+r$MX5wJ \*;)3YX^u~>g@ 񌧐Tu>nwo>k6WħCEJ1ʣSEP(3|}%AFEfqQ] ]n>BC҃hEX8*G9_=޶=*+=Vgsnl첺1ov˿brI]'9 vH}3$>:wo6=E[RǢ(>UXrd:}!hƷY;qPf7RIqXsV&*|"瞩DVN(hA,3tܚsa‚`ֽJ"ՕgvIoݺ,oM^S϶zQ"<Ƀүw LA'em5AFFF Nڤ}n(0y#3a$ht; yɞut2,G]"w6 ɸ7ڌEO-nXJk&G^8S_?yum@"Nz\+_ ~,Ѿ?2zD-3`ٮ5Qj.4{&ߓٜ:P`C} (DҬX{>P\w# _ޑD?ϢCS@ρڏD1Sr|kԃ,Uiz>@Om{T'̐:\E bg}۾uneunnf-p,[<ƑMEQ PJ:O-\kllPq~kpLZsg^ܦ*ܷ[ ~1ٯ;5B7dh͛+ uy]Koל̨C43]a Oi;5dwzG(I:^- HGB ֦5L'^p0pd)d KUǤ?4Ϭdo #azTXtRaw profile type iptcx=;0 C#8q*.l _XE,#ye"3rDJ?>U;ɇSz-Yo1Cс> jiTXtXML:com.adobe.xmp @PLTE^aM #%#4244-=<0=B4NNFQUAWZGZ]I\\T[^J\_K]`L_bN`cObeQbfRcgSdhTeiTgkVfk\knZlo[mp\nq]lrbor^ps_svbvvnuxdvyexz`wzfx{fz}h~fg~tnuouvkpvwlqwxmxysyzz{uo|p|}w~xyszt{u|v}rw~tQyVc{«ìòĭŮ~ɪʫɸȹɺ˴HIHJ)8+9:EOaj6tRNS@fbKGDH pHYs  tIME !$K"A-IDAT8˭Wa)Btv"]tQX7*JbI5dhekLOɲYqVv|KY.u4.' ]&my]ts}e):v ѫ#2QLO,>^E3i.=III¾>3?7=fO yC!!C|JIͶ0A]D ˓dDCdnҨx]pgCBCF[ݶlpAl_`u pq괣g~#_73F'ٞwou >|y0;h5ZT!`7,exjm7hȺJR!;.j}mj}HTI$FߺXc1uԏT˥EHDyy7z:sNSO>|PUVt["na0ZhUr)(>Fh njտ鴍 Vq.<Ffdli5(HV! o_r12[ 61ST  `KNvffFZM=Q*rY) j{+`̎FEA5TPb\T+4(`0^܎Gg~}v IENDB`xfe-1.42/icons/gnome-theme/sxi_16x16.png0000644000175100017510000000057511444154372014657 00000000000000PNG  IHDRabKGD pHYs+tIME5X IDAT8˕1r0E<.HG5\_%Ǡ\:ҥJCR+jwZ\.( i6OO}߳OUUm&u cL1i1 ðHZ\,q&NrᝃϲL.fZ8[rkG`Miʲ/W=qD$՜^w} 3:η9<0 "cG.'[z|ms.e0\_mݟ}sDIENDB`xfe-1.42/icons/gnome-theme/attrib.png0000644000175100017510000000141411444154372014465 00000000000000PNG  IHDR(-SPLTE 999???IIIKKKLKHtqnxxx~ixǹĽұWWZBtRNSDbKGDH pHYsHHFk>IDATMG@2b,PPAg)QԦ_Z  dy BH1M@& L); I1uXeɽBR+5&3Zunw:s>w9']2XjGӺ'xv?؊z4 ȍ}G\@* *S"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/m_32x32.png0000644000175100017510000000266411444154372014305 00000000000000PNG  IHDR DFPLTEA!!!$$$%%%///222;;;@@@AAABBBPPPTTTUUUVVVZZZ]]]eeeffefffhhhiiilllmmmzzz{{z{{{||{}}|~~}~tRNS@f pHYs  tIME + tEXtCommentCreated with GIMPWIDAT8}SQyݥG(fjVeiEEIb$P 7z.4Nݝ7YdAFcYv 2 MSxqMwj>Bi"0xoG~=&kgˎdKiA{,3)MH8 x+#+톰dx'7ͥCQ$P1  L풷WKFݪ 80hd{#.U 0 Z!VFd ag! t{>OP_RXJn$daH>Ha"ccՉ-(7 xPDm6l6_Cjw?H1@d<Db hxO snZopSuP/Dvd2 @vaڬ {۷R,:m(X(0ZVS'vZIV,,:7p4}A0FRCZPBƧ!BG;h4@@ݙ>홥o:O'{**IENDB`xfe-1.42/icons/gnome-theme/moveit.png0000644000175100017510000000107511444154372014506 00000000000000PNG  IHDR(-SPLTE +++*C[7Yx@@@KKI]]]vvv?eEoP[_ΚϛМўѠӤկڲ۵ܶevIDATU@]+ĂCDܥ%Nr\×@|r*H =C.0BMzM Ÿ$TR> 4֖C>\(mq3#Xlb2D eكEH<ӊpBFL[>3"zTXtCommentxs.JM,IMQ(,Pp 7}IENDB`xfe-1.42/icons/gnome-theme/odt_16x16.png0000644000175100017510000000145311444154372014636 00000000000000PNG  IHDR(-SPLTE  $ %'2'1%(&**6+7,9-:/=1>3A!194C:J'8@&>JATBTBUDX0CM"I]'IY/N\NV>R[:Yh?aqF`m@bsBcsFbrDctDcuJcqPdoEgwOfoGhxbcddddKkzfffVkuXqdqwXu[wdu}\zpw{vvva}`}bzzzz{{z|}r`~~~yjoqs|ȻǷɹtRNS@fbKGDH pHYs  tIME '\-IDATc``Б pua܆Ieu #I}"=ckCچfL얶~Qݓrl- t ("ɍzRA6w"yafUG R|B- }M~@$f tNT QI2@:lŸS'B@HZQ˫JAV*j ݚ05n" <, ۶Hp~IENDB`xfe-1.42/icons/gnome-theme/minibrokenlink.png0000644000175100017510000000077711444154372016226 00000000000000PNG  IHDR(-SsRGBPLTE+++@@@KKI]]]>rCzRzK|S}vvvLNLWU\Q^`X_yo}èʳѻھ2rtRNS@fbKGDH pHYs  tIME 4-.JIDATM@ @эXX]Ta[!a-SOLX%QYeºQ*@a1@kG\%' >|7aޝՆyhvQk%pP!q lְ 4ٶLGN S|wpIIENDB`xfe-1.42/icons/gnome-theme/ods_32x32.png0000644000175100017510000000310611444154372014626 00000000000000PNG  IHDR DPLTE?Q)-)7 -:0=.9S%1P]/Sf1Uh@R\;[+?\ :Xf=[i@`0Da%Ae'M\bDbp\b7Te1IclLl"KenIm/IguWekagL`hSLkycn;VlvOn|ds2no[crxWuZu~d[yrw\c uxit|Ui|jmu}gaq}}q}i l cvJ{qqlpv}evv}y!yJqtxy.tz~#~{~ k5-JgEuAGf7'b;VRy O]ÛG'״^Й߿7||kZe~Mxssפm#$s>v.\l Xoa^e?S3!N7cT0o!!nM4fN*A[FY ݊ݿ?iBw/XHn` ؙTn7mU U`&,wn܀R5%Pb@ۯBďsQdeeAUg 2*H*9BƂ"LQTHH?u͊e`'B IENDB`xfe-1.42/icons/gnome-theme/doc_16x16.png0000644000175100017510000000113411444154372014611 00000000000000PNG  IHDR(-SPLTE@@@1NlKKI]]]hnvvvҾ&tRNS@fbKGDH pHYs  ~tIME  = tEXtComment(c) 2000 Jakub 'Jimmac' Steiner This image was created using Gimp. Gimp is free software as defined by the Free Software Foundation and is available for download at http://www.gimp.orgFZ IDATm @ݢ222BpqlgXc0PF'%^tjA\ng# VEU. R9R +|ZԧIENDB`xfe-1.42/icons/gnome-theme/odf_16x16.png0000644000175100017510000000156511444154372014624 00000000000000PNG  IHDR(-SPLTE  $ %'2'1%(&**6+7,9-:/=1>3A!194C:J'8@&>JATBTBUDX0CM"I]'IY/N\NV>R[:Yh?aqF`m@bsBcsJcqEgwOfoGhxbcddddKkzfffVku[ptXqdqwXu[wdu}\zjw~pw{vvva}`}bzzzz{{z|}~~~kv||²Ⱥм)tRNS@fbKGDH pHYs  tIME 9T=IDATc``А puv`CsN+ +u,]4-Ҿm P@]טګ=R+#ۤshiB.2;gfKfra``sIHL(2AUO1`xFڒ|K[F5xyLti>Hwָ%K,Ers{;'&,TD}CBB@&j"!d(4 wtD2r(Mk OIENDB`xfe-1.42/icons/xfe-theme/0000755000175100017510000000000012746115270012227 500000000000000xfe-1.42/icons/xfe-theme/java_32x32.png0000644000175100017510000000105411444154372014437 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME $tEXtCommentCreated with The GIMPd%nIDATxՖ!0}JdŊ# VT"*"#D@ Wpؒ!) Mڷcڦ%? @o L~)O%?MyOH"VPv=/2%v6*9߄7A"4vF(TT-d׊XO'd@oWF QUަ5 ԗ{D#U`T_(DmѴнFkb eB2gLY+@+OT}[2_!~l3U7`MGMxjY1s*2CJ(Vyp_דa`§p2`#PNHzz$(T5눐v@so"/?}IENDB`xfe-1.42/icons/xfe-theme/mp3_32x32.png0000644000175100017510000000106011444154372014212 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  3PƶAtEXtCommentCreated with The GIMPd%nIDATx햡r@EO:|@E?@DVD\Q@TDT + >!D":$4$ ,1o' x]s=&*=}QJ)m 7p:4/̓uxPeddu$XQ;n\^N8.{۷޽{%N\>/SSSlQ\\M7(+""|ݰqc/ab6ԿȚ/)X$ry_7-Z$O=|~:m7^]N>-3{yybǎgyFދ@t$n}EZ~[+ቝ|ns-,_UV<^k5.eҥ4 nklJȑw?dɞ_`Yʷ?c}] :Ă !ۋd\x2eQոaF dSO]>IǑ38q$==KƇT>z;>JQ'#͒H$صk6:{V4J8|0lZ޶mZmFFR{')Ȧuyʳt…KFX7@6h^xǎK%aXl~ mYXG2::)1==@5CYgb[c#%{#;yrOu1 ݻw2::5\88eQoس{7J)N}r,<(Jl2&&&yo~@GO-AU*b;۰a[neq鮫jJq*&Li۴=۾[n XrӖ-rlttT/""ZMDD kժ+\N%l۶M~n9rvrR~kWŗJ/[#3G""//e @\:,"| pٔF.BAx1;$9|?g ZX̲K7bU<ܸi~smYxV B}y7 013OʰVsOLllV2PB\$O^ 0>KSZw@Yq(H&QJ)u/  ,7s/?EöBa]#~P5kc\zuL4T,vO><+POs驪7~1+=4 m:W檕C8>|[6oDiffAGxjj 60MLկJ Pmb { /OHHYD$!-ӧj#N8lz߃TZZ A| =Wa<ӵ"QZA/[Pi#b[xX("n(KrmwGP6m Ҝ%//6[^v,DF"=, EX1 @q}l`ժUhر L-`[&^4[05͟!7?|F-c<;5~p!]Njm0q 9'p t"^nb0,0MhYi4[ئAb&ݲ@"IhRB^ĜpD7R~K6##L"RDDplvciot-ZDh_qZM 5OjT8, L0HӜW(xd?$m.ѷN].hQ4Tf& 0˚a`[!BE,ds2v?i!`PGD5BEuN&8z#;ƥ<0[-Jevs,*_qECr]u AYQZ|eٵ- O$ǿǀb损ey4N 1M5a^sRSD緌 @k(@:k**aat׊ҬeK hC@j1-ˍ.f!LGV8hCn5h8^z$=V@wnYmc 60 'WXO e0ʥ P9c6"ȥ34-T_oN?тw`n&Uǁe܎<'ds%+G ϣl<65ϣTzT6Vf.l9hBBYp\&b'~Qf_}9" v3pT"0 2V\t:|%XelN~IENDB`xfe-1.42/icons/xfe-theme/harddisk.png0000644000175100017510000000035011444154372014444 00000000000000PNG  IHDRRPLTE1{}{55½{{tRNS@fbKGDH pHYsnn [tIME  ;CIDATxc` L ` 050iS&afN aV  ,.`&DbIENDB`xfe-1.42/icons/xfe-theme/shared_16x16.png0000644000175100017510000000055411444154372014774 00000000000000PNG  IHDRabKGD pHYs  ~tIME iItEXtCommentCreated with The GIMPd%nIDATxڕ10 E_ >V=cFHtд| E~6MHC3"iLӴBM7.9'Wp%IHwχm}Uk;!I?PcV仰hRH){!K)jޓJw6BUA}'AO7rLP9oXs .)!IENDB`xfe-1.42/icons/xfe-theme/ps_16x16.png0000644000175100017510000000046011444154372014144 00000000000000PNG  IHDRabKGD pHYs  d_tIME "tEXtCommentCreated with The GIMPd%nIDATxڥA DbZ&vK[pLDcȔ#kӑ+ F ExhK7M'5eŋOaӦRfvI-X7jV^" 3نqRɫM[ PK y(GIENDB`xfe-1.42/icons/xfe-theme/tex_16x16.png0000644000175100017510000000067311444154372014330 00000000000000PNG  IHDRabKGD pHYs  ~tIME  /5tEXtCommentCreated with The GIMPd%nIDATxڕ!0EV>`AQ G4XPG  |!`)J7!x>1sl!/y4M\{8~q>^ʲE0 )[ Ck]~.R¶0@J MZ> V|k "Rj8ǮQ}}[b1{)ݟĐIENDB`xfe-1.42/icons/xfe-theme/Makefile.in0000644000175100017510000003765112634035433014226 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/xfe-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/xfe-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/xfe-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/xfe-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/xfe-theme/miniexec.png0000644000175100017510000000144411444154372014461 00000000000000PNG  IHDRabKGD pHYs  tIME&[IDAT8˅KHbqƿk^!oEwaOfI," "rѢh3$0r1A[/20pcvWha.vg6Yl;s>^$A"wwwk78n7 ت JV5\.LNN"H/..P,p8zV)D6}05`u<( jQf9ņHݱ#tzzJ,S\JBǔN)R(; t7|Iex4R)d2$BmBn#߇ilT*8(ƣ0,+AX*If) SsEQ*E(C%I1sssT*j'&&ӨV899_eb\.ǡ}}}k6333 P(,f3TU%4M,#`ggǐL&D"!Yq~~Ʉ+h"dCKKCSSSfkkwttt BI9 g" C0 *eY舨TP"APbg:}EVJ _1 mq2B; +c 6~a%t| ojg7IENDB`xfe-1.42/icons/xfe-theme/bigcompare.png0000644000175100017510000001143612425634202014765 00000000000000PNG  IHDR TgzTXtRaw profile type exifxXYv:*z p9^~HFl97}?JD8 R4_gV|L!seSpR+7g#_x`PeQuƶ/ZOvnHKVzf}OyWi:ߥcrў5d׫Xg ge1y(ݴO;|ʮWW lpb*F} 1s,&| )r*d 9H9KAM]`QJ5VW} 5Ts- iZlV#{z깗4#8ȣ0Ɩ{9qrQ5QܴPWZ f@8 ģ BL%3 ӵ Ƴ>{ -nGwȑ@O GFԺ6[Q(>U!l0T$'mP$ep/IQfP`>H޾I譁Zl][;]_Ȕ}!Ҩ1f%+ޖ#L__P?άC\dɚc1s1m( N>- ȡe]Jeh XLx-G͑E3z1! 3aË첃Y&I.!F2b:>8ֈuR ՍĚ[6k $|_軇׻T

U`& ™:T0[1:Lb!-<ȶCڗ@D|8)* OK y;[c"(=̪w/*Ž1P+/191YڗsX Յ߄Q!Zs7%l !3/A֝lޘZ3t "㋭q3 nBøȡ2Ac iq86IVxbXrm'hQGq#*S»WjalY2+DF̄+0!=H! Y"cԛ))3JmހadIG@d෴%b @Ԇn'> 5X \;Y(Žz2)*0(ẏBRQ;bk&޹YKs(;v.-ٛwwkt.ӧwM׵tJ=?GݚU@L8=ϻ!%{qtnibD0/#|.&{SY,>t.O_o>7oGOx8Z<6)Uf `zTXtRaw profile type iptcx=A @ yEDi[*VԱeGiLN.+V'NՁ#@%ФD.ٟ0jEv> jiTXtXML:com.adobe.xmp @PLTEU"x|xotRNS@fbKGDH pHYs  tIME  *9IDAT(c` @8 : $1 "ꀦ-DU\EZ4JJixT$UQ(t1;@ PT0T BZ!G NcUwsIENDB`xfe-1.42/icons/xfe-theme/file_16x16.png0000644000175100017510000000042411444154372014441 00000000000000PNG  IHDRabKGD pHYs  ~tIME  ;aCtEXtCommentCreated with The GIMPd%nxIDATx= 9b97<*V[OBG$N4AJ:=)5~cDo2zYPIzG| ^`ʥ]Նmv{;`VIENDB`xfe-1.42/icons/xfe-theme/tar_16x16.png0000644000175100017510000000126311444154372014312 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/zoomin.png0000644000175100017510000000123611444154372014172 00000000000000PNG  IHDR(-S;PLTE7  #"!"#%$&((()*))&*0)06-00+28123321236246/5;566@@ACCCCEFCGLHIKILNMMKNMMOOOOQPMQVQRTRRUVVUSW\WY[[[[^]][_dfegfferrryyyݲ6tRNS@f pHYs u u-xutIME +(ztEXtCommentCreated with The GIMPd%nIDATxc`=mu-0sp0a an&Tʈ&̎&$!XIENDB`xfe-1.42/icons/xfe-theme/hidehidden.png0000644000175100017510000000070711444154372014746 00000000000000PNG  IHDR(-SPLTE___PPP}}}666444SSS\\\MMM888EEEiiixxxUUUwww谰ڶ===]]]aaaCCC{{{tRNS@fbKGDH pHYs  ~tIME 9x6IDATxm0"mdO*~1K\RbA$sK^ y(Sb&x[17YdXboVXElHAjNx3\$^m-[x[0n` ֦yIENDB`xfe-1.42/icons/xfe-theme/bz2_16x16.png0000644000175100017510000000126311444154372014221 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/gz_16x16.png0000644000175100017510000000126311444154372014144 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/sxw_32x32.png0000644000175100017510000000105611444154372014341 00000000000000PNG  IHDR DTPLTE)))11111BBBJJJRRRZZZcccsssΏF6tRNS@fbKGDH pHYs+tIME  GdQtEXtCommentCreated with The GIMPd%n*IDAT8}Q E Ty *B>_AOg89&M2K"VG o,03r.?),HD.r4KYK93B~%@걅VE /ACD  `acM"x a2XgMT>}ޓ !x~nZLa IozeJt''0SiW=$ֆs2cWCwk"H `=`̝xsm Z>}>G7ӇɜIENDB`xfe-1.42/icons/xfe-theme/bigattrib.png0000644000175100017510000001503412577740371014637 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭiv9sn p}on0ǟdْg*K FϿ?)dh-OnI1|ޟ|ȭ1.~w}>=_ML~x]{rSO;Ϭ=kaw~mշ)ىg0sq5t4| 9Gc8-a-1y('soyssΨ'sFܯ}ڲ7/c,4L}: G1>gGgl`O@EsG ,rlh!k}>v.iJ҃4s b+r8eF ב=,(#ir.̶7u::r92~1#mDxPHrk6M#~Zw}1a(g'B/Dzʴ+fJg5ǟ}fJw"m)6e偝jIr{xJjUۛAO FtS:]D.e~VR5f1*T/ `n& Zxou0 ̅(rDA%Ņ#K&ʶ pr>Lq$,|zYq r ɸ>Y }PZU:iZV2rJ1~.Gr{,`RU9(V *Щv`XU$ K栒JBi=J'<ߎuR DG($;B"&#:KkFJ]dnbsPeƲWaMYѵVk'utaJ@NJ[Di<ݤn`=L3_9tk+{ųnoЯtOEI&/ $Ph y;tf"3EFg%2lДWu ^&EsJ''6k7`$N7ܶ]( v!H"9f|Y~tܳAV Ct0!{Ƭ},Ej]4&UVOEm4f )N%̃'fFqkǖ]f-i&M2.}ţ4f<mu)T{sDթuL ygub`0[8bNg:0QHٌ]ȝŒlGr6z%0 2)fG⮎ki'@D9$2M+RtvFWsؑ&Zt""k*]uh:uTm'\R5l !w" Ӯ* 2M!ЂA.`C H>#mС*md EV7d0+ܺUl;ƵoQB|\[ɲMrb5[g'N5Kgp栅KYLJيH.H6|PqW+$?ϱcp0mlGê&Qց$y_otYw˺iLef,WRf1X")#y氉flA=)ϰ!RqD\IΡ=JF͠Ml ъ@kgֽk^E`!sB:)Pj"kih`GU3&q J$LM7\MjLbݺ.c7^P׽ Z49'cj{;m)8ҋjp {VFh2 r=bBHk ];%}ܰOFw9X$)t2_&DÑFRH(Ȉ3 ɲvt raZ(l(tx07æ Q'7 )PE.(lL2&tݤBK ĕ{)( s3آ5sO+6iWJ8T삓ϤVd-H.R-`~9w}g皙X|xew&Al~&[mEuB^sS%g=wϠq ctݔʉM(oSϮ:þH9/qAz`UtOyU58 }b9q[7-9ըԼjlAl|]*hѸq߱m15-v^$o&:ߛp$ Y%>w=l_Nt? \qW*MbzTXtRaw profile type iptcx=A@ }Oh ^yl캟miLNSC8pvzJϩmDZW17ԍ# jiTXtXML:com.adobe.xmp @PLTE_    ""$>+%( --003460:3bCbIdkrels~h[e=gnufDipwjqx|ndiAmt{k=kCuswk@pw~oKpHszqOt{v}|}|w~|wOzxJxF~}X}}T~OUPVmb_\WRW_[Wc^ZaĕcŗeŘkΘbɚh͞kϟfϠmѡhϡtҢiҢpءjԥrӥxЧrרuҫԬ}۫qخyׯٱvڲܲ}۴ڴֶ޵ݵݶ෇|⸂Ḉۺ㹃㺊ÿ介캀弌潍轇⿍‘ÌŘēƏƕȕȢȑȘʣ˟ʚ̙̕ЭϜўլԧ֩תڶݳݺߵGmtRNS@fbKGDH pHYs  tIME  *G}J%IDAT8c`p`X```?hU_xKmiŒ7O__~…SN7gv?Gv/FU0'M܂BBB7Y |.> /lҥ{ ReN( '0TAƴ[ 7oxK׮Zja+;0T'SL;طqZ&t5%qCŗ˗/gߪzfKk*+A˕+g|"'K<1z@-5#uI^/׮][wcBޣR5Efb/w9Y~r2Y˫&s{/DUUQ*i/yp_?~|>JDY&$ MwI+G;}jT$V|K<\AԗW^={pƺ̢ !+Dy۽l' g K8\w`?/ﱀ/pN_>8~|+ bW`Y 9\C=]=8Ѕb@?U33IENDB`xfe-1.42/icons/xfe-theme/infobig.png0000644000175100017510000000061211444154372014271 00000000000000PNG  IHDR szzbKGD pHYs t t?vtIME ,tEXtCommentCreated with The GIMPd%nIDATx Dg_&-֕"Ԙ8G2PWyIS 1]nz*L6M!A ̙H \ wżGI=/$WT_: g~ȵ.Rj]p ٌjp^2e2 ߁m]}`t#Qm'ra8 Vv IrH&dqH?!3:Q`ZMֳ~0"[A ʩD~IENDB`xfe-1.42/icons/xfe-theme/zip_32x32.png0000644000175100017510000000231111444154372014315 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/file_32x32.png0000644000175100017510000000046211444154372014437 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  tEXtCommentCreated with The GIMPd%nIDATx1 b<Gbp.j@h(>I e sX%{_DD 09'B WZG;ֆn ϯ'o _D_5)P=awӊnU#H8IENDB`xfe-1.42/icons/xfe-theme/quit.png0000644000175100017510000000031111444154372013632 00000000000000PNG  IHDRb PLTEtRNS@fbKGD L5IDATxc`Dh<@^"W%̡ mA tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/news_16x16.png0000644000175100017510000000036411444154372014501 00000000000000PNG  IHDR:IDATxUQ 0 Ce *;KP` i$dɱLm"@ 2sq``-3h/}h+$+Mg'Jr7:XbJ.t%eIf9 .5 W{݇e`aC3y& fp jj[}j^sU+'fG+)0G":ÊAU[.4y3$DPeK~Eo"r/K"eUch5$\9Z:81PUM! ,ɏLqT|@ g&rS}{GN|V`լeIENDB`xfe-1.42/icons/xfe-theme/ace_16x16.png0000644000175100017510000000126311444154372014254 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/sxm_16x16.png0000644000175100017510000000051211444154372014327 00000000000000PNG  IHDRabKGD pHYs+tIME5:dIDAT8˕0 O!Rrs<  Yl]`0`-&MZ]cQcmۊlhrqUUla9,,'?%bIB$`Kǰ9Xs"Ժskgf@i9k}qJr0fU"!ִ}( CkH*Gڤ%@uk [;<2IENDB`xfe-1.42/icons/xfe-theme/clrbook.png0000644000175100017510000000042411444154372014310 00000000000000PNG  IHDRabKGD pHYs  ~tIME 1+IDATxR[0gNwbW.>hB*M*R66$QZdZl2![[V=cFHtд| E~6MHC3"iLӴBM7.9'Wp%IHwχm}Uk;!I?PcV仰hRH){!K)jޓJw6BUA}'AO7rLP9oXs .)e!Fᒠ&eDd 9*)2r*U6{Ap.;eI`A Q f3# $dY@  XkLm9`ف}ƋIENDB`xfe-1.42/icons/xfe-theme/uppercase.png0000644000175100017510000000030411444154372014641 00000000000000PNG  IHDR PLTEY4_tRNS@fbKGDH pHYs  tIME $*'4IDATc` 0200p62082 DF )1$" $u4IENDB`xfe-1.42/icons/xfe-theme/c_32x32.png0000644000175100017510000000064711444154372013747 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  L@tEXtCommentCreated with The GIMPd%n IDATxՖ1 EqcYlQ<Gp, gQe$AO>QIXgg0644轿*B|PXg7wڶEAlÏ!znLHU PW!&B:߳Nv-VjM!+@Q{K((q.(q.]x3vl܆|@1S#.8}lXۆDXM*Lغ <āmOIENDB`xfe-1.42/icons/xfe-theme/exptree.png0000644000175100017510000000031311444154372014326 00000000000000PNG  IHDRRPLTEiGtRNS@fbKGDo1IDATxc`@ UI506q ``duq2@"h P>jqI' tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/minifolder.png0000644000175100017510000000040011444154372014777 00000000000000PNG  IHDR,n3PLTE,.647@VZf`hʧ #%,¯NR^ztRNS@fbKGD ,nIDATx]I DрzI|nB%67[~&6*ar B&?elt̚pHF77a>b[=hJ~vYBM)/{IENDB`xfe-1.42/icons/xfe-theme/wrapon.png0000644000175100017510000000030211444154372014156 00000000000000PNG  IHDRb PLTEv ȽtRNS@fbKGDH pHYs  tIME  'YD/IDATc a ܪU[ + z`u d&tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/link_big.png0000644000175100017510000000047111444154372014435 00000000000000PNG  IHDR TgPLTEx|xatRNS@fbKGDaf}IDATxڽ1 EahfA!sTY̌Rtizz`!הz׮3׶cj]4NsR elDD|N9@ DЫq#M5- a? g\S'~>7BCYetEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/questionbig.png0000644000175100017510000000065611444154372015215 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME 4;IDATxV[ 3Ivn]'()P,Mj'P:K5?']*f8u{ ﯝ"s|h )"$4SEjIjko"0[sѵu}o6αy)qε.ۀ QVkczXCH>H7k.MӾP|ל$.Qz rbȁ)x^&vK@]NO t_B=!=1çČՅ:R)/+*H*SD_78!IENDB`xfe-1.42/icons/xfe-theme/bmp_32x32.png0000644000175100017510000000122311444154372014272 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME .t[ftEXtCommentCreated with The GIMPd%nIDATxݗr@:Ȉ'#O "H$Q*""Db3\/%GaX.vݝ?XIwÙ"'с1p JRqb^. ,3{p@QJqۄC/CW%y#|w!I4J<{ l \S%nME4ΑD3#fI4ӭm{cH*&/hCt" P!8SP]K7ʇ^Mh"`{{\a7MA/1\iXHdXIY;֌dHrdI ZiMƺ/ iHH*%؎UVeLǫKPې6%Z|7:_? xMou-Aa L F0"`7tm/ vCY \un粺l%2YQ̙?IENDB`xfe-1.42/icons/xfe-theme/core_32x32.png0000644000175100017510000000070611444154372014451 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  6 48&tEXtCommentCreated with The GIMPd%n*IDATxՖ10 EM!b200tX+EHj'UQ-wE1?Ni7 Q1oA4BK \ \i'_ÝCxdʐN HOr%u'"4exbDUcixoЬte{/ޕ0Ge%`p-4Tt")14)łg>XA9 k֢2{!%--)\:^g}\ OGiY_:no}pSIENDB`xfe-1.42/icons/xfe-theme/tif_16x16.png0000644000175100017510000000055711444154372014313 00000000000000PNG  IHDR(-SoPLTE@"#%')-;@CP@B@`0l0X| PP````p8xHHxxdTtRNS@fbKGDH pHYs  tIME  5k@yIDATuY0 P5B4vxƆ ʌ'LD rUDNJ@].fKE6@b`¢I-qdfcjI b<c~|);+ IENDB`xfe-1.42/icons/xfe-theme/bigfolder.png0000644000175100017510000000152211444154372014612 00000000000000PNG  IHDR$DSbKGD pHYs  ~tIME MIDATxn0?Rt>B.d( -1 ࠁmY#%˅ wwI`c?b|s 8z b?q0*Ma ]j~'IUeAo'S<{vtYLARi!}^m;h#Q)J]w:$o3Dژ*9R'QDn.R=*#RrNljQ计ֺ <![)HFbKvОj5bxL-Y 0 SEgHdc@7F\ZY^맬&2߀9b^֮$Hk&g)ց4Pk)Toh}.6@ҤsA)FBp pQ],@͂PF<]W`LN\* EQIT:m佪l6m|U~yژjRsj8 ]7e #+5}:4Cֿ.K3AyZ(=0, <:l;M5ˈG!v_+N>0S}Y1fb?W3W`J)T^,X2)6JH$eT>p6Tŗk㐐,=`ma%t Z9m'''YoaV6JNIENDB`xfe-1.42/icons/xfe-theme/location.png0000644000175100017510000000040511444154372014464 00000000000000PNG  IHDRabKGD pHYs  ~tIME mIDATxR IEQP˲0 P(D[[^u~"gt= `OO#cYmD`0mJ uU.6pewO>w?$^999 @YYru۶cppZ QC *~g}䖓$X ]Q>)%O"`jj UURr =?J),*?>8::B"vz-CᨶmH$,EdƲ?@*uƅ², IUJI:f||mL<4MMӘ'77i"5:Bx4662<<,@kk|q4'jjjbttT GPIENDB`xfe-1.42/icons/xfe-theme/bigarchadd.png0000644000175100017510000000230611444154372014726 00000000000000PNG  IHDR DPLTEnJzz2FrjvҦ2.R6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR{tRNS@fbKGDH pHYs  tIME3'<IDAT8c` (\Б^üeK뻊86bh(|m0 Նkn߾vTI]`pa &Z@Ȯo\́LdXA[d-|f%aȀeU H&B\ pBDX'\e lDAt+P#`XV V@d+n@ Vb7/м $ozԛ"|!MlxMU_`*6͛ p{W`n!m 5ˋtG a. @߅]d] .,i]}eٲ斄NK;4EA8jX:Ţ9@&ʣf l TK(T ]4D`Upc1PAf8iQ'N.l6,QIENDB`xfe-1.42/icons/xfe-theme/drw_32x32.png0000644000175100017510000000053711444154372014317 00000000000000PNG  IHDR TgsRGB!PLTEx|x^^ S°CLqOzaЂ[ra*7DƂ&`'#K n9ex[b;fC1"KNP)uqX[u?63G(yl@[3IENDB`xfe-1.42/icons/xfe-theme/restore_big.png0000644000175100017510000000127711444154372015170 00000000000000PNG  IHDR DsRGBPLTE"""33366633f@@@BBBDDDEEESSSUUUWWWZZZ___aaacccfffhhhjjjkkkmmmoooppptttwww}}}~~~ÅtRNS@fbKGDH pHYs  tIME 4@\IDAT8V0 ǗLZD& ^V.?)0 ̇M\z׈4ϯNVu|9g ,.덶Ͳ0Yp"v: 1V@9g)nKv`Z)ȥ9Iv_hc]Zu֘8ϞʬVű9^[f˲2+]6FFDX 7>,d["{"FL P؟\QA21v8=B.vDžf{, mK'҄T<8CcH*l39qHv?IENDB`xfe-1.42/icons/xfe-theme/chm_32x32.png0000644000175100017510000000051311444154372014264 00000000000000PNG  IHDR TgPLTE+ tRNS@fbKGDH pHYs+tIME <ªtEXtCommentCreated with The GIMPd%nIDAT(ϝ 0 c'H|,8@(>?q%jJl1f}}v(IfBHO $h/Z֐0v'  =[ FiGZt(͡TeW@W,IENDB`xfe-1.42/icons/xfe-theme/bigcdrom.png0000644000175100017510000000341711444154372014450 00000000000000PNG  IHDR szzbKGD pHYs  tIME ,aрIDATx]hT3g&$&`ָͮR5S?ʊծ/-{xM[P)E dڵ-)i:&|יsΜ9"䠫f^ÁsrFCCC]<qK.w/|m=mhF,ɓ'ܼyQ^Ӿ.?aF|31M]u:H&lڴ6922"e?Q=;H7B (FM.pp8 y!ԩSDQ9<<P ;ƷZ(EbpTAhP(D(},iE" ~699yfxonyn߄Mt4HPZEpEQV܌t:m߿b(߿/Xގ!)AC\Jx%,EQ{[[ib&k]{u] MPŘ'3?J)Oצڵ{"daai\0 à{mΝ;'8(ض8x^+be_7nܐ;vٳghFKKK!<~XӤR)rikkg|ѣbttx|fffp] 40;˼i0#QL 9rDyayeω'{.BLdnn),*e8J%Ra]5YTKfY(/644$/_8F4(/hٳgpPrL\^v6B $aYBBKcD2JwSL᯼ܺuku 4R>/ʳǏs$i*RV)JR~F۟"|EFHd"к/EVc˖-$I]8===_uqMӨjJ%:ɇtJ/[y333K)R۷Aǹsmd3U'(e Ï?0 <,8 \v1KKKA۽j?/Ju7=bbbp8mہ"x!fKU[}TU!J%1OZRqRWw}l}|Ghan޼`E`՟!<ݻΝ;9sЪ*`Yx~WU^ XJI$ j;}v.^(?Cl65MZ~, zČIENDB`xfe-1.42/icons/xfe-theme/m_16x16.png0000644000175100017510000000044511444154372013761 00000000000000PNG  IHDRa pHYs  ~tIME כ7tEXtCommentCreated with The GIMPd%nIDAT8˵1 EM#eȑ2tbF? |~IENDB`xfe-1.42/icons/xfe-theme/showhidden.png0000644000175100017510000000057111444154372015014 00000000000000PNG  IHDR7bKGD̿ pHYs  ~tIME 9"  IDATx}ѭr1_:+3 $Du-T :HD Y񊈝!b-ߏ?^v죔X)tIߛXbXb_qK񼺹wٵɝ^PwR8wdB5QvħqaRͣhvRSzNغ?)@EY8ؠ*FohNij`oVͪx!쌚S'yuY_써^ &|PdCk"eDhV-IENDB`xfe-1.42/icons/xfe-theme/zip_16x16.png0000644000175100017510000000126311444154372014326 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/dia_16x16.png0000644000175100017510000000076311444154372014265 00000000000000PNG  IHDRabKGD pHYsHHFk>IDATxڥR?HQ^!zDn xšѥᶚUp džZII4"&(vFE|~Iɲ,k,_J0zLS|>)m>RgAfc&Q/U*F(${%Jp݆(~~$oAynu`10\hT|b('<ďo6+^DQ5qSUkDdw~0IENDB`xfe-1.42/icons/xfe-theme/dirforward.png0000644000175100017510000000037411444154372015024 00000000000000PNG  IHDRR0PLTE.?YIZ~9Np:Rs;WxA^1FbBVvFRs".F5JjBb*:RRzJl'#}tRNS@fbKGDH pHYs  tIME ΊEIDATc`n;@ P}%МGIENDB`xfe-1.42/icons/xfe-theme/copy_clp.png0000644000175100017510000000032311444154372014463 00000000000000PNG  IHDRb PLTE6tRNS@fbKGD L?IDATxc`?@4D``04,t@V*+ Ȫ`b10Y L`֪U`C?tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/odt_32x32.png0000644000175100017510000000322711444154372014310 00000000000000PNG  IHDR DPLTE  '$3/")#"3 %$-*+)?%8 );-8.E01(B-1-;/A 3E267Y5G9;6S8J8O7Z ;W:GP?[*;E(;P897AM?VA^AR ?]CYCOFQ#BOGWFR>@=,Ba)EX!KLAC@(JR%J\"MT,JX5H]#P[-NgEIV;MM#Rc1Nm;Nc3R_LNK:SQEPV1UgMQS+YjPQO8Ut>Xa2]d @p2(avC%11 Rc%g<~ў?hlܜR ahMƊ1Z6k:6ؒcYa[+ `@UR(&`?|`҈NJ5$B%x( 0Ѩ IG)Q} @C /B̝gOKC5@VMܝ:ChV8߾=lv|E5L( s' ~<]^9ߦ2!$jl(6 N. 9z3VX2g=rBV )bġ=f`OwzyFZ y94Jrc7߱mO0@W NvNҵG㑠itf4 I*JRep8lGFiVWN/o%KK pmee?$iJEpi@'6rlؼ.TaD`G.ַoEeǜA|KG'(-Q+IbgƏq T zJƵE Vm ~>dIENDB`xfe-1.42/icons/xfe-theme/flipud.png0000644000175100017510000000030511444154372014136 00000000000000PNG  IHDRb PLTE***X-tRNS@fbKGDH pHYs  ~tIME 84 u2IDATxc`fwHXm000Z &"\X DbGg:IENDB`xfe-1.42/icons/xfe-theme/epub_32x32.png0000644000175100017510000001304312430674304014450 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭis }9ko+ьBt2++Rϖ)_lM+>!ǫ;+xWu]~Xβ[Aޅ=~V.<&AgϜ]8*f?[+#z[ϝz/T(%Gw܄s3yEɺܭ5ZHzec"yy$ާ('}ّۜ{*~3@vEj+ׂͭE% G&P a %߾s5&=K7DŽyA}~=$<[f0|ZfvxrT "MM>8ґ8X-OSA yL\D?KNّS*0ъgl-cECAS#g9Vz4TF~sP#KԁDezN9S!YHcds-?e!:|˥n잣i-'ork{[v{YxL>O'&)찵.;&_ҕV4zv!3a5J؇CԦL/41rIl$ M&4PmL0A2h]Ʋ\h/Nvo}ž4iDB<(~b&\+l[YlvqE*>4YI* 7E@ *x 7ʲcb{FWHFX" + PI1יi) 3CWڬH\>"%Nv?I~8i:b$<#覐q <8:&=4B0 @^.uA LdEQKTPִ!`I =j0^b=d8iw)WڏōTあ:њܾ\ar60Ɗ;a18/$zhJ #U.y'A?n͔jc)5/k@oz|5O2etGo˽S֞~*X1K2l#21@.Nb&Xi I&eQwIOi7#d+N*gu)0|Τ` {*ri9r#E/|IEf [xU-%GE5BHi"¨mڶ".  AY"CS%Ktzv7耊TQ'G:m^P7UrH:,x'A0b=x1,nn*wEGysa9Y,d~+j 1cNLCfSmmIډIπf֎Nڅ{-e Έ Y\G#w&<ތ \T‘='o+z7oꏘįpІ;&4*bqtd*&a0Q)4]M}P*D {#k|a a붦&H3o&|3}SN/`.ttkl b<ũ(p,~kXy3qnh#n{?Χ8擲-CyxC9wuzu.;X1z.ݛ;y%L/A"?rnI:Ccu}hBRor<IQs/z_,N`muS bzTXtRaw profile type iptcx= 0 *e>_J`˒].ۖNpʿbD9rWȩĨG3o0GF jiTXtXML:com.adobe.xmp @PLTESSSk)l)l)m)m*m*o+q,r-s-t.v/v0|4}5~689:?Ttuux|}ɇʈ̍͐ϕћҝӟӠԢԣ֦ثڰ۲ݸ޹޺߻߼ջ#YtRNS@fbKGDH pHYs  tIME <@IDAT8}Z0 Fר(*#RIG9[o$WRH*F0#;p0 X4@{KGγ-~N~EН$)s6Jw`cR*|nPwD>E~69T!?t ?]k˟ @sH[pأo579o͂ q=\ ,g1E\] 1z~X9ReS1sJ)操lG8f{ͤD~`'22JɞpG7C ϲ-|JdxIENDB`xfe-1.42/icons/xfe-theme/xfw.png0000644000175100017510000000370011444154372013461 00000000000000PNG  IHDR00` PLTE     "'!")%$&$'(&*+'&*(+2*/5-2315927<239:8;9=G:@=2?=A;?BC?>EA0MVRNYŢ3ģCCb§EĨFTUǫJǬQɭK¯X˯MгQ̷Z÷~ɹnѻ^gû¾Q¾ÿņuʅnМmۭܢrnhryVtRNS@fbKGDH pHYs  tIME dDMMoJʖLh+p ~߰yhO3x?E~Az! bc%Er }LM:;#N=:;zYGy5sG,O6ՂpeR Xkt|O*U07;>4eǎ\cK|vD(^/ OA;DJ)@gnjZol1d ܢ10wwccr Yk1RrJ\94ܺmA0{8jXk)xyA9Rbȉ'ԟشU1ưn*)^~ tͱyN.p5*98^sVbӰiy_8{Sܲ'Ya%==G՚^ݵ="B8Hk-=2Im$1 F)a׮]b:j5$4(ř3X@7`wǛ"ZoyA[!~ 5+WvP_+֭VDhA5/BHhJ:g dTsQ5EkCTP ޽[/n]IENDB`xfe-1.42/icons/xfe-theme/png_32x32.png0000644000175100017510000000123511444154372014303 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME 7 tEXtCommentCreated with The GIMPd%nIDATxݖ!o@T (}R7j}@.J($97>]j {v<>ِCq3Tg4G"I:} }p7Bb0H$r~^.6FPln-vk[cuk ֚^;KxvOG9Bo]F^Hu ;z]ίׯD.{疠Aԕ :[PgD οAԠ "M(_S(> i}~[2IENDB`xfe-1.42/icons/xfe-theme/bug_16x16.png0000644000175100017510000000045211444154372014300 00000000000000PNG  IHDRabKGD pHYs  ~tIME  54|tEXtCommentCreated with The GIMPd%nIDATxڵR1 ,OfpyCj q^` c2&h(]DKoCJQNDxxʃr<Κ[]w;tP{fg]5 v- ,m@} \Ϲ;o?uܴIENDB`xfe-1.42/icons/xfe-theme/odg_16x16.png0000644000175100017510000000127711444154372014302 00000000000000PNG  IHDRabKGD pHYs+tIME "@ tEXtCommentCreated with The GIMPd%n#IDAT8]!p0E_22YUc ze- c LaCCY|ޟhf4}ZٽBt]GE(Ȳ4Mg7X& xkHj1(py&XED&H5MӰ^yxx`4M? RDsfC]dYbrwu}SSW@(6TB*ʲ sBE~zcZ#`OZnmk-eYR{Ϲ88$I8QJBDp ZB=>S@<$[1M@ `_ BkMyPX18msPWjidY^P5osc Cj@:`  HJޣF9nLx{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/make_16x16.png0000644000175100017510000000075211444154372014443 00000000000000PNG  IHDRabKGD pHYs  ~tIME  tEXtCommentCreated with The GIMPd%nNIDATxڕ t@F" ߌ@3\DbQQ yN$ʄ ~}`U^'uhOjm00 ByIENDB`xfe-1.42/icons/xfe-theme/Makefile0000644000175100017510000003752412746115270013622 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # icons/xfe-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/xfe-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/xfe-theme abs_srcdir = /home/test/xfe-1.42/icons/xfe-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/xfe-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/xfe-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/xfe-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/xfe-theme/chart.png0000644000175100017510000001124612600767515013766 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWY,' >BqX#|V3~vWw !)AןsheTݟ]4|7πC݌g Oo=(B+;T1(b鴍yٿlXGh^a(=uyo{jogW@|P+Pb_?/1]lne PCUA3sL@h71wUQ4AɅAv7ș A+nߠWb; O-$6]LWeUIĎk`#y\2#C EjV.<_|oZõOEKGiD7]8,m^S-U==>z3SʭGO3[zje݅#UsWS2[z.^pN,)HK2xIG'd7߰Xx8'DJv:TPm=rwhCidI,$.i=# kS쪙hnIvH~>V:ܿ+$W2oRlW=}>TBX#y:v֑Z ;lVN7+F{݄z&87!PJGJܝĉ\ܶ9;n5u{1Ԯ# %-"LSuGtB |~ o뱜idO=^8 ?>|k8?t|޹|Bv5UuUE'{%i jv3An!,^6#Ý{3zQ=#dYZp~ ;Z=(̩X)K cc-#C_XlFbv7N>^zНY~Ď^ -')ci@Q}㽤~H)xrŅpg0pƼ +AvX#}yG>>vpqNO>8͚DPq ROvPc&iW܅R|N{Z)!yßk\;ɯ$_ PR2$#BazTXtRaw profile type iptcx=I 0 {m&GWQ{=eò388AO/D=#M>siY̯2<.  jiTXtXML:com.adobe.xmp @nPLTE {     K~AyJ `Jɛz33R9'HIENDB`xfe-1.42/icons/xfe-theme/copy_big.png0000644000175100017510000000042211444154372014446 00000000000000PNG  IHDR TgPLTEx|xOtRNS@fbKGDoxIDATxڽ; @t`hk\|ˣiRS b T,l( :8"wiUAX^8wbC]' DbrƴP#hQ`EB 袝 .l20tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/compare.png0000644000175100017510000000732612424414307014307 00000000000000PNG  IHDRRzTXtRaw profile type exifx[( 3 pZ=~(Ū:G1/?ĤHk )%$vm5>狹5,j63Aݔ/r2iweȣL'!+;/tyϗwE0=+$&ܼbu6iv(1Jo㙞ǎ)x{;>L )g}9SQs6"hN6E0rvPG[גP"X@)ĉrm 褉)bWY*Iʄ]&[F*f!^Mx#F MacR'e7HqfX/9 7p1k|B1 fl&ܲ+g =omii! s`"ʌ8F\{Ll e>ʫxZ`h̀Gȡw^}` >aQY:T5jmt5ƘbN,0BRJ130;C#E/a%.iS\%-T[kJ5TsTjRmwеǞzީMD=51Ī7<?8q2 7$X^@SyAX|ݝ[nݷ+r4 r4Mr_=VǹWVb*15ccBYbgҏkNu_^r]'/w7O<1JKu+Xq8#<:BKε3jzBw]6 s#{&X˾˯jVPo]Jؓ`/c_J^bz=7N_qZLMUlh"'-|ī t39Rޭ2n:/ՠ! p0|I Dh=ddmlS{fl͎ôIy tHRҪ}VsXZtEDx11Hx11Hx }//ҎDE3bzTXtRaw profile type iptcx= 0 #`Cd:!azҎ-+44/U;S~k󛀽0ۺ jiTXtXML:com.adobe.xmp @PLTEet-\,#utRNS@fbKGDH pHYs  tIME  5;;AMIDATc` !btRRR8(D\\T"&JJP'@0E@ -?# fjIENDB`xfe-1.42/icons/xfe-theme/nfsdrive.png0000644000175100017510000000041611444154372014476 00000000000000PNG  IHDRa pHYs  tIME-ReIDATxՑ @ E q%eWRR2#7•") AQdٲm{41FkBJ '")<ϔRp[nZ+]~뻵9nWr΄NSJbY;2pH(b{!ػ́wLLOqIENDB`xfe-1.42/icons/xfe-theme/tbz2_16x16.png0000644000175100017510000000126311444154372014405 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/z_16x16.png0000644000175100017510000000126311444154372013775 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/revert.png0000644000175100017510000000035411444154372014166 00000000000000PNG  IHDRRPLTEwהxdtRNS@fbKGDH pHYs  tIME lPIDATc`FA0``4IW0CIIEAD)-MYA(bJp1P22OqqL`Y gI֠IENDB`xfe-1.42/icons/xfe-theme/showthumb.png0000644000175100017510000000146311444154372014701 00000000000000PNG  IHDRa pHYs  tIME gtEXtCommentCreated with The GIMPd%nIDATxڝKTq?7yc±a,Ԝ۴)+HIh"hQ#?/bAM̦ETdTLo|34?ŔS[/ŽsU8q$,֔eShT* (D * (I ) گ 6100 /X~_#%AD0:cmܬ˭g_Di5H),{ԝ)PU8|_"/_$)r%II)θ|)҄mٸk.n̽c:9 mm5SRScێm47yfrnzήN&'&`>5o>ʓ'>{D<_<'&8LZGĞ$'y6Shnn&\/3tfX{Wb۔\~Y:Xܾq[Zij&qXY][Ȥ3r/R͸,) (Pc/h] 'PBhd]R TE-z}>F7.TNG<IENDB`xfe-1.42/icons/xfe-theme/package.png0000644000175100017510000000150611444154372014252 00000000000000PNG  IHDR(-SPLTEei   ! &    $ & 3 ! . ,)315( 1"1#,& *&9#5%7&6&5)F%$=(!<(&I'C(:-L)D+!D/S*N-E0R0G7"H55C8*H9O;*Q=Q>P>1E;FBW<)6CKZ="c;%X?"8ELj<f=/]EnB,YH8mD3eI$eJ$sG/mJ+fM6sN#J0lR3oT)jU3O[PyU)qVkKrTtUnPnAq8pLtJpEsEnTr@s[{D{gwKxItPvLy@}FwMzN\}DzN^}V~W|U]UVMEMŠJ_VPކPQÍyÒYjÕ]Ts͔^Ԓ`[ԔnSiʱ̵{欒軃șiVtRNS@fbKGDH pHYs  tIME **6IDATc` `IEU0^SOkYmAk1`t6S*{ZKRC4,D00tT3=oPm6vfFgX .a!~^V4ԄLI9E >(YRuy-eiŦ}]憖zN0V/9]ܤ|W8G Ż pԨ8AIENDB`xfe-1.42/icons/xfe-theme/keybindings.png0000644000175100017510000000245011444154372015164 00000000000000PNG  IHDR DsRGBXPLTE770\YLgbPheXkjbrmZqnaspcyvhuxi~xf}zlq~rrn~zwxs|}s{x}~¬òíĴĮůưżǷDZȲɳʿʴʺ˵̶ͷϸпйѺһԾտVtRNS@fbKGDH pHYs  ~tIME+7gyvpnjAu9K7:ta g1n_IErdpP+H`oKTD;Z[!4A f&ڠB4"1Ezښ4 HVHP&1`H/^8gd7'ׅL B0bK#l%FC"3&(j 9Ppn䈗@MrCFp=*w,r+@iUɹ7hIENDB`xfe-1.42/icons/xfe-theme/filedelete_perm.png0000644000175100017510000000114611444154372016004 00000000000000PNG  IHDR(-S5PLTEGGF"""$$<)))***+++///221333777888998???BBBCCCDDCDDDJJJMMMNNNTTTWWWXXY[[i]]]^^^___ggggghiihjjillkppnuuuwwyxxw_tRNS@fbKGDH pHYs  tIME   ΓdlIDATc`xŐjn6 :0nrZZ 8T@&>--%ޜ*'-`WKqԗ x;i(K*),2vt Hai-?D MB0"TN@ C |V|p-FAJ֪`[$$"X㔓ffc`%BbIENDB`xfe-1.42/icons/xfe-theme/rotateleft.png0000644000175100017510000000037211444154372015030 00000000000000PNG  IHDRH- pHYs  tIME :6IDATxڍQQ Kk z"uk^@Dۆ49o}[HA9j{Nk'@Z5cQj#{])4 a6H8Gw`;|gfng|'T0GruEi2b\BT$IENDB`xfe-1.42/icons/xfe-theme/smallicons.png0000644000175100017510000000025511444154372015023 00000000000000PNG  IHDRb PLTE.}tRNS@fbKGD LIDATxc` d02bB$)*,tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/miniapp.png0000644000175100017510000000031011444154372014304 00000000000000PNG  IHDRRPLTEppg[tRNS@fbKGDo.IDATxc`P(` @c00   eQ+J|w~7tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/dl_16x16.png0000644000175100017510000001111512435037321014113 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWY( sXqX#sy̪;2Y%$a35?%k|Hs>s:Wi-a`><^H^IM [xi^F vgtlWϋ}ϧq3zSJr*%H$"YJvB9,9R@t+Jr5XSkiO-R[sGؓs/4#4dQ&6yfi̳ܨ)Ϩ rG5LtN 9O@<-@h0B޻fQXtZA?ȅI7v~ GwșY)rq^ۈ(\><؆R+$=XGqzcr>`paG}w2 ՒoU`d: ?Gxmͻrxǎ[toR]*f=Q^ANG)ư}a{XhU-.BǓ+m6\&6-v#;Hy/[Ö@#hɬ|!2kQH1klgi>wSt\Tn|2Po Kt# ސ&?dښJMD/ mA ֕¶1þ"cp_f~@E=r:Yfpȵ!XC(Ia%uq^Fj'ViO6_ JPI ]xJu#Бop6_-jY]H9úp',+qOq]dW1:^jb5m!{ @nPLTEz~  &("$*++%)"*,')792+93*= 579.;%71=;==C/8-:0;9?:J.K>N>?BO>L9>BR9@DSSZFSRZV\\_>@>BCQ?JTWM^abR`DFVbT_FG[_Y`[]KLghXYVbJKYeLM]_bf`bWddgOURSklU[pqywqvtugtdlq|iuZ_gnvzjr~ǀz~}ȁ|ɀȄz̄ʆʄckyـqs՜יښܝޤLtRNS@fbKGDH pHYs  tIME 0[qIDATc`l-m\1p\ iL@]`j\ GL@V-*.%'d HgQr%9YxE5A|ʼF6.N")HDEcDOXC.А2W3cD#g|JݝS4Ua'U(n"X IENDB`xfe-1.42/icons/xfe-theme/printbig.png0000644000175100017510000000253611444154372014501 00000000000000PNG  IHDR DPLTEZ\Y[]Z^\_Z_a_a^b`d`b_`egcebefdghfmhghjgkmjnlplnkmolrnlnpmoqnqsp@rtquswsurquxtvsuwtswzxvzwyvzx|xzw{y}y{xz|y{}z~||~{}|~}~ ½¼ĽºžǾetRNS@fbKGDH pHYs  tIME %%OP "LIDAT8˵ORayĕL.@DA۩CܒnR]K-rz<*РLjlϟ kh뇞_?}}Y1J\Rm~YORw"28'p[JŵDyQİ 1B|Ozp|UXm8|=[=Kp-**03[ߟZ9p {?EZڱdjۙ % w@f3 Ѱ}nio`4D%\Ђqb{$5wM>WZ,-zTSWH@T /J\h m#^"$dJ5G'X&Q~E%(Ezz>h*o1QbRAlUL8UG#NR~ɹUe\Lv ?#5[uu&B n|*)j5 $h~iv @C y]` AԺg}BB-=k/6˂4^vgבV EW|l+$.4.is8߁oIENDB`xfe-1.42/icons/xfe-theme/svg_32x32.png0000644000175100017510000000072611444154372014322 00000000000000PNG  IHDR szzbKGD pHYs  tIME Ȋ1cIDATXݖ10E?,Rl#"GH"Eő\ yR:; DrƄ?Q!Q@뭚\ ZkW%@;N_'h{h;$1I $CR^sc$DSJRut"%"%^H McQkhJ$ ɭӧ:RoJG90omB[n(@#Ɖܬ?Pʮ;+5߶z-cX xѺU[ :bW|^H n46Dv="B/DMەgZvKC#IENDB`xfe-1.42/icons/xfe-theme/pdf_32x32.png0000644000175100017510000000072411444154372014272 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME .~`v3tEXtCommentCreated with The GIMPd%n8IDATxW1 < Da,R\gQIΘF#94'aؽcOWh81U`$ w!ʒJ@2K++$8yg.\"=U>'.ֻ%؎9X-2Eಈ tGm;(rì$bT޻hUTItc.@脪.}G fEFqɬN[\ I8<fD cԇ s;˥wnዠZ=IENDB`xfe-1.42/icons/xfe-theme/archext.png0000644000175100017510000000131111444154372014307 00000000000000PNG  IHDRa~ePLTEx{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvsϔtRNS@fbKGDH pHYs  tIME 1AIDATm0 y#beAʖL( ڴ$嶜Ζbb4l -W3kO!ࣸO`d^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/png_16x16.png0000644000175100017510000000042011444154372014302 00000000000000PNG  IHDRR'PLTE)@@PP` `@B@pptRNS@fbKGDH pHYs  tIME s*1bIDATc(qw>&{N0,>tH 8aС3@֡C: > >*zN0+3A԰DdF$ 3eNހ̀K%AuA*`tIENDB`xfe-1.42/icons/xfe-theme/desel.png0000644000175100017510000000031411444154372013747 00000000000000PNG  IHDRb PLTE䜙tRNS@fbKGD L8IDATxc`Dh8DbZΰZ "V U @ @D^0%v{8dtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/sla_32x32.png0000644000175100017510000000246011444154372014277 00000000000000PNG  IHDR DsRGBPLTE_x 6  5VLW ))V1c7:y Ǧiϱ$,lҴ^_ }B bUP B ꢼ@/OO//o$*>UIENDB`xfe-1.42/icons/xfe-theme/doc_32x32.png0000644000175100017510000000054711444154372014271 00000000000000PNG  IHDR TgPLTE{tRNS@fbKGDH pHYs+tIME  6@N tEXtCommentCreated with The GIMPd%nIDAT(ϥa 0  l4/i\u00|~\xb>)z*!ƍ9Y! mB3K\7D.ZТ"AU'd\mT {17m{*x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/hidethumb.png0000644000175100017510000000142711444154372014632 00000000000000PNG  IHDRa pHYs u u-xutIME 4^$/IDATxڥoLq>NwZ4L[JId4J4B*?v o ;"ĆD`HȈ"i3EGgZYk99GݍشPlWA`B0Z\g&| G @PGuеzI&ܸ0!O%YϤ20g F31@/ ҹu; kXa? ry]Ry 6wMzlTzAO8ν #hIKyĬAؔEsc+;vruN]H}4Z\ASx>稯[I8?>~@dkQW!Tf{hlZ o{yt}.@2ƞC$i"fUE NyG7h}]Wy3xWIr3/_'ٵc9۶E #_SɉSX0 XasYdغ^cGfXع)nXF4r|K7H V[p+ gWs*4,n2Yixk9p- xعɚ2YAEֱa2tu7*39;ehx+j*(60f&]t_$& z*[r$7 8O9IENDB`xfe-1.42/icons/xfe-theme/cc_16x16.png0000644000175100017510000000053211444154372014107 00000000000000PNG  IHDRabKGD pHYs  ~tIME  0?! tEXtCommentCreated with The GIMPd%nIDATxڕS+ 6'V8+=R 8#HXi-e2ϼx3{oZ'^ hXu?#s=4M ٧.TfH\5XA;N\3iNY]D%Bƚ,0V`Fc1ލkHu&i~ދNˍIENDB`xfe-1.42/icons/xfe-theme/floppy.png0000644000175100017510000000136611444154372014174 00000000000000PNG  IHDR bKGD pHYs  tIME FrIDATx͔K$Ijn@] LENS;E`6A C. `1[EdGtOwշ\\p Mu/vZAü[]]֜H4 Θ7Z1DQ,#c$!IYXX MS9>>V?eIY(#MS(0 跀^344DVޭaAsssV?rΑeZkRZkZJ)Ds{Zsyy18 e"st:W.jnu ֖Z-,2jy`ayyYi6@ELLLTF^kڻfjj <ǧOd^|&̼E,P&vJE$ADOu(ݼΐ֚C4(NNNjXkYZZbxxTuZϿ_1m~כ_9pww{zyWyzb.eYǏDQğ/YRޓe{1_<\[[ i2??Ύ'Wn89pIENDB`xfe-1.42/icons/xfe-theme/fonts.png0000644000175100017510000000024311444154372014005 00000000000000PNG  IHDRb PLTE$(xtRNS@fbKGDf |d;IDATxc` ?$jCCPL` B!V-G OAIENDB`xfe-1.42/icons/xfe-theme/zoomout.png0000644000175100017510000000121311444154372014366 00000000000000PNG  IHDR(-S&PLTE   #"!"#%$&((()*))&*0)06-00+28123321236246/5;566@@ACCCCEFCGLHIKILNMMKNMMOOOOQPMQVQRTRRUVVUSW\WY[[[[^]][_dfegffeyyy1tRNS@fbKGDH pHYs u u-xutIME 1E &tEXtCommentCreated with The GIMPd%nIDATxc`-ue5P1q4`u|CCX |󕌂܄31wBB/ LH0MaTxBoH@$ :>!/XlH`DW{;{'gDyͭ-xang``gb@h"h"l i#/DEIENDB`xfe-1.42/icons/xfe-theme/edit.png0000644000175100017510000000037511444154372013607 00000000000000PNG  IHDRRPLTEX@XXX tRNS@fbKGD ٥WIDATxc`@4$1Q*  i<,0y*H`3;8O`^lll^124 stEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/class_32x32.png0000644000175100017510000000143111444154372014622 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  ȱ+tEXtCommentCreated with The GIMPd%n}IDATxڽU+@}C!"'#G@"+VF@ "Id$"r$rbV dw]5E ^wn5= !#B,t!e巇LF>x\(l,m0Wp]Xǵqsf}F]Nv׳MP){շs"Etm %C߄ /vNFnڂL3k^)X!%Ф4 IKh,0g>Jt 7 N?3VLuG$Ep].Ks 5]Os[0c4?0Kq#fid$k܄l;_K /bMX$!ߥVIhߥ+6iK#0<Ԩ}vku^^jy#x n <h(MNH5hgd/ [d&|9k ki?^IENDB`xfe-1.42/icons/xfe-theme/closefile.png0000644000175100017510000000034411444154372014623 00000000000000PNG  IHDRRPLTE #/(;LRQ=.atRNS@fbKGDH pHYs  tIME  ,N(HIDATcP PKKK0Ŕ DA74c0#L-,1+dvecd>3XalL1 IENDB`xfe-1.42/icons/xfe-theme/delete_big_perm.png0000644000175100017510000000066511444154372015772 00000000000000PNG  IHDR D3PLTE8"""33333fDDDUUUfffwwwetRNS@fbKGDH pHYs  tIME  No IDAT8˵ݲ L!?FOk8Vzf9{A/# [Xͭlpc͆ Pّ(]qEL9P>  g 1QupU!5,=B3p8MPKs Eإ ĺޤ 'dPBi }֡3 sXПCGmǪUQ/,o$>!~798 xeVIENDB`xfe-1.42/icons/xfe-theme/vertpanels.png0000644000175100017510000000710312435300447015036 00000000000000PNG  IHDRazTXtRaw profile type exifx͖[8 E5%g՝AIruIѸ N֎EMAP۱< u @ pHYs  ~tIME ZnKIDAT8c`h`nOvOF&dݻjJQ wg``!@5`0̹wVEĩ):tIENDB`xfe-1.42/icons/xfe-theme/nfsdriveumt.png0000644000175100017510000000045511444154372015227 00000000000000PNG  IHDRa pHYs  tIME+# zIDATxڥ 0 ?N BIJƸ2#dFL2%#PRfJw !dű߳_CT9q]0 U 0mq@kc"e)N; !WsҶ륃'DMd'"n}ۦ*+)1zt:l1BHPpÑd|_drE<:_ vj3|N IENDB`xfe-1.42/icons/xfe-theme/enter.png0000644000175100017510000000031311444154372013767 00000000000000PNG  IHDRabKGD pHYs  ~tIME ;XIDATxՐA 0 _6Ee'F4fQˑy>m%hr&ۓpkleO!uy-w z6IENDB`xfe-1.42/icons/xfe-theme/pdf_16x16.png0000644000175100017510000000056611444154372014302 00000000000000PNG  IHDRabKGD pHYs  ~tIME ; tEXtCommentCreated with The GIMPd%nIDATxڕ- _:#!"VTHd*&P7!x >" D4&" ^Zd#ѭ p.VJof%fK#4f1 mnd16xD`̹^}W. v@um3qQg@IkBy1M ξMpF(}kzχ"m IENDB`xfe-1.42/icons/xfe-theme/vlog_16x16.png0000644000175100017510000000033011444154372014465 00000000000000PNG  IHDRa pHYs  tIME +gwIDATxڭSA O';,."^DH*&؇@R%DSTS;j NLĶK065@D@rp$ߋ/zHa6W&IENDB`xfe-1.42/icons/xfe-theme/Makefile.am0000644000175100017510000000007111444154372014201 00000000000000icondir=$(datadir)/xfe/icons/xfe-theme icon_DATA=*.png xfe-1.42/icons/xfe-theme/tcl_32x32.png0000644000175100017510000000121411444154372014276 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  .#tEXtCommentCreated with The GIMPd%nIDATxW;0}L {ݖէpڅyi,0BR``ETbMLS?[ ԛ7fF,9{]j1Rк~N'')`=V;_.`= t1ӽـo ,La}WE33|svxx3K}|o1k5>Qej?g6H8<=\`#В{Nc]Z}6d[ )>g/Z@Zo>BDZ՘Fvi_u "c1DS""S&_93OV%RPU*1F1eź ̠ѡQ>8//hgJE蜃s]#ߪr"v""RMH@ϔ?#{IJ{JtF}|ՌgB8+ţ..œ&4t&`*zHIENDB`xfe-1.42/icons/xfe-theme/djvu_32x32.png0000644000175100017510000000435311444154372014473 00000000000000PNG  IHDR szz pHYs  tIME  6?IDATxڝy?u,,. j1%0T05!&I*R)JTD+F 9\vsz_,[yU]; XmثnÝ66cooֱ*6l0eS:(q|ᓵ%}z%H>|SdRy8{S'ڿndE糿+"V$g#su\AQcY>t;"ٵAEC$¤٬QOH3o٬|EڦV3}hx<|+D"aU>W $I uQzS>Ag|b2o_E8$lL ̞3kIb: $aA!F~y`֜6Up6MԍGVA ci8+Z@:ql@"&AJfk,:;hJl{k;n\_U98.wqf'5rNVB"$MZ" é@el"kZi[av~DM opϭ4kgsxY.<4 0H[Cet$*И":]y9?b߾OYrt:{^]TiR:+L6p,N*TnÐmT24zY.Yz)_o'gY6tšE+3oatH'J>)gBaX`9[/y\.SO┙mx&eFV8yꉗRsp2I(aI(̀:X6btMldۙ5w8cZ3M_Sq07sۙLW'7$rAUlOQ\Fuwaqkx3`L8 hh_~?9 YͿ;6}{;"L6 հ42 u:vor9w0D_&iЏW G1r@>/fQ.ݝ1CH 7Rw`xpn_w[wh)hV?EIq*R_2(EC,t'{രhGH G ޽! &Ċؖq7Q7*Q@PT!cdJҕ+b GjIy+q'fu'AHhQap@<(0((4^H@{QjBRx=A9*E5|V%Z(T'$B Dt@I+4ā>z!ԍD2.CD. qFdz, r$1:>сR #,0f`v QJQ =  c*qUs)>JVRQ`0Ko(%*k$S9StO3D+mb'.Du͔UV f;%"F.6 $SY"PH>\y] s.::b5 ӄ,=QR$ۧ?iu8[`˖`'ESQlCMד0ɚD6 ڇr5<`П$}0X,[Ǟ[g#+ʘƔqg3̒hnv+H=ހ`| &ٷ=+n;?|Y/K;gԮWc$ P0!@eD (P<*GH*= z(:11Xo9nSSR%$ 􀊘FmmE51#WA}$.ejeo21KUiěIENDB`xfe-1.42/icons/xfe-theme/xfwsmall.png0000644000175100017510000000123411444154372014512 00000000000000PNG  IHDRש/PLTE '2CZW? @ ^^b @$f'o*v,|.j-t*.|-/11~2}24}437:l8 89?r?w@{ ;<>? D ECI JLMMYFSZGU]\JW_^!`'f%e(g(iE*hU*j+k-m.l0n0og&`ndfǸWgk>Liw~{tRNS@fbKGDH pHYs  tIME :0ZIDAT(}gOAY*EP EETz!X"R I>wKt6BJ\I^.ʥjKpln]A8( K8EIQjOK# l/z3cu=aې/-tJWo G|DGO 4xDhmɇ;'p'qx8I'xAIV?qH5IENDB`xfe-1.42/icons/xfe-theme/class_16x16.png0000644000175100017510000000110411444154372014623 00000000000000PNG  IHDRabKGD pHYs  ~tIME  ]?tEXtCommentCreated with The GIMPd%nIDATxڥ#A(8(44 ,`pq0 BBC PAv_.Y)U=~æ!xZ<C;'pqV j*, fg_BMlhRsj 6q2`e=d"N>a93VqI!qM }"O' r<~U`H7RʺAi_B,n;ݮx7u/JxL#}%vr8%B Ӈc;Tڮ.T@$h0ܝH? ]ebnPM/Ue Q@ ;8~DGDIE}Sο.;(2r#{*~UwlMTIENDB`xfe-1.42/icons/xfe-theme/arj_32x32.png0000644000175100017510000000231111444154372014267 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/shared_32x32.png0000644000175100017510000000101711444154372014763 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME dStEXtCommentCreated with The GIMPd%nsIDATxW0 V)I[\gpAr+8Ng)"L<D 37GtvL>xb0mJ<$Q&8^ZlgGj"rGXPP2٠e ޡm[!ѯg8 9IAulx u3u{) Ε"| W $"sm}i)-F< "a0tq#C`^bB~\ M v~<˹"€ z =36lڟX `Z)^!)\MƜM2&7 ixf%de kU2tgnɮ?fh6~nEP莧nIENDB`xfe-1.42/icons/xfe-theme/dirup.png0000644000175100017510000000040711444154372014001 00000000000000PNG  IHDRR0PLTE.?YIZ~9Np:Rs;WxA^1FbBVvFRs".F5JjBb*:RRzJlR tRNS@fbKGDOIDATxc` &(!\!R\\PEX2 $pҖs"PsuCwemGl360tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/colltree.png0000644000175100017510000000030411444154372014463 00000000000000PNG  IHDRRPLTEEX=tRNS@fbKGDo*IDATxc`@UP4PR6%0BCa(7.Y 1utEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/bignfsdrive.png0000644000175100017510000000066611444154372015167 00000000000000PNG  IHDR szz pHYs  tIME,*TUIDATxVr0=tH$O3*HJ$g D"ȸ0/:rf2IY]vƍkj N{JUUzDľN<ɋF%czڹiˆ=l 9Rn ɖRʙ-i7g^{ Edݼw2<肧l بU|;Y^7n\OPWIENDB`xfe-1.42/icons/xfe-theme/text_32x32.png0000644000175100017510000000053311444154372014503 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  1wrtEXtCommentCreated with The GIMPd%nIDATxW ,W:XU>;jZBHZ& 8q @49O8<0Ocp,oj5kDdFQYc"z]DZҀ8uƭ X#8p]pMF-QMR۰@8aJR "r퐺EwyC_-*GIENDB`xfe-1.42/icons/xfe-theme/sxc_16x16.png0000644000175100017510000000053011444154372014315 00000000000000PNG  IHDRabKGD pHYs+tIME#, tEXtCommentCreated with The GIMPd%nIDAT8˽1 E?#@+pJ-Zp J[J:up-W' 0 h<ό/iz\ZR@DGEDbsҵ*U'%9`aKq Sx#R [g\A8RZ}qֺrB|1h{IZcBIENDB`xfe-1.42/icons/xfe-theme/newfile.png0000644000175100017510000000041411444154372014305 00000000000000PNG  IHDRyPLTE8tRNS@fbKGDH pHYs  tIME 3ΞtEXtCommentCreated with GIMPWQIDAT׍ C\& D@HI^b_'7EfE\J+me%_SG"v6H: 2IENDB`xfe-1.42/icons/xfe-theme/rotateright.png0000644000175100017510000000047311444154372015215 00000000000000PNG  IHDRH- pHYs  tIME DH~tEXtCommentCreated with The GIMPd%nIDATxڍR 0 # CzAf.U (v^LТh2 ȥsTJt s$ZC"?$4wt]HrH3 NmRz~ӉCS')Pܘ&ͥ'?l0K#ӌA~L1p4IENDB`xfe-1.42/icons/xfe-theme/video_16x16.png0000644000175100017510000000075411444154372014636 00000000000000PNG  IHDRabKGD pHYs  ~tIME  3 *u0tEXtCommentCreated with The GIMPd%nPIDATxڥ!o0L 25Mi[NYw Z1F4/kuwnc?fUU ##MSmv2(~^31b9_}M Hv@JIbR2PJ4 sjBLZ=J,Bpx;p`S|c0?ff9sB p.א9pn0RzE|?vA`IʲlBw9!N+'/@Հh'/+ Na~okg2bNvU"IENDB`xfe-1.42/icons/xfe-theme/minixfe.png0000644000175100017510000000163511444154372014321 00000000000000PNG  IHDR3(PLTE  '2,!06A26@.7E/8G39B9=G@@8;AG=BI?DI5E]AFOCHNBM_OQVSV]TX\S^vQcRcTcRdSdWfOgVgPhOiXiZiehrXjSjTk[l[lVoXoanWohowXq_v_w]x_x`xbzdzsze|h}h~}|g~nlmmprorrsuyx{z{{||{}~|{Ā~zƁÁЄňNjϊІӈѐ̔Ďϗ̖ŏҘ”ΙƘɖϙʨşġȦͦʩʟ㪵ɫʲɧ᰾ٱ)7_tRNS@fbKGDH pHYs  tIME 6XIDATc`X3 LWR7fUW,dcccpTlG\y%YugMӦQY^]b QAaa> B fvӌK.tXA9kM~ך:T33,l!}R 3701pG-^7Isىu ,6Ɠ]|kl5夔d$%Q~yIENDB`xfe-1.42/icons/xfe-theme/miniblockdev.png0000644000175100017510000000035311444154372015324 00000000000000PNG  IHDRRPLTExxxP%DtRNS@fbKGDaf}NIDATxc` D%%5 1C,M8Q$E!III)-%!QD 4 2T\" htEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/vlog_32x32.png0000644000175100017510000000045111444154372014465 00000000000000PNG  IHDR szz pHYs  tIME IDATxM ѸH9!d NYj|"+e9OEDMp""K)"%\DDts.cUaޫ`%tZC@x -!Gc(gVh֎_TDɉsOŀ[?90+ַ,h{N! jp=WmKhoBIENDB`xfe-1.42/icons/xfe-theme/xfp.png0000644000175100017510000000367511444154372013465 00000000000000PNG  IHDR00` PLTE    ) !# #$$"&'(&$+)+.+ +,*-,&10)/1.203-4!03'45#1573:'8:81=6>@=>A4@A/:EPCI0HG@HI7GJ=?M]PM@MOLPOHGQ]NRDQS@TS;QXDTVSXW?XWOZ[H]ZMY\NI_o^_L^^V]_\]cIcbJ`dUdd\efSahSifYlmYjm_goYUppoV^ppq]qosnsYrrjovaqw\twWtvawv\xugtvsrzdtz_xye|{az{gu}g|{sz}n|}i|nyd|^qk~hio~zklssoosspww{{v~|ƞɕŅ˥ͤæˬÝɜҷȳѧƣ٪͹ݯٳֿòÿǷݾ̼iKtRNS@fbKGDH pHYs B(xtIME 7rd6IDATHՕm\SU}JPÊ2^0+, DZ4V[,G\9aˢYZh-B$Y:[-[[֥%1ܭ{T~}<9&mpx +/d0Ψ]aT&OK>Vk0tlb0/ ER.'L cV ׻MB"F[a47^ /O |%>CyQ]|1_l 7C|!>vԾBkU X(YŠ=4}^o~ή5RZ-bI:]na˾d{ NG֩~r`@-9 C.;]pٓ N^Bg"&Ňf66wܟv~pQ)5`C nKyٳǛ]|vPڇ$N KNg=NGCoԯcUvccdt&Kfʟ] n;_-◟7Rؙ]FR. U\ CD[`2"S3>MĎh7N_IENDB`xfe-1.42/icons/xfe-theme/redo.png0000644000175100017510000000027111444154372013606 00000000000000PNG  IHDRW PLTE/tކtRNS@fbKGDH pHYs  tIME & sN4)IDATc`W 6   ZZ3=IENDB`xfe-1.42/icons/xfe-theme/sxi_32x32.png0000644000175100017510000000177611444154372014334 00000000000000PNG  IHDR szzbKGD pHYs+tIME|\xtEXtCommentCreated with The GIMPd%nbIDATXõW!@06mh$jcFM6mؘ6^>;#0wF gb>^[rԮ~h>[rGùLZ0 4F##q H1ADL&}-A~v3'mD0 18yΒ@J,Kl[Qg@-i#.m킈 yNTn.ιBh vb42? ӺOr\!D_{D˲@ƌoI+8cǣ}^98ckU;4Mo@8U/oPs.&pXX}~ʊܦEE[ȓ+QPoAjekA[z"9'<ş?p 4jIENDB`xfe-1.42/icons/xfe-theme/ps_32x32.png0000644000175100017510000000072611444154372014145 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME ;nftEXtCommentCreated with The GIMPd%n:IDATx͗1 E#Yz,-(,<-V ,$ƄLORZQKu/H)O+ Kj0 I}'!P xKqEh1fRB\{Fo J-ZS/h0D 8s=Pz/8}DF?- B0m/ XIf 5a> B0bK#l%FC"3&(j 9Ppn䈗@MrCFp=*w,r+@iUɹ7hIENDB`xfe-1.42/icons/xfe-theme/view.png0000644000175100017510000000037711444154372013636 00000000000000PNG  IHDRRPLTEQWîtRNS@fbKGDa_IDATxc`r 3 ` q(C(V F`" a@D̋ vPE0CP5PRJ U2\ .H f'fstEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/help.png0000644000175100017510000000043411444154372013606 00000000000000PNG  IHDR(-S+7CIENDB`xfe-1.42/icons/xfe-theme/trash_full_big.png0000644000175100017510000000077411444154372015651 00000000000000PNG  IHDR D6PLTEq"""33333fDDDUUU]\\fffwwwAtRNS@fbKGDH pHYs  tIME R?IDAT8ˍv0-d"vnzN\'OѲdn%5w.K"WDnٷW̨Q1Drm"' $G`LKirp5KDj9ڇTZ;T|hD:UYu@U;T3Z>RZP]U_/SF``UZíy h[@=ya@vTS\8`ӧ2|^ ( aZ;b1MK xܟ;[}b>l 䢊BeGLD5 7Ώ$IENDB`xfe-1.42/icons/xfe-theme/fileopen.png0000644000175100017510000000036011444154372014455 00000000000000PNG  IHDR9"PLTEꍝtRNS@fbKGDoVIDATx= 0IA /@ ?U?8`U1m9`j%bt!-63z?'~<-A7]5Y >tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/trash_full.png0000644000175100017510000000125311444154372015021 00000000000000PNG  IHDR(-SkPLTE "!!!"""&&&(((++....///000333777888;;;??@AAAAABBBBDDDFFFGGGIIIKKJLLMMMMNNMRRSUUUXXY]]]```aa`dddeeefffggillloooppptttwwvzz{{{{|||~~~¿¿^tRNS@fbKGDH pHYs  tIME  e}IDATc`4xT|Y)s}Ժ39ې*&h+b 0;qpC 0K-w78D+Acr$2T+n:p<Im @|.6v^i>ټz"{UL*`UTgg)| &IENDB`xfe-1.42/icons/xfe-theme/bigfolderlocked.png0000644000175100017510000000140311444154372015772 00000000000000PNG  IHDR$s?LaPLTE RB.O絣ϻBqRWcyĘ`M0 }zNrܰz440~~zA$tJ~ ɂd>řmwaQ=g7þir"3;JZ/\tRNS@fbKGD@\IDATxڍ w0`- ejhPn_{Ct]G̓NS*py |efobfVQLrB b)B˧W+c%E,'[] icP*tǶ,:I'#XF)kɏ[YJK9PT'tq\.G2_IՀ+i`rSxr=+tŏ7XYm^ Abm 1'ׂ5yO 44.r}6 9Tq6뢁 YRZX];d೐8c&FBN H_ /v)X }Y^ux rR9伾)uşmgR>ǢcG쩐CA@o%i o~4 it;W\/CA.,p%g+־<_L+,v~HZAyZ0e-V0\ęuܸp}+ z%S4JHA.Q6#)ro*'xn MacitON;}8KXxC p_1,o m9am;t3-| =j'Df1^60fҘ:QTB$7DbrqӠd- {CDCY )r*YrrΥil7TOjkiҴ[hZjwwtZcO=rbmz_15^ ԋ߬A lj xq0K g.  rYoF_M~bu`u[ƽW'cG:8ؠ";P֍5)o4n11AniokA(z<8z>fJ3GܜzOEɭUG<9|' b??F΂Eϗ㪤 R' 0|Y>+zLo/Syj$}P-ћϋEͯ7ǮU+ bzTXtRaw profile type iptcx=A@ }Oh w^y7Q 0v^w244&;S#jC$%r*-721sD jiTXtXML:com.adobe.xmp @ pHYs  ~tIME 2 SIDAT8c`h']'#{Y.|,X`=p=˘( D {qe.l2E@2[&IENDB`xfe-1.42/icons/xfe-theme/xbm_16x16.png0000644000175100017510000000044011444154372014306 00000000000000PNG  IHDR(-S3PLTE 555AAAHHHccceee{{{\AtRNS@fbKGDH pHYs  tIME /fIDATuM[0c2DݸiEfH3)g+FiA&=F*@*H\F7Ŵ(ʐ6RV+b I+g)e~Oܿ!˧IENDB`xfe-1.42/icons/xfe-theme/exe_32x32.png0000644000175100017510000000033011444154372014273 00000000000000PNG  IHDR TgPLTE\tRNS@fbKGDH pHYs  tIME  Qmj?IDAT(c` Q! (dGG@P[MH dTzbD |cbxSIENDB`xfe-1.42/icons/xfe-theme/vhdl_32x32.png0000644000175100017510000000043411444154372014454 00000000000000PNG  IHDR szz pHYs  tIME  2IDATx헻 D `$_1iHWAr{@2c{+‚nm\BFr6U9Yaڧ`$1PBx!-A[kZ6@*c)P_Kq,t5=gH뤻R]pu>t0xHHPȀ@Є@͛aϜaZ߻F tRNS@fbKGDH pHYs  tIME ϋIDATu@Cem-o|P>1E;FBW<)6CKZ="c;%X?"8ELj<f=/]EnB,YH8mD3eI$eJ$sG/mJ+fM6sN#J0lR3oT)jU3O[PyU)qVkKrTtUnPnAq8pLtJpEsEnTr@s[{D{gwKxItPvLy@}FwMzN\}DzN^}V~W|U]UVMEMŠJ_VPކPQÍyÒYjÕ]Ts͔^Ԓ`[ԔnSiʱ̵{欒軃ștRNS@fbKGDH pHYs  tIME *okIDATc` `IEU0^SOkYmAk1`t6S*{ZKRC4,D00tT3=oPm6vfFgX .a!~^V4ԄLI9E >(YRuy-eiŦ}]憖zN0V/9]ܤ|W8G Ż pԨ8AIENDB`xfe-1.42/icons/xfe-theme/sxc_32x32.png0000644000175100017510000000102711444154372014313 00000000000000PNG  IHDR DZPLTE`)))111BBBJJJRRRZZZcccccsss+tRNS@fbKGDH pHYs+tIME   N5tEXtCommentCreated with The GIMPd%n IDAT8˕Y \3q|:JzemCBh3 O*n#=Z 36a$УZ)Z-cg(>l,̓!< -R[u@ &v9z-̡ : 7c0L9& pHo11S]bCMtB(Zȅv$2Zh߂.|\y*iʮy)D/ąm:/i}SȲ_y g#К8{I;OIENDB`xfe-1.42/icons/xfe-theme/h_32x32.png0000644000175100017510000000064311444154372013750 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  .F&ctEXtCommentCreated with The GIMPd%nIDATxՖ0 @cQ`#d;@|@ >(lg'0u9wj 5(q @4EHr޽s=@Yu95 ukUMI:~}e)6nMĀ)2b{s`=ttn;΂gv~Jz]ưYؠ!Mt/ lZU/Ϝǝ|3PqxSi(IO uvӊ8m/]{irIENDB`xfe-1.42/icons/xfe-theme/vsd_32x32.png0000644000175100017510000000103011444154372014304 00000000000000PNG  IHDR szzbKGD pHYs+tIMEQtEXtCommentCreated with The GIMPd%n|IDATXW]҃ L:>r-| Wc{XniPͲ Flۆ]7d eYD Bc(`Y{j b&X@>k-03x! Q3TKWC^UιɣAl5"`1Q\of ͼ Z_Z!^}eP}n-mL0d|a)t@Z(\j 50QZӭ LHM6ςU 0Հ7eͿ4+.ofVP3|8Ads~3N( cIzPuZ%IENDB`xfe-1.42/icons/xfe-theme/font_16x16.png0000644000175100017510000000141011564521470014464 00000000000000PNG  IHDRasRGBbKGD pHYs  tIME;MtEXtCommentCreated with The GIMPd%n_IDAT8mMHQs|%%,6M`&?"EJ-@"qaB"+C00sIGCf{Z|㌣{9yH$_s"BvVT!]*眮}UԴ. s_Xl'c˝&wq{D$:%e:D #)jhr–n=E\AUU M8Oujcgu|*yGOIaMB oim†Hm>Jw}%Hԑa[}._dSuX/i^?H²" U&/Ta ~Dl ẙ0 &-I7F&.nZnG:Ta.{B> JưT1@B@ξQRP^^^nrn.20bj^źHJK힚^c^666&&&jfcʶPMO\XX9<;BBFjjj+-.SWScbaurkmnkdfa?=@ xvtIFIz~2.2JNItRNS@fbKGD=mQYIDATxڍv0`P[1e;4$EqIN@=tχШj\k {|֋)5"@S,!TI@V֔/e-( 4V{3%ϖE@ ] Ymt;|)bR!eܵw8r IENDB`xfe-1.42/icons/xfe-theme/sla_16x16.png0000644000175100017510000000075311444154372014306 00000000000000PNG  IHDR(-SsRGBPLTEt`!_5n6}673wf}V r&\IENDB`xfe-1.42/icons/xfe-theme/searchnext.png0000644000175100017510000000040411444154372015017 00000000000000PNG  IHDRRPLTEhB 1tRNS@fbKGDH pHYs  tIME 69UtEXtCommentCreated with GIMPWIIDATc`@FJ `Ydb%P IQ(h`(b   @DQ@P UBIENDB`xfe-1.42/icons/xfe-theme/video_32x32.png0000644000175100017510000000077011444154372014630 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  4jtEXtCommentCreated with The GIMPd%n\IDATx= DcQb)|$ Ke;dlᑐ3LDLn̖.s q&" ;,!uYCJm |\!AN'J n뿈SڠT[Jrq @WPJR'@C zqʿߝZ4$'e7ý0{7qOЅ9I 0 d W&Y` x#9,!uf^} H6ӗZ:%.2PQ9UDDksaxj)v{ck]6<N Pw/͘e3IENDB`xfe-1.42/icons/xfe-theme/text_16x16.png0000644000175100017510000000040611444154372014506 00000000000000PNG  IHDRabKGD pHYs  ~tIME  0$صtEXtCommentCreated with The GIMPd%njIDATxc` f|4! mtlK8rH,9X8P\\At4Bpur%0FR}dmIENDB`xfe-1.42/icons/xfe-theme/tcl_16x16.png0000644000175100017510000000043511444154372014306 00000000000000PNG  IHDR7bKGD̿ pHYs  ~tIME  ))=k:tEXtCommentCreated with The GIMPd%nIDATxڅ; D2TL\*.|*љV.bb9d B,f xyF (|@(  PjXOK}fjw`dV '<;CKcjp߿9h4MKFIENDB`xfe-1.42/icons/xfe-theme/cc_32x32.png0000644000175100017510000000066011444154372014105 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  5NtEXtCommentCreated with The GIMPd%nIDATx1 E!bX r!CX %T`(R=E7K&2/⧠ι6oB* :lCPh BM,U{_@ Zil BO5Di)h g"\"> U(a 7a`K@i5TH#KM)>T k\qOLJ#,]24RV/@[/H~ھo^\3IENDB`xfe-1.42/icons/xfe-theme/deb_16x16.png0000644000175100017510000000125111444154372014253 00000000000000PNG  IHDRabKGD pHYs  tIME /r<6IDAT8˕OHqǿ}߹TdZ":ؔACuDD^*A̽ tr[tM s=>ϟCX#gY55 H< F{k;q-?+rJQނy 1(&& m%̫)AMsYzZ1-Qe+q~>,ݤ9ThDIENDB`xfe-1.42/icons/xfe-theme/zoomwin.png0000644000175100017510000000145511444154372014364 00000000000000PNG  IHDRa pHYs u u-xutIME 0`tEXtCommentCreated with The GIMPd%nIDATxڝKSƟM=;g zʙZQ~ MFB4)F%`W?Ї]ua]tM^ER)d,fΏ SxQ/o +)k+֠:Ftz?'>~xHWOFF몊ь:{J ,--9~xwT5BRbRoOOw8$yM} MwCBkiuz$Y^^NVK^OϊJMC{C諗$INǁ*B0Ho0l^þZm$ILu(, \]ELHJ1 l6ckk `_: ajn=Q-..jayyBcq@ 8N`nn0?? A022-o0TYK(I%I,$ɂ @QxX\RBUp t^n.,,rjj`vF.'?ey3̌|1ssr `UVϷk8ȼ;v6-ig|nمe&T*uJFl:6ˠO05v[PܼRpjM[pk]۩IHL2ȩ$m/Fu@JIENDB`xfe-1.42/icons/xfe-theme/minifolderup.png0000644000175100017510000000047011444154372015353 00000000000000PNG  IHDR,n3PLTE847@VZf`hʧ #%,¯NR^z,.6 eAtRNS@fbKGDH pHYs  ~tIME 1B~IDATx]Q I DV41xv0X%Q H&Gԯz#r$J#Q wMcKhgìbs=*Dk8Zkԯqޅ { T2HҔoFRi?_Ղ\'\d. BfRՈD]DtKQM+.LlS#r[L @ru4]]q%H~zMWiw$ޢHI|/A<;I<eY@'քdIENDB`xfe-1.42/icons/xfe-theme/setbook.png0000644000175100017510000000034011444154372014320 00000000000000PNG  IHDRabKGD pHYs  ~tIME U~mIDATxc`?U53Qj3#aIDATHc`4,9:"0^BXU nDj8j8bn~nuâuKV//^^xQ$ 윁lll̬--L"igimm 64177445-10Cv(*&ZF. { 4jՙa<܆'KF1h$ ;մ`G݊6C;vl'AA9@`TS`)Sf56PnʬSyp ݥ^+/8~o7o޼k)2NS&BAԩS3XVODL K~Ja^XKG4":Cdk;H,ڛj ۛk**Zv5homͫ8U $6={5p  ~U߿L tG^ݹaWaK\âV0c- eg676s5tTW?߿ s32 {X]( אXVVV j{3W^|*yZ @ZZQVߏ7V׃c.XPVQTW߿wyyG%D%%Ed❖UP`іUz_ʚ . |B:'#J29YeF5uK(X}V?|a[zVr2R!>==ѭ+=5oT0HyxxH$ kcR3jb8  ң##!z4̍A1 2@I$i@AjR"#BCCԐ4@4v*0ZS ^oXaIENDB`xfe-1.42/icons/xfe-theme/shownumbers.png0000644000175100017510000000041611444154372015232 00000000000000PNG  IHDRyPLTEstRNS@fbKGDH pHYs  tIME  3[tEXtCommentCreated with GIMPWPIDATM 1P G(t[pb_*pz$!bU"j @7DjC[bX!c&ւ ~QfIENDB`xfe-1.42/icons/xfe-theme/move_big.png0000644000175100017510000000046411444154372014450 00000000000000PNG  IHDR TgPLTEx|xtRNS@fbKGDaf}IDATxڽ1 P!GȌ8A+̑@fH6 q3S?B 0r8)x#t0]LLG[?gY0Nb}R^KlEJ.jد.bQ+%ٔ8LEz8g"-?YIWqtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/replace.png0000644000175100017510000000031711444154372014271 00000000000000PNG  IHDRb PLTEvڻtRNS@fbKGDH pHYs+tIME &C.HD|> cbbB4r,}}}cPשjTU)7FjIarrrÝAh4XZZPw2֚\.("$IÇ@+!a xtwwl6GV7nMs]Us. "#\S'(h۠5cރ(T)+00;; "l}W__G~Iogx[]`)XEM(?*x^\+WIMȷ'2/DEںMmEN>V}~^")KAscpΑɄ4M$9~zc{q9˳q:+[ϛ28x-r!FGG(2xX^,<`J8xZ8(2/2Eq5̨1D̖x<+aD K0D Sbٹx\c=8S9tӻIENDB`xfe-1.42/icons/xfe-theme/biglink.png0000644000175100017510000000350511444154372014277 00000000000000PNG  IHDR szzbKGD pHYs  ~tIMEY IDATxڽ]H?ϞٚnΩKY,m)!R&AAnvP"FDo#*I,27dsʹ#̬~_Gs?<ܟ纾 n Çņ h4tuus^*.ÇԔQٳGW{ʋo&'']###L:"<Η/_6|]__҂|>vލf?8rXbppP~qe  Ą8~Νw+WUM(߼yCvv6uuuD"qҥoξ}P((JvڅZ7oF3 h@:npt;FCC#I%%%|V#a΄J%F<&Z %%%455aXCѐ`0Oz IJJp`6ZdffrIy=>8lGݡo=@b1> @8FѠILL !BƈRYYESSCTUU!@$ ">|`zzzpxxZM]]nr BRT*!RfWfhhZeeeaT*hii۱`pz<L&Z@YYn"%%JB_vڅeR”[t8M&VB$t:fZ-(JZ-###f(@$!%%!F[Hbb"wޕ]sssP(hDey?XVEEE6mڄ^'## N>M[[555BR!2{p8 JT+%''`0H0X,FFFN"۷oK>}̙3XVj5*9ݻV?j?6o,$I"118dY&++|>e;vFB!(:*Qߝ3+j`qRSSSSS͑,FR?~Lii)JI#zlXVbMTTTvWr g4% 2X Byy9 f>}Jkk+Oc>+K3GWzzszzTljD" H$N#))0b2uJ+e`XJa2lz0 $''f``χ륺<, 999,oDK!\.ײkCdffX,!P(( ^x(Ϟ=gjrssYnZN#-hpZMrr2ph4立WZ:VUUaZ]يn\yCvQSSCAAf.\4n{RXXN#r n; v]?S^^8\x;ߞ~Kֲ~zJJJ\~LġCHIIpxܹs mXScIENDB`xfe-1.42/icons/xfe-theme/help_16x16.png0000644000175100017510000000052711444154372014456 00000000000000PNG  IHDRabKGD pHYs  ~tIME  1PtEXtCommentCreated with The GIMPd%nIDATxڝ;0 _˱((X>|ݔglE %yӅ0B*J\KpK"xXywI/IRjjlPvEqJҷf֒56^=eB}I Z4i>|Y_;3k{KEU?C5|| cIENDB`xfe-1.42/icons/xfe-theme/newfolder.png0000644000175100017510000002363012572254474014655 00000000000000PNG  IHDR9"`zTXtRaw profile type exifxڭi}q )L=2"#2آj@1ş51[Ζ?;o}ޫ~o{>_x> kޟ;_7|)3N 3@w>c9~/cxC{O ym}䵇|xl\~7sAF]<ی[nyjsV=gT6E}Bޖ)M/SYcN9495̡}n2/z?}P|:%_p2⫉ﹸv7]qw /?>2^׻`a*Ǧo#<+ v!Frb+\?K6RÕd\6.; Vc?{~_|B9Sܽ'>ZpD 9\CSb%z )RN%R!ǜr% z %Tr)Vz 5Ts-V{-aVLyhgݝ+z~GyQG}>34,6+,U̪&vi]vmCpI'ri{߽ܿ{}&{]5>.k'8I"^>96OR$\s`Χ}s7o.I L>w5R!}ÌRX?!ɧrqHbpM7f(\"S~QugnvAF-'iX%3NscOڋuN>f<{fؽȠr?iɾM [EH3=srfR^V6L]P)E$`)CpA@ K~]b;]wdAwa:(J,MtjI,4aJ/˔L] 8j7ONc1y &S˳ncWz[5g g`cQ]aZMmsxI+fkL_YJ%W`z!>y]wG"yzv]GJov_,/(L5 L:Ch=QJN/5pcqqkئ$GI9VjΡ R?,I^J(f nZ>Kݔ>d˩| X"Xasgl2P1x(Q'B-1LjKsL\ J5WKʯ`%_" C] FL{v Q[0oڱ7©87OrŢcIZpIQi@  tx-H0[H p`k!IN (+Q50qrL3 ;iu`=F@kAo4!-bߠ9th[!+DDCN&[̬2^e6~Vy  :`ΐNblTI2L t^"~iYI HwWN?X$#@J!½rOHUӁ=UY;h ㊁X$xnЖqON{]{.\^b&OxP=",!z=l2j GlbEɋ4.-j~,4vl|B+*3H/μE&MoDįT`!=Tv TU dO``Ss[xz<'!T̼A IkX2)Q'VrфG)?hE " U a #=N_jq,0 C,ϛ `"TmZOY~(Z ۖB&r ƒMWɈ؆;у&Qh(!-C6: ]__|j*AR.Q|At?4BO DUr FtAq̆Z$hj T @QVI_TAN%  5oʂEAoTS&vC*8C& :(zT0nt`(@zxUUw{(» L2BYm!2 3%?$ Bq&]<ŰzGhV\7`t爨skYX$^ έ7X;%YRpZ N顮Ò+a!ާAEIG.7rSX/[rB"]ggb&4xr9z;p5,EV ʘG?X\CM 7!8"O iZ $vж{ d̷jy$_Tȕg ᏆyD 2˻o~&ĄR?GaiaޑT:ֿhiO"H 8#H{x4( `@J^"t[%\aP>$+YE~}wy;S[D tqc͜O!QKPQpptA8ir++$rJ@_(P#Ĩ0NGr:jٴaHҜ1#"ɿm;Ru~jo' ?V,AZ /#%vXQ Ϟ"MVO̪P"0DKgI0H>0]9U5bKu$yXX\zth9D}zUXa`ENC5_o ُ!ީ;%!+f{Py5@\QKlRvVR8 3!.!/26r ϭP J@.~8pдT^l_=y6T=8-ZrV‰#@U/A j #OK8usa,l,BEXiRU;ԑ8Lt,%iVvm3B!R*>Sޯ{\Qn-oA-3"+*L`}v>& l2T|˄w &lD?"xL\s'tJY= (TNӦ!PB`@,`Е:P$w`7Í`ALpd.X*Vb~,PBp,!dL{0fV|г$(E_X#:Uunw9C$C $q 6 !z ;gXovQѪ"1,}x{TArPZ ѺlRŎ=Rϼ7jf#+F;4:sUqHG}X}<%jXy ީ= =2z *jvIf3 ^"|[)OcJ_y z@N~~21Y"Py1H?Zt8URQ}! ڑ#_t,ίCҥLaJ:9hji\m GQ)͕@|lxUO(Ğ (]K,|IE0Y_!ʬO](B[Ay =]\KoN+ʼ-Ǔ۬bgs{|0YFms&{)mmS.w08 Z"]=.M j#eD}<9М/-ZvX__ȲX1kIb&kvKi:Iz%;bJ%G"gѼ}v_VAӁ+m1U5PaC~|RB}etmfRCgbVNRup +jYqP:i|F%آ#:NBB`l)`d_KG+ 8syA1@o-l<&zx^[nmVSBH6wr\;@ ґ}(M:֫ZkF~&0b:dᝣ kSȦ\wT,zz(փNۙoEbiP :3Б6mfDY67A[K]GQw2HP{wW5KQ`]Uٲ1+#r[nSyT߬nݰr%~օ :m䧯'MMi .0"iӸxF]HRMhKuOcbEM!@5`g*!TC\: ϸ;DJ FtBI8[mu9m?<޸RL?zOεL,m?^kl 0$Maf 1Ep_ABZ fDn,z+dG b5VAm쥧- Nu59Л۩K^733ݤ{ gu=~fW_R >CH1'XjpR ^tw赉vkcwT3͓$PY6Qqu$R-iۤC w'f޾!u b%{dEUuCbmmi&3Iڼ碳'ꋸǛX"|NܕHhMRM}5FB#Zu)͎Z)}7Q4q~:HuZA`Z= Ymjr6L6% A3 3& xei~?,Z[:NQ<^{PC;0?f4uZk087"do:,:ƽ3dmƬP8Ig6A^O1 忯1{M |weo٤iV}q=}?rț݉ʯ`B\˕s+ C*%v|ͽ1yx8}YoZ旹~V 9,h6{~=缾9'U/JX]=[V=3 ȄqÇx9~Z;Kϧ|^כ#*Uafݾ0jf5ޣfcw\9T$܃'7ȦS E`zTXtRaw profile type iptcx=I @ 3#$w4t/-?vOٶ4 &')ġ8pvsjUi_u1Kca jiTXtXML:com.adobe.xmp @-PLTE  !('*1GKV[arhpȫֵ57tRNS@fbKGDH pHYs  tIME ) IDATȱ 18X8E&B9ΐ;ɋY`@[27ߏivoHwxg:؜/oZzemS\^)V{p1 98'L(%r!m$-ZcXRb-I`ώIENDB`xfe-1.42/icons/xfe-theme/minichardev.png0000644000175100017510000000033611444154372015150 00000000000000PNG  IHDRRPLTEk=tRNS@fbKGDoDIDATxc`` @A2@P.0F(NL{H7U VP(+TILv}]tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/chm_16x16.png0000644000175100017510000000045111444154372014271 00000000000000PNG  IHDRRPLTEapI StRNS@fbKGDH pHYs  tIME  f0tEXtCommentCreated with The GIMPd%naIDAT=A 0 >w~@VMSqOlBdJ!,<9֡A#}bZemN P |hObrڷ_-v#AsIENDB`xfe-1.42/icons/xfe-theme/tgz_16x16.png0000644000175100017510000000126311444154372014330 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/odp_16x16.png0000644000175100017510000000124711444154372014310 00000000000000PNG  IHDRabKGD pHYs+tIME"\etEXtCommentCreated with The GIMPd%n IDAT8}-t0<3YPeK W00c- a:ֱ:,f ",W߽I meusX>!(BD,Fcl2M1iJ)ڶEkM4u=E1sR,Q *(躎lt:eXupÕ/HߢoP%Z<'Iw\#u=b{j ey9g߳l(=?M3Sfjط71C8""l6sl-K"MS1q "0Bzn+Hb!o $RXk{q \c-~]B0I8˲Qcp,&da Z?Bp19oB %ħ#xX"ss@D_$=ZEgM doh/O 9suݰ6c(9mNj6IENDB`xfe-1.42/icons/xfe-theme/bigfolderup.png0000644000175100017510000000154011444154372015157 00000000000000PNG  IHDR$DSbKGD pHYsnn [tIME 0yWVIDATx͗kAƟlf7шpVQ $Xh'؊? $0`@,,lNIgN '±3oٽ9xyyenfsf}stǧ$0JJobxEQ4\Ӽ)X[] mz".玒ٍOhfܡյloDBgpfZq1wċ;F1αJ(%k^;t{8Tpn(LAq4-|A4HsoN!b=>#>}W҉jK4L`dFܑ̋ϐ8 E=@$J`erN"7{4FJa^<Lj!1wۗo?|qv;F fڡlMQg&"2(l!R-F }Fa:$If)SNnY.~$Ib_۳,˜dkg}m206PQC"iuچC>JGqlû b8D.LKGq[>O "$Y0x!N( o;Sv9 _<{|3ku|7/BdA;5`CJz]~'^&\5H#2˴ ι;CUww_zVqd:$m}HG/u?#xQZ IENDB`xfe-1.42/icons/xfe-theme/rpm_32x32.png0000644000175100017510000000132411444154372014314 00000000000000PNG  IHDR DYPLTE>>>(((555)&a\333㦣" *'pn  >:---888zv DA ޵" ;6=== ***ݕ  }}}hhhiii@@@HHHdddzzz赳 #kkkIJcccUZZ\/-  <<<ﵩk'''&&&222NNNKKK ZZZ SSS,,,\\\VVVMMMYYYUUU """utRNS@fbKGDr6 XIDATxc`pH2s'7/,#kfd@R0yFFY9t Jye*j`@yM.o`2v7wO/o_?@9p0.QPG12F# 8(u ~FmXd I FA(H(HێMADAz4#c(PQDnLf,:q8$G]IENDB`xfe-1.42/icons/xfe-theme/rpm_16x16.png0000644000175100017510000000063411444154372014323 00000000000000PNG  IHDR(-SPLTE:::101:9:kkkސDDDIIIXWXUWz}զJJJ恵(,qt񌌌...!%IM"&"%}$$$OOO`b<>/2 qqqQtRNS@fbKGDH pHYs  tIME  :Q/sIDATc`LYX<6vN.n^>~WPHXD %$edD@L^AAIFVabbRSS`х 670  p GX@< 007] y%IENDB`xfe-1.42/icons/xfe-theme/odg_32x32.png0000644000175100017510000000515011444154372014270 00000000000000PNG  IHDR szzbKGD pHYs+tIME7:VUtEXtCommentCreated with The GIMPd%n IDATXÍ{\U?{gvvvfneƀZQBQZ VAI!Z#`AcLbE--Bm-mi)n};ǝǝ{1m.~;wC)zSTFx?d_Ngl:(ǎػ$.hX]/L*cF,&ض?Ȟ-xbQC_w? puk˛oEOOVbʕ2::J&<޺ﻏr[o%~K/tZ^|i|zϬϽXy=G~u )rn477˞CڤWbQF y'޽[6n(~[>ū$w E`|(lP`m`/^L$xb4xW^{[n\6KY(;Gp]w̎,mlTֹ>MWL d ^fe1̞W6mevqeqP__OCCxFF(JP(Xl۶mM&5XHK߻\vz\pEWGm;7߱0<`hhH,_wyS;{JR)"k׮uF) 'ǥili \?0WYwzHljLrLXnk""dDD}xP4OD)|#;0@6APyb.`#2Hπ暦uijN|?k-f@ (;LB$ęjwYN:Ņds+cݘXJ/ Eq4-{^UQ̜N5e'p&lc8t_xt(%(D'OC+lpM@ /BUEݫJAD)>CCXER<[>y.jlX 2ԚCbKw!$fI/ρ\Y} >܆q Z`0z k))dd(b!EU6 %R>Ghltt%wdm V2 ,]D.M 2 >H28 4Ѡ$mognD{LdQ2F1 sJU;(E}( P"(mJ+8=E<#6cƔbd0 b_ϮUIj5[Eջ R)%heh'5c,Au$0 283~V(ky%x(1-aP?@r9d<20aVc GЕ}S1Z0LdX( EfɴAeZ'KDY(hѨ<ل# q V8E8c}8N '388CTNӹ[5`,oT3DP ڶ좐ϐU@ =Ҍ~@,L7zDKZBYhmнC897eRL-n"L>[P9p'S1(9EPTq9 sZiM0׏> [|:Blmh[$Ӛ Pط V-8Nt¢Gas]σ=;܊T|1rC cw%KՔ_*xBel`9'ճg2vEAٍUL#bcنT:˟^Xavx?.klɐ8޾^`&UR&r@iZh|Np 2IENDB`xfe-1.42/icons/xfe-theme/o_32x32.png0000644000175100017510000000060711444154372013757 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  % v@etEXtCommentCreated with The GIMPd%nIDATx헽 qx,;H >V@1IS5 p H~!TJe #T !D]S n [Io¦$z"V̗u8O~h\lܪ9?\iU<;Pv_6q ޾.*~:|O< w*@w f)}p݀Ag cE9QCp^"IENDB`xfe-1.42/icons/xfe-theme/errorbig.png0000644000175100017510000000042511444154372014471 00000000000000PNG  IHDR g PLTES7tRNS@fbKGD LIDATxc`@Ch?`p  S#"1C#CCSC0f -2VM [fd-FZ ojT0#tժP#k%:&W 7 pg`xwDx7P/tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/jpeg_16x16.png0000644000175100017510000000044611444154372014453 00000000000000PNG  IHDR(-S3PLTE@@@B@PP``hl0x|x8X`xԸ`rBtRNS@fbKGDH pHYs  tIME 9b#ylIDATu 0CڭQxFih@K!$"ʔF؝K8St$qC{5\+Kٶw6XJ)/s"auIENDB`xfe-1.42/icons/xfe-theme/sxw_16x16.png0000644000175100017510000000053211444154372014343 00000000000000PNG  IHDRabKGD pHYs+tIMES7tEXtCommentCreated with The GIMPd%nIDAT8˝Q+0+AV"\c HFFbWk -aT~ff' 4M1PJ%ж庮ߒ^y{?b,j8Si* @h!" "Xk|/8XY gb# s 3$`fS+%pF<]!Ca_IENDB`xfe-1.42/icons/xfe-theme/dia_32x32.png0000644000175100017510000000053711444154372014260 00000000000000PNG  IHDR D4&&&]%b&555i=AGMVZebtRNS@fbKGDH pHYs  tIME  |IDAT8͓ uVSA]gBEKi{[¬!pI)o26&_DFRjBցۖ Ek)@r) '=0_Rg=50MY2a O5Wʬx!HCwFnf;~l,IENDB`xfe-1.42/icons/xfe-theme/rar_16x16.png0000644000175100017510000000126311444154372014310 00000000000000PNG  IHDR(-SPLTEOZc_h!Ei_>x{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvs4#tRNS@fbKGDH pHYs  tIME  9jA}yIDAT]+0⻺1$kJCpnadA-IEI$ nј@m(/셶0Axn!E+B17$ݲn#13u48IENDB`xfe-1.42/icons/xfe-theme/package_32x32.png0000644000175100017510000000331011444154372015106 00000000000000PNG  IHDR DPLTE      ' " "% $ /#,*)2./2>7" 5"-%3$3'5'9( >%9)B'3+A'>*>*/-0=,:.?-?0C-I,?/)82D3I1"463C4"C6O1.K4R2(K4)P4 R40<23:=N6F68J6/L9P7'C<g2\5*O;[7"`6"L=X9"N=+U<#T<-P?'D@DT@#VA PA3_=1Y@%[@+e?#`A(BH?i?/fA*\C5eA/i@5HK>MIHRI?bG&UJKcK#oH+dK/nH1cK4gK*^M?lL2MSJxI/pN)nP'qO0zM,oNJnR1wO5mS7lT=xU6{T?zV0vX0tZ7s[2W3W:_]`rZK~[;[6}[AY=w_D\8`<`7ZE`Be7cH`Ie8gBh3`H~jCcHjKg>i2i8lgFnqrkPiBl.>vvFfrSƩ[?>>IZLYѱaj߉ER2<"\L R9U^u-S{6WQVQcbgK``/ht?u֊6ZZ:2̢"\@ 9SN_l0ek&.t%nV榺j@Lj K3lѼ7^`iie*!/.(Ѩت6o<}y!pmw>ry}|bX |ص 7E8x1ZI"%LޔcG.{6;)>7ٛU_:m1Jf,8}}11av\%};7**͎KQƐw/)-W45ϸ{,/FgS\qx27o{14 P"BIENDB`xfe-1.42/icons/xfe-theme/lzh_32x32.png0000644000175100017510000000231111444154372014310 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/java_16x16.png0000644000175100017510000000127211444154372014445 00000000000000PNG  IHDRabKGD pHYs  d_tIME -2tEXtCommentCreated with The GIMPd%nIDATxڍKa}7>M22<Vȵ" :O(-" Ś"֖toS~y%P8ښhjjb/,}LOve_9fr צLb[J5 `*hT դRI$I҆ҙ,W;PWc%h#mcYA9bdT0  [El>Cow/fz,(9LD91:/Cw"8LB>9H~p5A#:=Io李eRC"oIpyf#ēiaz/!0Hu9DGε;iTD._SH]e@)_ >0s* [ۛHHPe4`5`U͸Z>Cy4\z+ t=L&x!9~Hfۏ¿l|sb$t1lV}n/q?b_B]k<Q[[73CG\6IENDB`xfe-1.42/icons/xfe-theme/tif_32x32.png0000644000175100017510000000106211444154372014277 00000000000000PNG  IHDR szzbKGD pHYs  tIME /mIDATXVr0d  B€B@A`@aa? P @g\đ3ߌ[nku ZfM{yv]AoizWPGu}+#\+f(.U#/ЄJ6牚6n#CЫKk!mW 3P59_D&Sd5SH#5Seh78؍(CmUOꕁ ÛoVS!gIENDB`xfe-1.42/icons/xfe-theme/hidenumbers.png0000644000175100017510000000041611444154372015163 00000000000000PNG  IHDRyPLTE666ٿtRNS@fbKGDH pHYs  tIME  *+tEXtCommentCreated with GIMPWPIDATM 1P G(t[pb_*pz$!bU"j @7DjC[bX!c&ւ ~QfIENDB`xfe-1.42/icons/xfe-theme/exe_16x16.png0000644000175100017510000000031011444154372014275 00000000000000PNG  IHDRRPLTEppg[tRNS@fbKGDo.IDATxc`P(` @c00   eQ+J|w~7tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/ods_16x16.png0000644000175100017510000000124711444154372014313 00000000000000PNG  IHDRabKGD pHYs+tIMEtEXtCommentCreated with The GIMPd%n IDAT8}-t0LfTfC [a:6Îe,e3YVAY,y#~Qu}*68z+Bx<EJ),#M %m^Z$a:`c*ʲ<9!VQ P!4Mb`6D4 WJc]['%9,c2 wWooo} eYvqÁy(@ !p8< !0SUeGkcZ#n[mk-u]gWx~^QI`%cR(ʲ|?@<Ēe| Zk<CCA ˔n4I/;lo_Q'=ùscL/жGDr$6G "gB^v:>&%~טM_xߑR}Cߜ];}2"rj쿱߶3+~UAݍ1==4̢^_kYxHW IENDB`xfe-1.42/icons/xfe-theme/odp_32x32.png0000644000175100017510000000511311444154372014300 00000000000000PNG  IHDR szzbKGD pHYs+tIME801jtEXtCommentCreated with The GIMPd%n IDATXÍ\U?73;3;;K-Hj"`P@ /U"")/i%J@hK"Jw 3ί7?޼L%&/'ssS3.Ͳ;rp$O[k#Y{NO=[,K; L&I$tvv"@K"A2͛).^M[[:6ޔ?{2NvyFg/95Q^{5G__ ,\.뺄C!DOWsWpI'K" AΎXlZH$ws~r]?$]p9sOMj(=G?y|g>߸[_M6q90{7۷o9sA@:&L};X P|qִL&I&C!b3gr(jPɂOLߙg2e3_\S1Y"@]+l!顯L8ChA)ロu׫ -z:]YёqQ`Bm>QgtOFk#m1Zov6la!:wBg1wzeEBl<_.8!1 쇊(c hJt*EooocèdG)@cO8B}^.=wi('NQA^A)uFф8 2o޼+oV"ʉ P÷|=2Dc DPkԅZ$CkPR)Ýwީ6y\\^SP*saI2$܎B!"0GJ"?d#p$x%|.gՀ QQ ؆ ,J|XXV8X8n֬{bp mJΙ3!]MT F}*^jNx^_Tp):KB %JF'd-u'heQ=T(O ]Ϥ=>bq0@1fg`4\pH`A ,̞Bq "4&6bA1% Tj5J{9M@`Ba2Za FrUTJZn)XQ J|"L9Z8'zzIihUBVk0҇G:<'`Tжh="q,­4J 9 ͢0#!1a :nB:ͽgFjFPȃJiWc_/`Zېѽj[(yn{+4B"N¹J]SzֆTE-p" Q" C9J/P)pU4,*Q9`@GgpRտ|DZT%z"M \tZF^ fT$F&~4B#MT}H)[ϟ֭[ {-dW8EsFm'3\eTNa޽L%ze^P3?>λ:uڳP6B)>y>q_c NOx=%aAI|$\Sg8ν ?m)v^1Η)F|O1E?zsV;g\TqS_\#.mw#}w '-?sB1$B+h8a sܱrqtZ;Xcf[b:s} '1Xo{~[x q3 9* 物޷{rpPx-1$|V8'FYlX/!I(kıbyL9"qw&8͘Sý6J|M#-! 4 `,Td'"E4%\RiTsZj-ܤV[ki=!aK޻*UVVPq2hg):SW\iV[}*e]w}k'|SO;jQ 9jA5kD09 b ^  3Bѐ3|$DP b``! o}E9[rΠ oqj޼bAN˜q946GG_h,BXX.̕<>w { 1X͝H'wك TN=%i31Xz,վ7rSzXR[^Q؋ew~F1!'-4Y!0AmJQ%VG'A$w׌ Oc'fC<":ΐYsL%mV=v4 l~&r Z{h7 \wնddlkocB)NW,_}|ǭSӻ:S^r݄- YgGZзcG y :~”-35*\!Ĺ 3`ꡀ&iSqT-N-%x[:fF:k&0,A)c.q3 kmZƛ|0G\ @PLTEedbfghijkn lopqrtvxz{}~     "! "(1- # .$*3"!%+$" /!,'0#-123(15*2.@+36-4 7"806171K%:6E2L=K387F498G?L6:)?LP\KW=?Q]LXVc>@R^?AITABJUP[NOBCKVQ\CDR]UVEEFFGGPZEPIH\gHRKKYcISJTKU^rblMVcmNWhtdnOXmziueomnPYyRZfpgqirjs^\kt`]wzx{mv|Ły|~ƂoxxyNJȒ{|ʍˎ}~̏͐ʜʖӀΑ˝˗̞ВՂѓփҕمۇه܏ݐޑծߒztRNS@fbKGDH pHYs  tIME  IIDAT8c``eeadP {jU7nݹɳ`(>ec3c'$7L;6vqQ@g,?υ@]HhrYS`(P8dcʌ3 ق3$?wP@'0 }ƶf@WTP"b(@#@UlT[h q * _@vi@Tm Y%'---.&QZ4`*=ZzTS/-4. ?U- II..N^SSVX^Q%6TQ0Q - a* 11iNFPo8RQU2U3#׬-ghm8PRZWCbPɢvu\Kkڒ֖:P-am-4knIENDB`xfe-1.42/icons/xfe-theme/tar_32x32.png0000644000175100017510000000231111444154372014301 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/wave_32x32.png0000644000175100017510000000063311444154372014462 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  5DtEXtCommentCreated with The GIMPd%nIDATxV; 5c1tȑ20tȱ8VHҴQ{-DfW{mMG\;, LfW{'USD$$'x HV؏;?QsS}lc'A![~j'!P 0$^bIV\X|~|*Z a|Jx+A:!X ߜbR5WH $6$搠z@敀+s7aey}U$mmIENDB`xfe-1.42/icons/xfe-theme/shell.png0000644000175100017510000000107311444154372013765 00000000000000PNG  IHDR PLTE}nrn$$8<7FJKV[VvҌ*6.vzuΚfbNƞ/24NFOMQJpmq޶3*3ƾBFBjnjUUU?<=]e_cbb"$#b^b~.6.*.*vrffhg&&wuyBBD(&( zv969"ZVbՒUltRNS@fbKGDH pHYs  ~tIME(+bIDATx]R@ VWj9,+E-* EVWUdHgǾԝhH&-gWaa#q%ޑ4B∡Q9hg<{ 1@L>6FFeH#Z RLW4_lLJդ٬3mL-0"ʹtjmGw->n`YPGqgZ>rnUT k~q 'c IENDB`xfe-1.42/icons/xfe-theme/minifolderclosed.png0000644000175100017510000000065511444154372016205 00000000000000PNG  IHDR/\bKGD pHYs  ~tIME Ew:IDATxNA%Z#VF[Xja Vx1썝$Y#!$c3P0+916q(pd nrtzC\!/<_/oT%kŒU࿿q{uh4[MV*jԟx|J :?v|!;"R4p {5VykCk rRzQM0V%@*:ƽt&qL,F,dAkm+*$3 3ј *k:&lp< JR7¼lIENDB`xfe-1.42/icons/xfe-theme/selall.png0000644000175100017510000000032011444154372014124 00000000000000PNG  IHDRb PLTE䜙tRNS@fbKGD LIDATxc`0CPPP PL2 `0#Ktq&@ fc@8 ʛ=tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/xbm_32x32.png0000644000175100017510000000116311444154372014305 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  6:t$ztEXtCommentCreated with The GIMPd%nIDATx喯s@?0$"DEEd劊H䉊+@T HDEde D DE3J`)^L&o~n ap GhRoZcC7L .?̟s&GuuyʹO<)e!N&*Đ>>cwͲU1]}ަe[@TN-Qa@9,[WΗc^9(W^G)cv8 f0|Rʜd@P ; 6F pAhUK13V_3`}S7ts;Bku>~"$fvZk߀d"?Q/V]p2 \%yTCiw9u9ud-+⨃HpLEZ.pwA˅:sJ`0w VhIENDB`xfe-1.42/icons/xfe-theme/news_32x32.png0000644000175100017510000000036611444154372014477 00000000000000PNG  IHDR g PLTEN8IDATxc`E]XB&00 8.``e L``p`a @RBU0,((hZhZjP4t)H(RT2XEMVAE⢁jXBMC!" Cb(**,"($"huL%g{$s`5<1IENDB`xfe-1.42/icons/xfe-theme/vsd_16x16.png0000644000175100017510000000042611444154372014320 00000000000000PNG  IHDRabKGD pHYs+tIME 1tEXtCommentCreated with The GIMPd%nzIDAT8ՓA ʳXP<9\hBv GBِᔒq$MU +ȍ1BUqd7֔s̊hZ?2BkJ<489TuViVIENDB`xfe-1.42/icons/xfe-theme/details.png0000644000175100017510000000025411444154372014303 00000000000000PNG  IHDRb PLTEM tRNS@fbKGDf |dIDATxc`+V@X@a9ňdhqdtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/bigfilter.png0000644000175100017510000000145512572314014014623 00000000000000PNG  IHDR D>PLTETSTWWWXWXWXXXXXYYZYZYZZ[[[[[\[\\[\\^^^_^_^^____```bbbcccceeefffjjjkklmmnonoooqqqqrrssssuuuuuvyyyzz{{{}}}~~}~d tRNS@fbKGDH pHYs  tIME  OhIDAT8iWP`D,2hEMmL%D?i>?;\rYENKb2h824E.}^78Nv\ (\ m^Jb $CT]-QV&` ̃|q>~_R* q 4c1çfr!vC8uoxlVbFC,E ߗ; F\HKI.̐8x]!hw`Behۼir%E禇97, gYECi1Ϫ!eM=/ByXS? vZ!r^)A@xp1c_WkGZIENDB`xfe-1.42/icons/xfe-theme/so_32x32.png0000644000175100017510000000065611444154372014146 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME # gLtEXtCommentCreated with The GIMPd%nIDATx; !ʱ20tȑ:X%H% /XL4A_T2n1MY7޴E*#c@$!:$tH^ے}[:D->܄gTWpq)hhhƘo0bGQ`q@H@?=T yavnLj^Ӎ:Lsb RctRi B]{{eK@NJ.IȵscJԚK,Vs<,q0ʸ+Ӻ IENDB`xfe-1.42/icons/xfe-theme/search.png0000644000175100017510000000034511444154372014124 00000000000000PNG  IHDRRPLTEаx|x4tRNS@fbKGDoKIDATxc` `VAAP#(& eƦ0a g*jg h H p`Rc>*tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/a_16x16.png0000644000175100017510000000055411444154372013746 00000000000000PNG  IHDRabKGD pHYs  ~tIME iItEXtCommentCreated with The GIMPd%nIDATxڕ10 E_ >V=cFHtд| E~6MHC3"iLӴBM7.9'Wp%IHwχm}Uk;!I?PcV仰hRH){!K)jޓJw6BUA}'AO7rLP9oXs .)AD]lFML`pKONh~Xv\zYr^yJoO@^wS?IwRuc|eqyldwks}|}sՄxƎ}yēÃ{ǂȜ|Й~ҟz؇˘‘ɍ˞ƢơÛ˖ƥӞ̜ȠȒΣáǩٮϴѦƙϤʣǫϜԟϮƯٸΝӡӠгŦԛٳɵ֧Ѥ֬԰̢ؤԩӪسͧ١иϬ֭׫۵߱հڳױ߸شܿݰ޶޳ݷ׺ܺܮزڻ۷߾޶޶޾>:tRNS@fbKGDH pHYs+tIME  tEXtCommentCreated with The GIMPd%ndIDAT8c` ?zSz ) LEQpIݻw_:#+8$ϒ<͝\@V뗡fƿ{ɳ':ʪXٝ *Ss {vα.KCS 4;=:ɄP7 RnܿwNd;7deO߿w 6AI*H(şo܊˂*2mڸq歴Dx |W-GV0gߞ"&mϪh ^<{JWлMq>QL|ūƑ7ofRPW` ǣ~tdz?{z@PxyX6LGS`@fWMMMNV( :=)kr={`ڶ`!^oܸf/;3#%H XXݸj ;Gk% H ެ-_jʊS!)xx>k/_8+0v) ϸ[0D n0nql 0|M Tb:3:QL`LrB4p$#?@ʜ̔ -nRR{0_vAIENDB`xfe-1.42/icons/xfe-theme/bigexec.png0000644000175100017510000000336711444154372014274 00000000000000PNG  IHDR szzbKGD pHYs  tIME IDATX՗Mhg>!. F?.č+&*(.RZmqbBk\q. Z QMԤL:sיW.sx//^8޽͛7s߁PѣG6\x\J)e6X,=H$eMMڵk\J0;;(%ݻwb=zjnܸÇyc w׮]83-"6l`jj\.GTv;Y"@id2 dbb4q;w2<<,q9|tuu ޽]I$qt]X,b&/^B(B>'322먪{5{l&͒dtmc6t4<)%Bi( r6BK&r1x>&''m0uRm BRJJRbYOFTUT*qe\E5k~[Jqhmm2ZJ˲LNNFrlTBQLDP,Y|9T> z{{D<MMM\~=ZUU,Yٳg+Ӈ***v󂳑HEQB{-bʕ+D,ZZZD4.]*4Mc||\˩SD"ضDB4BSSStuuaF}@d2)4X,8JP," ^qyy:;;R*A8իW@L4RJj<q]H$B{{;a,(\ $7o|h4JUUǏ' 144$B<4N8ɓSseQ*r>|u_ۧo۶V\#6wV|rmۢ5#RJɤ#GiZ[n:qR뺟w[TUŲ,*++1 +S1W^u~2'$b*cbb@?i0 (rm#s0MP(Ǿ)߿_w럕FIENDB`xfe-1.42/icons/xfe-theme/xfi.png0000644000175100017510000000331311444154372013443 00000000000000PNG  IHDR00` PLTE     /"% !! $$$8#' '%()A'(&*9.1#/D/.1./-!0O1U%1F/3?35275969:; 796+;V9:8?n=;>*=c;=;?@==F8?F>@=BCA?B??H7AM)Cm@B?/DdABJBDA:EP.EvCEBFDGDFC!J K5Hn>HT1Iu"M|FHE-KJHK5J|CKR2MrFMTNMEMNLRR#HPWOPN9SyMQSRPTQVLSZAUvKVb+[#^;YCWVXUTX[/]FZ{=[A['aJ^BbI`U`lX`g^`]U`xQa}a_cAeVdvZeqQfNgWfdenDjFiLhNjhfidik_jvbjqmn+hjgPlgkndls\nSnnlpRqrs/Xqko}npmUt_spro_vitjuTxsurdwZxhw}|1]{R}X|l{sze}}{cz:zgjup}xqt}F~wÁ} ȦSʖġԙȏέZŝ̠ϡѤԲѲgӾiո}ތ4~(tRNS@fbKGDH pHYs  tIME $0GIDATHwp QqoDE "!J $ӎC B%DrSefp!}nf"E+7/ne(@>>>^@6V(Q4IAAa߷ `$SV׆Pnny|)6C^#Akp:Pus F3GFh4ci#Sd ݦ 5S Fw,ŧ[N=ņ~iTvΈ 7r^p$fMc6_`D+ 7xa陈Th/NO K[=]թgA#W.w3%Uv K D`ţj J ׇ`W06AOHOvvTmL5?#=# ї]TL ;2ur-iNO [0-0D`Z|%َg,C@Lw\ujFzn"" Zbrh褠+0h1J6n1r\hTy~qۡK~ٯvZ "c8$AxALmĩuQzGh2y.Hb)6g sabX$-luϬY,hA34ͺpX'ˠې <Ͳs-Z®i^MeQMKgVUqyjI ݈yx֎ЩA]ܜƏ,ǙY4xѠy fk__ުVb7bcΒ7+p~ΰ?lIENDB`xfe-1.42/icons/xfe-theme/z_32x32.png0000644000175100017510000000231111444154372013764 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/minifolderlocked.png0000644000175100017510000000071211444154372016167 00000000000000PNG  IHDR,nPLTE*nZvrr΢vïTD2bVJ^ʺ~RJfffzZ.֮|NRZΘR҆6ɇe7ܵhtȒײ溂ٍ7ԪpŸ~V.bj䖦ĮܦVVbeatRNS@fbKGD9@IDATxe0FQ\qAX7\`13dfDV)Ra}KMGoI$99n VpG}~'UkIENDB`xfe-1.42/icons/xfe-theme/drw_16x16.png0000644000175100017510000000035311444154372014317 00000000000000PNG  IHDRRsRGBPLTE@B@tRNS@fbKGDH pHYs  tIME 4BIDATc```` A K Pi..i( L& AqIENDB`xfe-1.42/icons/xfe-theme/html_32x32.png0000644000175100017510000000120311444154372014456 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  rfutEXtCommentCreated with The GIMPd%nIDATxV1r0\2zy*PqOpT0$v&Bt6C$%)`S:s] W8U*\Ma#dO4K7+}-hb":iiȱ'xJQE*OjCӀ9D:àъ'$f KLwL ,ZqW*x#:fee$m`D8Z7Ꮸ>Jd:',-7 ϋì.IENDB`xfe-1.42/icons/xfe-theme/ppt_16x16.png0000644000175100017510000000051611444154372014327 00000000000000PNG  IHDRabKGD pHYs+tIME 8:<=tEXtCommentCreated with The GIMPd%nIDAT8˝RA s} VwLQ(PZLDd!H.dU ʽ$̈́!D`&-J8| P-T=I&Pb].zEzA%tg9L,RJ1{0³ \zR=BxF ;hbIENDB`xfe-1.42/icons/xfe-theme/minifolderopen.png0000644000175100017510000000041411444154372015666 00000000000000PNG  IHDR,n3PLTE9;@NNOQVabbb w!$+-/59tRNS@fbKGD ,zIDATxU iRlFv9","x/\ Fz] !l%Ӕ |E!=ĈYEďuJa Wsڪ@? Q#4YIENDB`xfe-1.42/icons/xfe-theme/syncpanels.png0000644000175100017510000000033011444154372015030 00000000000000PNG  IHDRRsRGBPLTE?JtRNS@f pHYs  ~tIME *?IDATc`J`cETCCDCC@ cQcd1Tphp.CEd(a;ZIENDB`xfe-1.42/icons/xfe-theme/tbz2_32x32.png0000644000175100017510000000231111444154372014374 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/sxd_32x32.png0000644000175100017510000000177511444154372014326 00000000000000PNG  IHDR szzbKGD pHYs+tIMEb*tEXtCommentCreated with The GIMPd%naIDATXí-tHHK]e]"#{ȺFq|8p G.fE KaNǽ3wp%6 ri|>ڶm} TT+s)N=L&\#;,˲PJyC9ԛͦm)%bsJ54,K-JzT#$7"V~8J)1^RJ\׽vh84&8d2u]Lsx|k(H)%q7Yp] bV+o?gBp?`f" !J[8y#њ@Jm{ӭ:iAE.kif!"0#swy,N3xqz&a(t%:A^n6_ivR2n+q&~RiR۶u$7R~R]8*Bqã \)⡆uak^__`:.dyzs@Eii QWK僾ysO (>?Q*#˳f{FR] 4y=ߚ@\.^?=Zl,m?Ux4 b%U{yQyUШtalf2[՞m@#BeYaXuӨ߿eew`Uu*V!dY x=&t/Kлݮ 0{XϺoIENDB`xfe-1.42/icons/xfe-theme/sound_16x16.png0000644000175100017510000000056211444154372014655 00000000000000PNG  IHDRabKGD pHYs  ~tIME  ( x+ tEXtCommentCreated with The GIMPd%nIDATxڝQ DK\FăޏY(tf(I$b]1)%$`;,#fth-7wT{U _Y 0 y˚% ତ(Ȭg\)k۶Ƹ| 0F~^5sz<{$ߧ1, Hu]؁=,uҀx;tuX/)$&zIENDB`xfe-1.42/icons/xfe-theme/find_again.png0000644000175100017510000000040611444154372014734 00000000000000PNG  IHDRlPLTEЀx|xtRNS@fbKGDafIDATxc`(0(/!,CAr ell3qq1, EC ,P N< At(/(&L- 7EJtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/minisocket.png0000644000175100017510000000032111444154372015016 00000000000000PNG  IHDRRPLTE3~$tRNS@fbKGDhQ:IDATxc`X#fT ))8BPX DP*5Q@.mDi^tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/bignewfile.png0000644000175100017510000001122412572255171014772 00000000000000PNG  IHDR D5zTXtRaw profile type exifxڥWkz )H #^߷7o=L2dJ ]?X,ZqeƎJI17єP뵖}~./=X(ѵ@lD(rۼbU_MbAa/GNE i3sT-z(xjg{k=<]]x&Ï f$IK%S9ϳ#ݏx}dĀ[o(~];ʳLD1ŇǗ˼k-Zxc|[kԵemSCQ gX zn]!E9-.yb̝i Ÿi*!V~;;YSʃЕ |ﵶ omcD70BUyM`P@횢 V:D'L'(/œ{@{@A,p&*@V:ñ $ 3`i Al]Y_툌`B n +gxBC.IQb%ihփ&*ZTTsZZ%D`1Df53{qtw44n)ܤ6k!ҵn4ǣ uIRy,Sg6}QXKVYOv7X5>Ld )h|F q&07gRμۜEcx06)A10',܅C/~[y06u?`7>dmcnPcwʥ+a9"%qɃ,,8Mn8cs =c|w1`Z#N#G?;icy>^! ľI su[ԅn?(b[6%_DYIJr Ēq!CVC u`aڠ(w۔DsZk(r!<=qxB,9>6iLPls0x@p>j *6+we7tI{,qA언xK',/lx-MI_8w+ d ۤ6LhrlN.`>Z+.7J y),}¼)İ?: =kaip=2汤kdUdZ$FavUNvRS͑f΁ajGxnluV zXaz+OhBإKD϶9D5DCeq+iBz^t*zNP˜6 XbL(jm&QjGF@-ko]ŠJ-g[QE7V1Ũb& j,Ŷ8x,4~ʩh+P].ܴ#-EM,]{6x;vKn;ZOa͑ 1mt2 t0n`oڡ4nUv< t #( & _S8qbg(<р«:t&z>eruD8Ԁm*t d]q#o3d1 mip$u`FZݎH|پ*wM̂ex}褍w %C,HyA OyAac TZJh Z?-w~Y,|7?,k@{@p{"p k'pT>"#'#"~if;_(PR$cazTXtRaw profile type iptcx=I @ 3#$q:$u/-?2d[dxh 򇵕:NƄCa郊+;*2);" jiTXtXML:com.adobe.xmp @HPLTE#x|xRtRNS@fbKGDH pHYs  ~tIME .1tEXtCommentCreated with The GIMPd%nxIDAT8б EQ(8BDXkO1)"L1:j4*Pwu9%NH!yZ b{eN 6'p%N^ӟ-qYi6WW$IENDB`xfe-1.42/icons/xfe-theme/newlink.png0000644000175100017510000000066611444154372014334 00000000000000PNG  IHDR(-SsRGBPLTE """***...222666>>>BBBFFFRRRZZZjjjnnnvvvzzzttRNS@fbKGDH pHYs  tIME  bIDATM0 ZQ@=gLKO)^GX 11j9DB䬝= :r1.”5,7H-?UL 䆥y Ic0>#VQݳDCm/x| AjIENDB`xfe-1.42/icons/xfe-theme/archadd.png0000644000175100017510000000131111444154372014237 00000000000000PNG  IHDRa~ePLTEx{6  FP7<#>x) ue!6l])b1OJ\vWc2e# ^\љÉK`e8yg3It% l&00parg#QPkURT]&z2jxUa:cc"OY [dWs)Kt#NVzJXd!"QUxpM}C%V:fiKvsϔtRNS@fbKGDH pHYs  tIME 1AIDATm0 y#beAʖL( ڴ$嶜Ζbb4l -W3kO!ࣸO`dR>#C!HtiQL$@8`6uJ;#}cSۂ¹TI;CC"b30  z {b5 2x28׈nl Q kzYDlQ>IENDB`xfe-1.42/icons/xfe-theme/bigharddisk.png0000644000175100017510000000151611444154372015133 00000000000000PNG  IHDR DnPLTEMMMSSSTTTQQQKKKIIICCCOOOLLL999777JJJҾ222,,,AAAé:::===VVV펎...0005566111͖;;;///^^^UUU\\\ooo666}}}rrrgggcdchih***ada121qqqppp555444---uuuRRR/tRNS@fbKGDH pHYs  ~tIME  7YIDATxgS0EQ\-"P'(NEM^8OZO;_]KrK?6{005RMgsFnye@GgWwO/ԃn_t FGF=H,Hi|T'Oqd c6quNr:5j,I2|RQRn +|7)ICV^Z> "o ;bz{~>Q .y|jjYeMU5:FN\rŅaƥAzFC;TtB(Kj ϖLzR/)lZD ^'-3bKMϭIENDB`xfe-1.42/icons/xfe-theme/bigfloppy.png0000644000175100017510000000235011444154372014650 00000000000000PNG  IHDR szzbKGD pHYs  tIME  EuIDATxkI?3H1?&BPAћQgœ 19O"N1bLWWWua݌ ,K]}߯{[~^q!9Z|? ö%:B py,..2;;1 @)wwwi6AVXkPJe}}}\v$I܋/DW,!Bx1c,ˈ$IRb>0 C,#2XkQJ(HӔ87_]9,˨V>|cOɲSN$OY\9)RC###R /Ԯ8ehhM*{8!:7I^ju 7066!$I<+ ===;$ isΑ)9֞;#)JI !Q4M ]kZKի.IJR!ĝ BR2RB -+T*qȑBz<+WСC(.ܺuOLLW^ѣGlnnDQ{ن9 !|kQJaa``}gvv=~sxb?g1uZK$y;N>ľ콫&2n߾Νcqq]B>~S׿Q#B0ӌW`B6 (`~~rؾzp1˗/1j<~o j5VVV A?::T'Vމrw`Ü;Xk͓'O4M}!FO~CR7n(wHaɋs:vwRPTkU@)6=~J0 Rr !Rz=ô枺m|h6hݻw4 ,,,pMsZwQۨl6NJ%4 Μ9===l5s<)jq4-rm*sssm>}֚'Oz`zwٳgy_[A\x1v(9IENDB`xfe-1.42/icons/xfe-theme/filter.png0000644000175100017510000000077112572315136014147 00000000000000PNG  IHDR(-SPLTE)**33699<<:<@@CCCCLLOVVW\[[[[_^^````aaadcedddfdfeeefffggihhiiiillommmrrrrrsrrtqssrssxxzXtRNS@fbKGDH pHYsBpBpn_mtIME  9IDATc` l-MEX5l}|=\dxٙAj,}eؘ!L|8Y`yzɋsH LVqDKщ[rCw~=7M}7u]7!T7>UT/,L(YM&IENDB`xfe-1.42/icons/xfe-theme/xcf_32x32.png0000644000175100017510000000070111444154372014274 00000000000000PNG  IHDR szzbKGD pHYs  tIME =*NIDATXV10 5(,2Gb=Gʀե] rRU%=h/6sR2;,(ah/}թ߫S5=|>7 !):azr|n %ޛ@sS[Bm8"kСur;7 0>y~:*GFoXRb*x4u@z+zzG"'@M_Q7(6 @/ ǐQ$7@W|? Z$*@3WAmnD JۈڕLj2qW~Sm(}Kg z#IENDB`xfe-1.42/icons/xfe-theme/config_16x16.png0000644000175100017510000000054211444154372014770 00000000000000PNG  IHDRabKGD pHYs  ~tIME   tEXtCommentCreated with The GIMPd%nIDATxڝ!0EL DDrYYDĊPMS]'^6 %"=yMLn`O>td"PG.MSEq6ƌGA~x_Q."0yd}'4-BAY:E;VϠP!š6O47U5x |IENDB`xfe-1.42/icons/xfe-theme/reload.png0000644000175100017510000000030411444154372014120 00000000000000PNG  IHDR:tRNS["bKGDG5FIDATxmO[ ܲY&Z`D JeZ=~LŲZq+/:햤vcΕUj,!tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/config_32x32.png0000644000175100017510000000071111444154372014762 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  ;tEXtCommentCreated with The GIMPd%n-IDATxWK }MYp,5YR9R $@IB(ZB1I,??@\'V\e_;::138E&XyF% @T׍1@KQZi+3ۥ l@vEY]&):6JOV^@%,w>܆Z>>3c}pHDcXPU>wʧzQ R`H6Lu",> ÞH{0sAut~b-D1`pC:$LMd(VeIENDB`xfe-1.42/icons/xfe-theme/minikeybindings.png0000644000175100017510000000037311444154372016043 00000000000000PNG  IHDRRsRGBPLTE ^9tRNS@fbKGDH pHYs  tIME33.XIDAT-0CsNP2LP3  r\6[[k&[N Fp 綢lKoY󲀞EE\eV> 6|IENDB`xfe-1.42/icons/xfe-theme/rar_32x32.png0000644000175100017510000000231111444154372014277 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/ppt_32x32.png0000644000175100017510000000054311444154372014323 00000000000000PNG  IHDR TgPLTEG>tRNS@fbKGDH pHYs+tIME  ftEXtCommentCreated with The GIMPd%nIDAT(Ͻ ES297R{:G qҪǾ-@t6s0dOU`zF")I }5X\"b !5fqUlNœzȤcq|4s =xV-gF_1\+weldIENDB`xfe-1.42/icons/xfe-theme/bmp_16x16.png0000644000175100017510000000045711444154372014306 00000000000000PNG  IHDR(-S?PLTE!( 0$@0 H< P<(@B@`H0X0`@dHhPhHx|xhKtRNS@fbKGDH pHYs  tIME ;iIDATu E( +So ݬVES@VVTuGAQ8֮+]IjƂ =hASЌsfgfF(Z)#[q.FWIENDB`xfe-1.42/icons/xfe-theme/gotobig.png0000644000175100017510000000103711444154372014310 00000000000000PNG  IHDR DPLTE     #!#wzwxzxz{zt{}ׄ}(tRNS@fbKGDH pHYs  tIME  86etEXtCommentCreated with GIMPWIDAT8˥{0D"וTTj:[q?eHJ!0j"2#L䫂,zsrmB N`4YIW৹J'~G*;d, - .S;2P;Fir 2'd^P_B$rDF ԄbR; |#U9_l-bⱻ?Zx7.͌焇|AwFfe=( z{Ngȣbf &` [XV (ɮ&D+ Y 쥂[7Bv[wBEϱTJ~G+k+C|bYɒ|MIENDB`xfe-1.42/icons/xfe-theme/unmaphost.png0000644000175100017510000000022311444154372014670 00000000000000PNG  IHDRb PLTEmtRNS@fbKGDf |d+IDATxc`@   j5 BX!JY\0Y@u R`IENDB`xfe-1.42/icons/xfe-theme/wrapoff.png0000644000175100017510000000027511444154372014325 00000000000000PNG  IHDRb PLTEvlll}CfUtRNS@fbKGDH pHYs  tIME  FB*IDATc a ܪU[  #PJ`d'vsIENDB`xfe-1.42/icons/xfe-theme/gif_32x32.png0000644000175100017510000000115411444154372014264 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  ̭ttEXtCommentCreated with The GIMPd%nIDATxV-s@}0+?"2""?Q@TF NT ***H~y3TiC0ٙL.{/Bb̳BOjIRLz1"J㦮 dWO:e4F$6g+.*aՁGCr#/M\z DI1ȣtW'ӻJRZ5k9Ed֜]քeJ<$@6rvY*E@X P.H[-@yX4!8ONzo[u|(Ak4j7{.3 ʈ[4ʱMy"sf>2TY rnX`kZa 4*?yuOM[Ws t #(+T('݈rk*Fd˯ZU1-Rލ@O~7?.WaÕIENDB`xfe-1.42/icons/xfe-theme/deb_32x32.png0000644000175100017510000000042711444154372014253 00000000000000PNG  IHDR TgPLTELPSHqtRNS@fbKGDH pHYs  tIME-CIDAT(ύ[ Eqb~הO"@9^"b}Gqd+VDS%:$W-"G;Zp~V@rB?*VŽRv?` Ĥ ' ױ_doleIENDB`xfe-1.42/icons/xfe-theme/fliplr.png0000644000175100017510000000033311444154372014144 00000000000000PNG  IHDRRPLTE  <<<>>>tRNS@fbKGDH pHYs  ~tIME 9 \R6IDATxc` 8;A4g̙@@bB \Q 8@!3gIENDB`xfe-1.42/icons/xfe-theme/bigsocket.png0000644000175100017510000000043711444154372014633 00000000000000PNG  IHDR Tg!PLTEX tRNS@fbKGD hVvIDATxڭб 0 @6SQbXXDBH!_/,on8J`r+/jhTLBELE4.-vG~@|M@yV2n tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/bignfsdriveumt.png0000644000175100017510000000076511444154372015715 00000000000000PNG  IHDR szz pHYs  tIME*CIDATxU0\nH>dde>ȓH䓕Hdd?ODF\v&Cxd;</F VU o& ᐔ'g%߹zsNN޶}a9cƘ#ħ&Aʲ\_ >ʲ\I1Z T`ԏeKY +(p>b'+T06;([*)Wqꋈs>h&kQsjuY|M 6炈eW;!)0}`{ s뺛/Dh%rA5[NĂ͞7SC~[s~wjGW TrP{OM,w'OIENDB`xfe-1.42/icons/xfe-theme/core_16x16.png0000644000175100017510000000050611444154372014453 00000000000000PNG  IHDRabKGD pHYs  ~tIME  4e(tEXtCommentCreated with The GIMPd%nIDATxڵ 0^)JR( yR#AN,$˳{^8޿&ÈWÒ&xܚK"Nt]$p{omifs&[]$#L_̐4'/wXufrhpt%/@H!\^I&'stGOA|IENDB`xfe-1.42/icons/xfe-theme/delete_big.png0000644000175100017510000000064611444154372014746 00000000000000PNG  IHDR TgsRGB0PLTEUUU"""DDD333fffwww33f:\tRNS@fbKGDH pHYs  tIME /ʢIDAT(c`??YCC LUTNE0s,:R DnZ* H6ڽims"u"|<\lllv@l\ 1-#55)6Ǘ$D;0(44<<2L"+/8* D죽<}|ܜ]<  9 .ݪ&sB_1;"ծ:3 ,r8"2 &n-e11 g&#dh4Q0%ALJa1jʁ㠥!ؖX"{> |wַwo_k/ V+#G 77k֬RDgg'>}K.Qj%---Ç$ p8LȮ]oS>w1::|˗c||Xv-  ;p׽|jmmE0D?ưsNX,&&G% $ YYY0L&L&Ɠ'OeEQ8#ફݜp8eY!"!Jt`2PPPgl.@"j%۶mCII rrr8s'[l`70B V޽@,ב8m[Vt:]_ Blp:طor99{,8P_jDq%$Xz5v;qʕO"A-*@"ÇRp8с; a.IENDB`xfe-1.42/icons/xfe-theme/epub_16x16.png0000644000175100017510000001125712430674303014460 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWY& gYB b9UAݾoH6V@sVIbϮ` |Γw}EnD'8t~<<$*7QEfUkgAU#U#'}7Y~9mwF3npƗ. s8Μ7v_06)|F荵k$d?Oeq+>hԩ˕=Dpy/㴯Kb6Ym3I:4Q t92kJ ..qnXUo mo5 3A2_ ͹Bʍr+abn1 TLw_)n ÆY`śgƼ`')uUw1nO6ds8 )ܱw P9qkoID$J5 > ~P  !ĐJc1jTI| )$TK(ID2s2YrΥ` fR]k*5>ͷbKMZncOKϽ Gq!#2kaƙ<͚1=k-AҥV9 30<XiqfwřIX~ n}˛ xs39S~ {m3vpajy ՒiEe c_!=ֵ@>P@T%qhuI@)s|M F< 䩎(\3ul~Vyx,Ed5-[ˊM.я[t0 Gg1̀=Bz{(U^~xF- ݩz \9G gSǤ1r#;IanB(ԅ?ۙډsE(HW)U{cj =_J`$l׼Ӷ@Tul Wo, H)`0> jiTXtXML:com.adobe.xmp @SPLTESSSKnKoLp Mq Nq Nr Qu Ru RvSvVyWzX{[~\^n&p(q)s+w/BDEFHIprɇʈˉ̊ۥ۪ݳJ $tRNS@fbKGDH pHYs  tIME  '_CIDATc```D`ӵֵ s20Z;yxyyDL3 ycZ<" `GePG c |n*DK c4Rh>X GK3WN1OU%P[ OE*%bhb"d3X<^I4,`.$awvJqq7ױV5%~ IENDB`xfe-1.42/icons/xfe-theme/gz_32x32.png0000644000175100017510000000231111444154372014133 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/midi_16x16.png0000644000175100017510000000054111444154372014444 00000000000000PNG  IHDRabKGD pHYs  ~tIME  +s tEXtCommentCreated with The GIMPd%nIDATxڽS;0 }2t> !GzR44)CdEy >P$!"q{㫪T5<4\EOaxhbMdg$q4M(VZ*[ˠ,bQU>9UqUUj19vuۥ0ow1`IENDB`xfe-1.42/icons/xfe-theme/maphost.png0000644000175100017510000000033411444154372014330 00000000000000PNG  IHDRRPLTEϽk@tRNS@fbKGDoBIDATxc`P:@p!C(C(Y@ T#d*ddA v9P CJʗtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/xfe-theme/bigfolderopen.png0000644000175100017510000000066711444154372015505 00000000000000PNG  IHDR$s?La6PLTEy###EIWJN^r~w¢Ϊִr&tRNS@fbKGDH pHYs  ~tIME #__IDAT8˭ۖ EX86 Rp zp۶v4Yq2Zrz rB n5C*q"j0"'P !Cy(o 'Q:C)֯;1J@Y{Iy(yP%0tI+dy;@% O&F_GVD#:Ox5O"r9Ȱu,EXY7~+7hKM8i}&g+3-+>yq_Z^n+׍+mw^,O)~#mIENDB`xfe-1.42/icons/xfe-theme/ace_32x32.png0000644000175100017510000000231111444154372014243 00000000000000PNG  IHDR DPLTE~zz2FrjvҦ2.nJR6r.*N`Z"6&*zV2J*b:*fvr~ޞN‚FFnzB**vffb;ZF^v.>^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/info_16x16.png0000644000175100017510000000065611444154372014464 00000000000000PNG  IHDRabKGD pHYs  ~tIME  Uv.tEXtCommentCreated with The GIMPd%nIDATxڥ!r0?:9GxDVF 8GX8D"ODtBCaؐـO`E)~"p$Y?>m.Ex@J)1EwHK B^IZE}V&IENDB`xfe-1.42/icons/xfe-theme/bigfileopen.png0000644000175100017510000000756512572311021015142 00000000000000PNG  IHDR Tg`zTXtRaw profile type exifxW[#) ) 17o *m{UD509f }rw-v˽Bv6'F<܆ /cJ{]7?NDZ 9 wˋAƙ6ͯeX@`Gg[n 巂h˵{D6"}yHIu`7Fcl=7ule<ހC?7bMUYT%4k鬇"D˝Zfʢ E^=8F& |Ƣ4Uih1_^z&= !)'V%0'_h=6n;_uCn2QrL Vж@hGkU`Z~2"g}9n1ƃkxQZ@3Puȟ`#r(;,9 .7z^jT&!ĐB&袏!ƘbN JK>J13fXsb-J,k7poZl;RǞzȵanFi䓵=k͚0f^X8Är30V Y8SQ[œpP8k 9M c`vn蓻_1GB`Wޞޫu Se zIlKGR8OCjjjvWG;F3-(Sk.ݶ< 40HkVmw Үtc@zt/`>\-} evXjwZf8*b˜A3H_a]f_8ROJ߁qz`"2lBEmG4;LmvGkр>Ggo66E{u`7ik2Q"G|ݐGj\;IyT+{$"WFݥ79MK+W>g㐼+Rg8a4(}z[A0Dfwj}Ƹvc'zԣe0nx F;N Sh=ByQ׫Q^GDJ~~::M0t;IsC|_K/3!Ahm~;`zTXtRaw profile type iptcx=I @ 3#8wk(_D-?vOPBS *Qq0:YR?YY ,W{1v jiTXtXML:com.adobe.xmp @PLTEet--^tRNS@fbKGDH pHYs  tIME  ,S IDAT(ϝ `pgF[br ΍x7e vQ*LATI;Z=:FA*k:pUwηžKB`AA@A@@`a@@@g\`;iwFs+kN>ET0!܋1C0!fjiڢNTcXJvm;% $i2_-CGڑZ}Jq1\]R{Ҭݱ1B 5F+ Zi6k{ã/֊68X417x~τGKV>j0+Y--zY BcHdv/1/խoQܫHuDιZ;׈~¶tIENDB`xfe-1.42/icons/xfe-theme/zoom100.png0000644000175100017510000000130511444154372014061 00000000000000PNG  IHDR(-SePLTE  --,,-/,/4///-02.3834444417<8:;:::6;@=<<<>@>????BCBBCCCCEFEFFCGLIIIJKKILNLLLMMNOOOMQVQRTRSUVVWSW\WY[YZ\]]][_dccbcccdccjiiuuuky$tRNS@f pHYs u u-xutIME (޻>tEXtCommentCreated with The GIMPd%nIDATxc`S#=C0v -CSs ,X!|ĈR Uu K̳se\dA V|ޅ)Z^~"rvfvZJڊ&NNNJ~^^^bFb&&"6nRFHnlFrv...^ZgZ.ڒB."F.bF*fb"vV26&bpNdfRrBr>bf*b >Rr*ZVJ B^:*zPrtb&ΊJf6B2^R~JN6nN~R^6^^j"nBb6.ft>jvrfޖr*~RVƶ6nVVv56fj62bfs*R.#fwBBB^j²2 rfzRvvr2fv"RY22jrNv2ږF6NR..6fsVe}bBnxzV.6:jjfjvR.&tRNS@fbKGDH pHYs  tIME -\IDAT8c`(\ԕY˼uk96ah$r}ѬK0 Նykܹn6T)=`pqΝ;ۖBmhڀr,Lt!XA^;d#r f%RȀeu,HB\0pBDx.\clDAL.+P#`XV "V@d+n@ Vb/м $ozԛ|!MQlxM_`j6͛ pgA7`o# +mD".A"ݻeݚ' \\ڶ;+ v]h(u>|JsS/NR@!Q'@$wxŪ}7q(.&\Du6.ncIENDB`xfe-1.42/icons/xfe-theme/switchpanels.png0000644000175100017510000000034111444154372015357 00000000000000PNG  IHDRRsRGBPLTE?JtRNS@fbKGDH pHYs  ~tIME ]R;IDATc`J`cETCCDCCP&`F1MPDj`T\\D\\M`Fj IENDB`xfe-1.42/icons/xfe-theme/gotodir.png0000644000175100017510000000042412205374312014316 00000000000000PNG  IHDR9"!PLTE >>>tRNS@fbKGDH pHYs  tIME >ElIDAT-!@ [r|3pwjpAJ콒mèv) 6!fqɬ ڮI-92aͪ*jWW؉~t8%a)mIENDB`xfe-1.42/icons/xfe-theme/bak_32x32.png0000644000175100017510000000056311444154372014257 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME /ߦ~tEXtCommentCreated with The GIMPd%nIDATxA 0EօQ#e".<1nHcf>h HEx׃F,m_Mx% [L(#!r& Lș>!TJ% i"HXg ?^ LqvU[[ k~XOuCb@ 1 Ā8@*.QdnphG;IENDB`xfe-1.42/icons/xfe-theme/make_32x32.png0000644000175100017510000000137211444154372014436 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  -JtEXtCommentCreated with The GIMPd%n^IDATx햟wPǿ3`B(  `P( B` 00B0P  .9]H'۟N.I&s{{{xEr"e{}ޛ`H.  /Ĩ ] &c%Wܣ{1 @]#<߮^DCne }Q!sП 8'_OFx"8P5ZDQ?z)/q 5 "}(GF灦8׌$Ihj k3tRەQ[yy,/Q_ՐFZmCPJZ i"|8Ufa"LX̌x09s3}LUC)y;v8Í*Zkze=pxx|є9v+˲UgQ-n Ac 1tcw)6&t{4NY Y 9˲M|m}lueY^1<σsTW Q,qqY vl?y'|6V=so@Yoh7IENDB`xfe-1.42/icons/xfe-theme/filerestore.png0000644000175100017510000000125111444154372015177 00000000000000PNG  IHDR(-SsRGB_PLTE """$$$$$<''')))***+++///333666777888998:::<<<===>>>???CCCDDDHHHIIIJJJKKKMMMPPPSSSTTTWWWXXY\\\[[i]]]^^^___gggiihjjikkkllkppnqqqrrrtttxxw{{{|||ދtRNS@fbKGDH pHYs  tIME )lCp:IDATc`ebF:rV0}aII+K"T@=(;Н*`騦 5/6QScC9LU  kYـd]--=T< NaAl-|ҲJ0Cä8}_Qr -)s bN@KCCu!yzHIENDB`xfe-1.42/icons/xfe-theme/savefile.png0000644000175100017510000000032011444154372014446 00000000000000PNG  IHDRRPLTEwהVtRNS@fbKGDH pHYs  tIME  e 7IDATc`FA0``T0P2% @ yB a(VR@\S7IENDB`xfe-1.42/icons/xfe-theme/help_32x32.png0000644000175100017510000000101211444154372014440 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  &,UtEXtCommentCreated with The GIMPd%nnIDATxŗ1 EOq 6XL&P[ ЍbQ*O n2zVx ~G t'\#KГ! g0ngkB= 7EO(aa/BFx^*1c2<hݞ~yȨ%E6;q)*Lr9|f Nm)!InFdY)<90g8""  ѩ4B$b*D O[ 'Hf hW F o5 hK6U!A/( <3{ $O2"=^jxIENDB`xfe-1.42/icons/xfe-theme/bignewlink.png0000644000175100017510000001405612572257510015015 00000000000000PNG  IHDR D izTXtRaw profile type exifxڭkv*3ypZw=\]mAڒ?O$'B^>+ -?1ޗy=;@I<|֩Bύlgq\<Ӌ;mgO{:z1b"Dc;)؈?_s_~%vWP+?=^݉ЫEcO7vyZ^w=e"ԛ+猉`y,- |ߊ9|kw:'&B XB w(.Vo;M_Y=3g1Fq+ F=0YS9=_›r\q_^bV<8Gɕu/,@[0F'eJ{XcyHP6Ęۛg?s{i$:*%9RJcNYr%FK*Rr)Vz5UZk0ijkw6,y3Fiȣ:4eYfmv ׬iզ}VZ*k;e]vmwT? s!μå-MN0<CB>`fW $Pb7@0-dw>)nN~39A߸}Zݛ; -W{;+S+#sR!PC[v[[u|ܘ~Num,gӱ:}7ǥ}:61-lXkreO"c>F26qW,-#5-cq}ܴa2{Ѻ͐ Mmn+w#su/ seCyb![OGF L+$lmk*<]fLJ܁"5 #̒X~Z<.UCl1 }H$@oxDk#Yؤ22[3Lw5, V+3NXxy׸̎m;qd:~;*E)"C@Pk 8#0r0)(ky28%JbVEjfY -uL( EՂ%(I#Ks}!h}UR[_G /R Ɍ>S>'Ȟ, 7_EH#lLVl G`J q+7I\@;MG ЂI'V%.C^o$r$l}\,ھ,Աkud"i >B3oGEIt2?_R~S= ä,UitufӝV* /ex(3&0{)N;mFdsGY.;$?3I=;RJƅ9DaUyZk&ZҺPDjek eL*]]TEF*8UYvE"~ĝpj6I2Etq#&&ͷ;Uy~y9ԮEMf %Q6:7B y:X>lѓw胂`],F+S1noS6vN+k+j5lcm#ZWG z4sPJ.*8OzOta@F[5.kdpYwg Dեd Na`m{$qkOlO-bFQm(Pk0I,ESh/2~Ad1^7aݶ}߆u(' 61aY~6u0߻AKeiE4 ktڊk%ཡIĨ? L@эdHZ=uȊ:o+Xձ^;V{;GWHM7-bfwt(IaKOX Zopw&%K坖94'Nk[t]Y#rxJY+b4Rw]=z=7 =!>5:Zph1䖯rZQ/1Iwwq[Bo!$$=oHKv W֬1RIZi<ȷQHv=َKqF_4ߵy${?os7"}ޑvhSѵ[,'9EeD^c6y}o40nD7AOuTSc>/M]=:,ĴQazTXtRaw profile type iptcx=I 0 g FH6|ªl{=%F`GFk?1' IO*S|.eS*/1]t jiTXtXML:com.adobe.xmp @PLTE000333555888:::<<<===>>>???AAABBBCCCDDDEEEFFFGGGHHHKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\^^^```aaaeeefffggghhhiiijjjkkkmmmoooqqqtttuuuvvvwwwxxxzzz{{{|||}}}ڗܥ#tRNS@fbKGDH pHYs  ~tIME  I0IDAT8c``d _K0`yp+``L尿`:BR" yR˒%+ -YW;q%K/Y2y%+&`VV=d (2#~~+H~ͣkz,D] fc1 I<2)B d}4%:uɒj@ v)AeuMKh v۲m,V If5,Y?aTaĂM)f:uk̮E˽}$Ai: 0T0{/W2Ԕ0Tp*:.he`)vӺDm [  ϙ3i,}t2ukDʦVRuM^)mȨU:7_Ǥ$MJe0\*Qnmg]a nHɤR5t< ^* Š)`P+˵c.Tlr:Nή0-ÒKxy $[>M+/7,pϯ=*̒Y 8T'3@U jPIENDB`xfe-1.42/icons/xfe-theme/xpm_32x32.png0000644000175100017510000000125511444154372014325 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME "d tEXtCommentCreated with The GIMPd%nIDATxݖr@?: D@@90G5L+CfZ!~~>R_z7Ono7kDM}nA .*V,kAiDp9/q~ TGt^=4Qp'JPW߇ުqG]Y>Ww"^յ%u'JQvh8;}~wS~Xg yUIENDB`xfe-1.42/icons/xfe-theme/jpeg_32x32.png0000644000175100017510000000125111444154372014442 00000000000000PNG  IHDR szzbKGD pHYs  ~tIME  EAtEXtCommentCreated with The GIMPd%n IDATxV!p0<( (0,x```(PP@2]gt:Ot=x&@R6_8Z\VE@e Yȟ@g1@o_#Ŷ#|` **Z!a) Q!Xu5sYD:[O(0|Px}-Q9 B2D!ͯ A)'Ʞ(p^-u]\@'m>U' ;U|es-m,{ZxMݕ NQJէ?Dߟbr0C_7cj@L;ߺ~tnلyw䦻SN|CCq""ӪO!;sv8X{IqN0mR`ˠ;mR`C3x]ߌ_x]q \u!BԄq \ջY;:Ȃw~sV'i~YW?IENDB`xfe-1.42/icons/xfe-theme/bignewfolder.png0000644000175100017510000002412712572255106015332 00000000000000PNG  IHDR$s?La zTXtRaw profile type exifxڭivݸvcf8h 2|,^^kٺHTy;C1]x) tgχN({6_[۽.z~ϱ/xwhu :7z|x ϱ3_ Jg( ]sn~dE_sV=g?Oc&Rټe!'N$G12_~5*8ز|;k[>do_MJԗ;eB%W{v7]qw /_O7__wN\ƊyyP/gwޘeG d00W 1p8/hwBĽq Ll8G+S r搛2ɩ^>0r$Bjhc~JPO!ERʩZ9SιdaT/ĒJ.Jƚjjo ,܊i;7 ݹsFÏ0H#2hOgƙfef_~EYuշ۔Ҏ;ˮ~N35rT]ybʏ ӣ36!in R)$1K 5wOCΈ+QCα8{ }轝 ź"4ZaK.+c nIנE"{{(.c3ļC˷7ӵo}P= e f ODݞ:.됱9Ʌ7%L42fS:50,31F.AՈOl+o}sItjciزN0'qEUM@r<mCz(UTxFTv&Zj5,ʾB‘Т~/yhB|Ea^* G Ң3 =S& Y-ƹ@ Y;,ZuI-iUiUcW0曯~quC~)b0٬ 6DUf dC>F(Ҳ nV#9["S8{r!Ig"Ae>GR?zPG!j.alAM%eQ)iW$2t" ލ3Z@遥7lROkܩXBK#@6?ܑ#GS^ ,JR547i& vג3֝@ aq rJ0#8}jj`PsJRx#szMgJx1?X½"Z3mB#xnh#xa5Yo:1׬iIkEz?` !Q! tK  $ oÀ&=hH)1 "6p`MrCY2@xmNϡ%fH,)HpZګ&Wu46BeҤL2AXW* R];xz5a@!)S1ԁ((CpmXD{:]2Gd` ~1UBCH D@bD/vG͗HNg;8y bJ-!9͹݉$ _ϥct1tGzL`0fJ@#Ը3DSR}σ#"*8քz 2"h2$E!ؘ,:fvJpH@pd֣#k d :(&aERK1?w2O`#Y(-:Ƣi% z  A?BՑ̕nl (Y1)6!n0JCC!hт$4J>siH;(e`V2Ոj5}"2ʢGS:U,7d{VY ԧv:l 2ajXA³/|EE7XQ.f4.L?^Mhpzv8CѣɳQ_oJ]R((a  = Q>@Tͧ>"i߉ګP{shI3c3T\Q"%m(c|PPZ h k n;uy%t^EuWܳSHGd@4 d!H /uNk$d\F>_s\{)(S ow$FBK%1gQw,߯ '`,}eHK5PGIFOlE)8:LTLFtr9DQOb~<});s#OOHN5g:eye!T&SԸ~Ϗ6UgRx9Z(RNZZ*L/zDyo ĒBuD lOprpՎϨL16P7v0ךPAn0<EiꭥHs9tцv'r21@`m DwҚ3"M sJ`ϢK!7elA/oG%KHpka7(Ϻn4f@h^[hE؍XHLsOr/-\ZCpLaK1`I֦ޚN'x(pm %&^6x=Ui{Sm>a;ϼH!nH-mS,m`|WI" GEKK<KEH4MÅTvfA^Sژ'At&QF-%@ Y+ Jlk+n1 4whm|$/@~ͨ EZ$^#k /a|TQd̔ƼSE@)RmtH ͊] $R ڄ ZmSJ`yf O*bNOn^/"QJ0&??hK,`UVq am,\jyK~:.tk52&#itCb-d1GxE.Qq4鱧^Kz7``2֩4=0APjQ[]uh(zib lb/߰3/Zi4x6wza%Sr`k#i9Ji爢G!{$b_иcq ^xjщc($ /FUlzW^(e'Fcg ZКLr F-AT*ajr 6ZJtK# /.||#Kf+ϲA ,P^`dF[*adu\ KBCkZj ՞۴ sܬ!  aQY0Qj8QS?lInr>G:m:x`jW.7G;+&)e&k7Sׂ ݑ\a) TRR6V` ';{,ؐ$)!ڒA1oH˯w!{O@JiV١w0 P'6U mg] L^ED5B*|RyCk9:Zq v`0l2. FSTmꫨ4Mk9hZRah l Tg_-|zj9'1LU}\i(L!IO $Ψ $0АAj剐%Q/$*Tf#SB/69Lv9k `ҷј29-xP  XvZ[/LLtm~ . xHwojd9,МtwSEF ﰶ8uB94JfmAh~vmz~_ %Gi75X9Hȍӡ8Կ.|,DŽY,Z\pPd TcFD2DI A:ӳi19-_.thEjH"wQmLYvmxn[oԬwk( }̾顟aT`.O*@ɕ@x*3V m )p/;Gz(M%VѻK[7ȗ9u`e 9D(@bÊ+1(#@Ipg`C*9 eq#7 <{p{F(O]p ӌzgZhhzY0mb6:Mh-!ݸE34Ct:xs{ 4'=ק)eeD2LAn( JBaaj/Ф$Z2<5av:`-rS"X&r](p^a0싒FQJpyotXTK53zo\# ̯rqJ[+T4`uf*BHrcQ~",Eb.\lk-ʵ]?Jhj-CI]/W~v)~U c_x׶ck^Fȩ'C}g0'9= k:ZDيLʙ/3Z8ΆJ%TMJ5GLq2E^ Iz| R!hx~VuHtkծ@D$NW> ELmB`!K{}B'hg"5^@mCtL#wԒJHƩ'R;zΫGQbdSp iD撷WMax($T'w!E=*S 6A&?HPyUEE"|UlG^B>-&WvT~=ƥ4(MGۓzyBabN@ ^ԒjE{ab?£CUӵr Vk&W$ʏv2O(s,_r%^AGZ\AeJ-7[}:4ؿ$kN#XOt#sN?xVk"]y7("a7Ek1&3/oɷΝ0ʺp@%g1Dt zZ QȨ%.07n]һ7$sd1fPƟ*J6t޺^KTPv~"MV7{L=#HZ^-5 ,Ky`ϗ;X 5y/ R~"H_cs?V#-wIZ`#yeGa[ˎu7]K\zOE8AFn r5@u2-B;g(Z@K]N&πy^Na@J e糜r^.D/|6~c,` @y7qG/`ޫslVyyE d{K>1زGvAE ZFPwN\=-ZDDb<7:U΅+UF9bMyC- n r%#6ʳiۆS^3ϣT.X9wʂetWC|DžHa@ אIXpMEEwm=TK Vb?ºD(e-- AyBrs?/K}D7ydwϏ27=cnQ9^'dNm_&e)f䵞nxMCL`0/ v+3ͿUϮ);rʿbEy$:nR"" r}^2R~/ jiTXtXML:com.adobe.xmp @oPLTE"""r~Ƣ̦ѩխٱ޵#mtRNS@fbKGDH pHYs  ~tIME -:E#eIDAT8ˍn0N6!%3vf}R7`2Diu ?NwYJΆ&%#Kn˾դ=I;! f5q!`o<=CUS< 9&5w,;f{ćj' Hyu ./BXk  ؔT{ LPu@-rÇnmCmno+!]ϔO.%6`L_ >܆LsbRP|~/f _}^F+rIENDB`xfe-1.42/icons/xfe-theme/sxi_16x16.png0000644000175100017510000000057511444154372014334 00000000000000PNG  IHDRabKGD pHYs+tIME5X IDAT8˕1r0E<.HG5\_%Ǡ\:ҥJCR+jwZ\.( i6OO}߳OUUm&u cL1i1 ðHZ\,q&NrᝃϲL.fZ8[rkG`Miʲ/W=qD$՜^w} 3:η9<0 "cG.'[z|ms.e0\_mݟ}sDIENDB`xfe-1.42/icons/xfe-theme/attrib.png0000644000175100017510000000032212577740363014150 00000000000000PNG  IHDRb PLTEn6tRNS@fbKGDH pHYs  tIME !(R-'?IDATc`` b``AH׿b{CyyiC_`۵ $+tIENDB`xfe-1.42/icons/xfe-theme/m_32x32.png0000644000175100017510000000063011444154372013751 00000000000000PNG  IHDR szz pHYs  ~tIME <tEXtCommentCreated with The GIMPd%nIDATX՗1 EѡX[x@AAa(Qg QC*cI%7VlyZZ|c%!zFdRa xԃ@=b&!HA) @쬎(jOC_c^J+lN+Q{"$ ` QVvhFN`OL*N>C 7" Q>z IDb5e%X5Rq>,RDŽ|#rޝ tw.rotCNZIENDB`xfe-1.42/icons/xfe-theme/moveit.png0000644000175100017510000000026711444154372014165 00000000000000PNG  IHDRRPLTE+mtRNS@fbKGDhQIIDATxc`.,,@b2E cP"@PpaAԢ2\ajALJ@4 &OY IENDB`xfe-1.42/icons/xfe-theme/odt_16x16.png0000644000175100017510000000155311444154372014314 00000000000000PNG  IHDRabKGD pHYs+tIME3tEXtCommentCreated with The GIMPd%nIDAT8uOQw:ҙ-RB}DE8,LxF+taBMHܺ&hta FB0ƺPԄE1R߼ز 팍L0DUWzvuu122B_La>NYN~?\ahmmŲ,D_,&BQtΝۄaRg ˲!:  TU1 S_D]jnfb3d.˩c(B!P(D&|^ž孵Du\֋E 5o&Z';*lr n5xZ?R)^M|§H)9Vw, ຜ8RC* 1>N `#r8M2zyBוd @2mFIl#Μ'\WmV0HSP(,r@_TM !/޿gzv?~ aL_ 8OaO'a\" 2::1AEE9RYJM8?Fc<M/w6/t)d-IENDB`xfe-1.42/icons/xfe-theme/minibrokenlink.png0000644000175100017510000000116411444154372015672 00000000000000PNG  IHDRabKGD pHYs  tIME:9tuIDAT8ˍj*QC*ȲD*XX,b Vi`RY؇b )RX8ucrsI73$!" TU>??SDHyJv'<jahDUeerZ8)"TUf!Ǭj̲ ("RUYa/@.`5>J )qLUxG1x|| Zַr @ELӔjEIAdBU"ftJUf1񘯯|yy)|9|6DFr0 i1k-my <(=~OXy8l6"π`d2~/*=-~~Ap$Ie[0yz\.,}yu];|Ws;$1C8K*jbyl.qIENDB`xfe-1.42/icons/xfe-theme/ods_32x32.png0000644000175100017510000000554011444154372014307 00000000000000PNG  IHDR szzbKGD pHYs+tIMEZl+tEXtCommentCreated with The GIMPd%n IDATXÍy^yg_<رbb;$7M`U:VP"MS%iJZ:KK9LC[H 63[㎇W::}}=JkE ;d8=ɓ2$/Rgkg".}MNҙS줷BB(xt^Ry[~=Ǐe˒B3r-;߾[oşt`[rYFGe}kȈ̈HR/LMK }SFFDDV%\.wi ߸AYO s*y'%={d7JXj>,/<(Ϝ)8JEv?{aO9 n/}ߺvVXUkג$KX(Cr- cO>ϵK,_4%y]|>edM6ѣ 1x v? ôi.۷oapttuaG6u]lpc+{)r4}[Fu)Je =y:W^32un׸QJ)Ӷm\exx J)$so⽳Ԧ3OqH?}^{4u֯G d4- ^;~; 8Y48;Nkq?-I^}]GtEaw^^ymƺu24CwE+#T*vʼn'k֬CrǗoV7t۷Ofggڗk669u/Q9uℼv-̳e.;vwޖm۶M8 ""̏e 0J(ӓR,dllLvw9}o_=ϏHHȮ|_?/qK$rDZq,""QJ^/=E0֬]˚k=q]KGXʲ+@bx%> RZkFgfzXlw9Y04 8@6f&\BzAhCKI JPbm4ІE As9RjӦO{vIOSLPq/04L ӴL657 c![(pddOo:O5M!l6xנ^4 ̴̄,0gnuba"ϻQGiD"L3sK J%sQ{pNs#=== lmDn˔eqe)XU~u ^ D1]:Fu,7J A1cCB[%V|>O\̦m'V&Ȥl"D.~3 j]ϖ_/=ᅰ w_67ռjx 7^?m;v$v> [ R mMzCul Z@e5|% &eQ@TL$t ZRa`T|s #H&`ĭ)EYAޙ0bd"R̈́N#}(6 a*S>B8ВfVE<*FF$Hb,c|LoUza(tAk9K˘n40Bj!eu$}[ٺ0!$ou½?l껇7,$c-iu._`k%3,0P%1UG5l*F5\+ Av5ߡ;,0[SĴS,\ ;>0@`h25=iLiR? ^ % 3!hgZB uZvF˶H.eE(S#5k(DBG6VLu2^r7 &V`4Q #l0(pK)WΒQ)ai`tCC1'97u(HغT~PXȥp19Rn"`B@w/ \hPҔMԚ"eY QD!a/[) Vx8o͸K$n;LVٿhI~?FR%r; }͟qFa$a>J)bDID=I M Q.Zt]߹nM/L:;rGbsU\Rr|#w=V05T~˶yܹ$ mT*AZyGO1W%v1~A4sqr 2ԋK,"C &"ϣT:]w0 NӧIENDB`xfe-1.42/icons/xfe-theme/doc_16x16.png0000644000175100017510000000055711444154372014276 00000000000000PNG  IHDRabKGD pHYs+tIME e#tEXtCommentCreated with The GIMPd%nIDAT8˕R0}Y kX͌1?I[] HXXH"afw|(>6D$O1;$'4DdEIB!1&U"y(0heF/p((˿B0B1'QB~I*"@Ӫqse+1p *WOpxnDYܾg6$afzQg;+;&hD\IENDB`xfe-1.42/icons/xfe-theme/odf_16x16.png0000644000175100017510000000130311444154372014267 00000000000000PNG  IHDRabKGD pHYs+tIME5,ntEXtCommentCreated with The GIMPd%n'IDAT8u-p@?g N|T00a 4lY ]&2Xi 䟤>r3{{o [Ql~|UDIc ł<'S<&YN)WWWXkUUQPd3$P:l[Dk-m۲Zm >Ӗ].^ !X,fBYCli(Cz^ODivE0]UñZ0WL(=ݎ#jÆ̽ ? _oQ$Qfu&B ,ZKQ3s*ZQ sk)}E0\.r4eg"4!`rB8FQUz=& 1F́@x9hB@TRg"r<[YumyXkpfFӶЃI>y:o1s,G'VMiB C8 91F4FP,+,I!8~m?q=IENDB`xfe-1.42/icons/kde-theme/0000755000175100017510000000000012746115270012210 500000000000000xfe-1.42/icons/kde-theme/java_32x32.png0000644000175100017510000000314411444154372014422 00000000000000PNG  IHDR DsRGBPLTER. '$42;A9;,$?#># 9*5-#H+S.C4'X3 C>=`:QA4\H0iH*\K=sInL(\bcgTA~S%eg΂W/}Y4i!luaH#mdec'oghflgf7n+qikh-sjlikmj0ulnkym\mol3wnpmsomlO5xԙk<8z֎oL;|~th<~uwtK~֢sCB؄|vF~}UہcX݃{Rኈ\ቋU䌎aᏑocd䚒g瘚|릨𰲮¾¾ÿ°ŲǴξr%tRNS@fbKGDH pHYs  tIME alIDAT8˅ip aZ[2,j݊:ꨖcZH|IQaU6L1J(iEﮰM̎7I}Y/T՘QQ(+\ R__SWEE'*HPPV?ciò% "chƄ'3S%`x`@DŽ,ÒxZs{|For<7@Bj 'p tpJWSCH:V[h(0$';A|JkGެC>#wb5ͳ~WԦv9tIENDB`xfe-1.42/icons/kde-theme/mp3_32x32.png0000644000175100017510000000215211444154372014176 00000000000000PNG  IHDR DsRGBPLTE )$1$1$ )()( 1(1( /(/1, 1,)10)000101949989===AۮFطɫ\Z$E lDE0;êi24u?\> TW{PӶ]DdNuϔ`9#;N)!FHa:?u=QvE_ t&s+TȜRidB)?eOcꠣc;4{f\tgpPQC,~hm~sH'2@ ^P8y(\/^P/\P[ 5-&K!)jZ%Uߋ^y"IENDB`xfe-1.42/icons/kde-theme/minipipe.png0000644000175100017510000000122611444154372014451 00000000000000PNG  IHDR(-SsRGB\PLTE4  &]%-***0 2))2K(66QQ888Z<>dFFjGGpMMmNNrOOtOOvR UUzWW{XX{XX}ZZ{ZZR[``bbccfdggg hiWmllllrrssuuV}{{||}}y-\Ϗ Zd휜k±²Ü*ؽןa%nRAtRNS@fbKGDH pHYs  tIME ;5IDATc`KI#dŋ$obƎ&?T H uӳ<\ x`Y9ᾙy>&:`k\xrAN`BqaZ>H)%/] $ jmj*-n ֣,',(ǡb,1UZ^BDACj'+g@1,z $IENDB`xfe-1.42/icons/kde-theme/odf_32x32.png0000644000175100017510000000212511444154372014247 00000000000000PNG  IHDR DsRGBPLTE  """###$$$%%%&&&'''((()))***+++---...111777>>>???@@@AAADDDFFFGGGHHHMMMNNNRRRSSSTTTVVVXXXYYYZZZ[[[\\\]]]^^^___```bbbccceeefffgggiiijjjlllmmmnnnoooppprrrsssuuuwwwyyy{{{}}}~~~k)tRNS@fbKGDH pHYs  tIME 8R"KIDAT8ˍ WQp6h!BR[̨lD24 lRPA!FF!0ϜYͽ9di76[i% 2qG i 瀥k0b/`oSgSI>~—O/ώtKrv=lj%IK B,ƯME`2gԜula3j!i**ouC>>,G 0E~۠Z/ 08Ż{<`~1?#OIPZ@HC1 x (-V$)"esʽ/Ac  F2=r<R\OrTcCIN"8^S Ԡc2-G( <%<"y<^spvsvtu͋+HaEu] A˕Eӓ řhnv~ ~M|)IENDB`xfe-1.42/icons/kde-theme/shared_16x16.png0000644000175100017510000000136311444154372014754 00000000000000PNG  IHDR(-SsRGBPLTEq-&%˼) HݺA%$00MQ8fO0;t_EzO҄͘[э,pYcژ֓՜y޸ګռڅ۰ 0tRNS@fbKGDH pHYs  tIME 8w~IDATc`D m)qQnFrm 憚 ?o@[mCUUNf2DW%/>,b)oa(䴬/PW  DHVډ{BUմv5sL dpi*xeRmąDm"!f䗖Yq8H . (P Mխ1 >(hdP%e=f?gAi wEixxFjyyIkJlLmSsRy._}jjlpnLφЎؚ̕՚ԇߤڏItRNS@fbKGDH pHYs  tIME -[Y-IDATc`C bZHPA̱4=)6*44<=MA̹=Lݸ=" bco x) H47&@LUd]m*!zYe%]U |?ZDEYQ^jDA_U'(39>jm}J\dT&) (`h./L cWeEE99IA2DUIENDB`xfe-1.42/icons/kde-theme/ps_16x16.png0000644000175100017510000000117211444154372014126 00000000000000PNG  IHDR(-SsRGB PLTE UUU((77CCyyyzzz{{{``/XtRNS@fbKGDH pHYs  tIME%A@IDATcG lL pq5TWTVUR GZx;GA"\|M|=V2^v8{9Yi13W@u|ldXF=&22*66U,fꨭP HH S?<>LV0(e& >ׁ09IENDB`xfe-1.42/icons/kde-theme/tex_16x16.png0000644000175100017510000000134111444154372014302 00000000000000PNG  IHDR(-SsRGBPLTEaZ\cde!i$l2n/t=v:{EzIzDPSN\YfЏkclvjsv||}ށ֐̨Ѡћܝט❷ޟݛܨ٩اڸοܺub5tRNS@fbKGDH pHYs  tIME+\.YIDATcE ZR‚|ܜ, 䘐_wWG[4TW ʲʋ "<uBN`9+u@SfC P3x7@MgIENDB`xfe-1.42/icons/kde-theme/Makefile.in0000644000175100017510000003765112634035433014207 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/kde-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/kde-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/kde-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/kde-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/kde-theme/miniexec.png0000644000175100017510000000142211444154372014436 00000000000000PNG  IHDR(-SsRGBPLTEQA F%` (Y )c/0^10a327w78:>>D}GEzD*EdFGMKHJL"PVRWS\YXXc+`f)b)c6enk'hm+l8jq!r5rwyz#w5u=v}3y2{2|-~J+E#0:LN LMoVMiki2JeBS D)fda| V((t2Rfzvxqg}Emy;P@@ѡTWǤmb[d/7M:y "H1)ZIENDB`xfe-1.42/icons/kde-theme/xls_32x32.png0000644000175100017510000000055611444154372014313 00000000000000PNG  IHDR TgPLTEtRNS@fbKGDH pHYs+tIME  'ntEXtCommentCreated with The GIMPd%nIDAT(ϕ 0 DX`基d@ ץi)*;)0p3;-x4>BI9 g" C0 *eY舨TP"APbg:}EVJ _1 mq2B; +c 6~a%t| ojg7IENDB`xfe-1.42/icons/kde-theme/bigcompare.png0000644000175100017510000001344712425634752014764 00000000000000PNG  IHDR D TzTXtRaw profile type exifxڭYr:D^°^~)pYa@JȬw|)&J.d5V8)Zg9?}s+І2㾼=}7y)// :I/ kSZ|?k%c&S+T5J`!q9s'q3{}m c!}}ױ;z?#6=9v{ϲVb"R܋z,ёpK|2y>ʧAЧ 0:.nv_>z?|8JȾqmcPj[ŝqo;^x|u|/[)-X1/d n11xc@PN l_޸΁~b] c 䂸l>;G 4fCl !N:6dwzm @CVr,pIhD$I"UZ )&I)r1KN9kn%XK)k@¤M-ӍuC]z깗^{g!#<ʨM?$g2l-⒕V^e6\a-;ˮ=QQ}E}@Ϩ5E,~ 5nxS9 |t 3[\^Sl$xPsL`\vOސ#nFp!g9} ԦֽqPcjFؠ8Y3 \5n ^kKn+nd׶9_NL=.y谥&=2KoM?5F;}T"h2lm5:Jsw^3d,[-h+l|5PymM=PQRZXzlj3  &PC$OazJ& t3-lAo,gּ]f.j[ WcqEtecXZt O^~"I9r^sM.I0XnK|Z86EeT"噵 $'IڬhAw̓#H״H crwLM/jk lԧ0&cji f5kiP^چ%=`9=|v33IM4W}&!XS`DWs`SptXT8-*HiqW Ȥ1f7@mh% Q$v>Ltg`ndz8T$%SN8v+C2BܮCUA s_:x1ꪥy:<ל~7@cVX;d Oe+xJa|3 *0mnR:6-zNOiNyZPB`[#H5Cauv+MRUh+D۩9!CM6UZfRoMκG֟kʤz7)Gr[>?!%cё n7ÉIkBzRVΐ( i0cBOSۄ^P-zgXk?h͏L>6w]cYAvD燜Bu_J`˒keИNW(O GJa9e0Gwn jiTXtXML:com.adobe.xmp @PLTE8)@1C5TGVI[O_SaUlancrg{,գtRNS@fbKGDH pHYs  tIME *?cIDAT8˭V@ΥΒVdYfe"8H#4( qǷ ŸQ2yTy@&aC.{#4 gĔQk 09w1|#wӸR]VQljjYynՆjGVV'kZW瀬'`2 wYY1L,FL\WT ^@?ݸ$}0$OccN-o[[E=90I'Q~6O#Jq oP̧Bni}y; }ZD+sLGVdE +?{IENDB`xfe-1.42/icons/kde-theme/file_16x16.png0000644000175100017510000000076711444154372014434 00000000000000PNG  IHDR(-SsRGBPLTEXXXgggbdkty~RptRNS@fbKGDH pHYs  tIME# [IDAT] aڋ= 3WH2,_Mw]̙A/'pvPp=z\g @e_r~ԠD!U ΒXХap $02}E3qSIENDB`xfe-1.42/icons/kde-theme/tar_16x16.png0000644000175100017510000000141211444154372014267 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/zoomin.png0000644000175100017510000000122211444154372014146 00000000000000PNG  IHDR(-SsRGBPPLTEzM'MT'aYk\AZbLb-no}hptn,q}~~JՐ-א,ؑ+ߚ3rEѦZ׮cѱnұmڶmôĹɻʾ˽̾Ϳοwz{gEXtRNS@fbKGDH pHYs  tIME !sIDATc```7f@uSKk 8_;]ʗ6H  Șdd%GA\B33!619in{Ԭ|[-)Yybp{e"2}D%`**" |B0HS YCU I +#; 6~ IENDB`xfe-1.42/icons/kde-theme/hidehidden.png0000644000175100017510000000033711444154372014726 00000000000000PNG  IHDR[AtsRGB PLTE7tRNS@fbKGDH pHYs  d_tIMEG?IDATc`u```j `U ?ܪuWvJe@"w*kh9yB2IENDB`xfe-1.42/icons/kde-theme/bz2_16x16.png0000644000175100017510000000141211444154372014176 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/gz_16x16.png0000644000175100017510000000141211444154372014121 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/sxw_32x32.png0000644000175100017510000000105611444154372014322 00000000000000PNG  IHDR DTPLTE)))11111BBBJJJRRRZZZcccsssΏF6tRNS@fbKGDH pHYs+tIME  GdQtEXtCommentCreated with The GIMPd%n*IDAT8}Q E Ty *B>_AOg89&M2K"VG o,03r.?),HD.r4KYK93B~%@걅VE /ACD  `acM"x a2XgMT>}ޓ !x~nZLa IozeJt''0SiW=$ֆs2cWCwk"H `=`̝xsm Z>}>G7ӇɜIENDB`xfe-1.42/icons/kde-theme/bigattrib.png0000644000175100017510000001563212577743217014626 00000000000000PNG  IHDR D zTXtRaw profile type exifxݘY$ Dy 8\t_iLf wg~ReZZ)r7??5|ߟ~5=~S߉/>&L6 ߉R|ٵm?J20;5gDIRS6y/IܹϷ?%OO?P~;QZ/rsV=g?빐M}lF0>Vx)z_We/ -DyB+p¾&!渣rqwIcNTY.UnPYyOro^c \W$ C~sTn~} r\`bHtqN'>;{N@X[&$R%xQC |:ǔ WplR*S3Q3 BTkY͕$;)RI/"-Q]f-Zi*T[l VV[khgӝ;zq2tFSf:lҢWYV]m6]Z;#=?Q{QrZxQ3OPcXc`t"@\  :f!gi YC>BOqs#! rΠ{ߠLEB˩Ob{[Wo}=dggi:c$d 5暑qu9[NZaZ.r܇>Fd5t3Nt=e9=ϞO/OqfQzfH1J/ќ*c3ꎇbL9>W3&Q[ߥ |,5eyZ/#e>v5 _t0p+ћgȩ4_;BmiUZ$ G(g;) \G8G:FS[/tײ30ih9]#dmvZdpI󘨭.va=kqX>*m$||2_q0$ QͦɪT2xY̷}:s@d R|NLl%vٳm(/{'*]v{ӄ~%DC@Mw{-G 7 )2ұTA$9va,w1JXm⚐%THR O*K Q?qGm6iIѝɈs)j25\虣 69I0/=NҧN+xMC7`Y}0|Б | E :iqű 7A6Nu-Y)@/-HV ܅H*OMԷ8@>-:CP@N`[WNTR=H ?_n' 3:JchZՆIFʰ<<e%TzbeYA\Jhs ȁ9GVibPr`>`Ӛ¥9  vKFvhփFhSzY~p/ LsB=.b G!ԭHy=Hţ D bjJuhͨDNR1^iHrBȢ|'EvcTKN Ѧ!X<8F SٜbQY+$ Q@(%>9wK܊Fdn+)}V[7(]). ^~Pm^HVc') aVoXDzGz Tsx0;wk̒cR:YwhQҔ)@l N9nhШơ6F VbCa&BVf{[Rҩ|,dشNy;WQr(Zh 0΄ZB@ִ"킋~e(_)mRaƜ@j, TQ|Pϩ1'E9PsSqREI*.Ul O4<(k,knQ3D 5Wwh_vEvHL H3=SB|a5 =,@Pji -6u/W X&4Nr0>k@˸sAeűEc98}ҡTHR-:űd,MeCdh#qͿX1³zz]@Yś̳qBr.5&=t'РA& &oQl9pwra;SZPq$&DI$.!4_& ?تũdsBmS\3JJh^$5԰#v&: -z@03]*ݐQma68lh"m挣!(5Xp,BT3e,HrCOqZ<^,!aW~-1@&כP+ yʨ%lZڜ!F ,c9q[q7 }JÌ ~!5qSZaCoW†r"]i#07#tR:.$[Y PpZPhPUmݔpuыv `)6ᠮ {T pH6.W%E?SKDCĘ'2{,Հ en[ $ى3(76zqʽ$wd}œ|Hv vlj< [_u/lD̕X8XԏPXjٿo0Xo@뾣j>! *i/Dxi9E޽гШ-s?޹ S,I)RGL4юT WOdrTԻ:Ň.Ìj1$1ɯ6KouWD)]k azTXtRaw profile type iptcx=I 0 {$GWQ{=eFgȉB)vA)ʾsi&*`/1D jiTXtXML:com.adobe.xmp @PLTEӗ!%%4]>",2CGK?LSa4hw|RX^UmeYqgWviHlk;J\vO`Z]{~kǂ y׃vV4X^ˋ'ؐ ȕ5Փ'ʖ-ڒ)ؖ юEP4UBߜ(ҞEzݟAWե3%ڨ"0\۫8ީOدJ#޲+KٱSAԳYV@x0Vܷ7RD:c޵FFieKXJmtYSgI~{ވiƷxrt`DŽuqu~ȃkkl͉̓qdf_ȖʏЁ|iіՃsԆӆӔzԎه֎ځ՜փhليx݅۟ޔtݔނߡߐݩ|ߜ积벸ɾ5tRNS@fbKGDH pHYs  tIME 93,|,IDAT8c` UU&cdcࡨYU*!+44<=O8Q ܿի|ҥSfܺ~=76->o񓻀9F|Ĥӏ.z}@pAn^@9mi\|ˀ _;k]- %^V;:՞w^ځ,޾K^UIFBuG .+zSvZzD!))9%a3{W]Ə{l߲/]_SSS;.33fU1p r=)]sM0BRZV"<]9ui~+B6! ƻ;c>q_߿@ (2#+ ?|E?~|\\Ç*xŇ`SxUHŋ@u/ nܸ7+ CoQySuFx6|Vu4ZxcwH|P{C}:RzXyN~c{U}[|FH>P5ASaLVh^aE]Vg^QXhtYSyVj]YfZoiwyowf^rmЄk}wke}yЋs҇uy{҇wڎpۂ|zׇ݊{ޏӀՂ~ᇥԐɀ㎦Ћؔ̉ҙ‰ᓫɔ։ݙҏٖٟǘ·眯Ր薳䘴ئȜܣܡי䱸ͪ٧൹əҤϰݸ޼ٱݽҹֿVctRNS@fbKGDH pHYs  ~tIME1YtEXtCommentCreated with The GIMPd%nIDAT8c`@=,,ls2`Օ7|ؒ 1V >O&F<Ǘ_>N`@Ϳ[ =z9QsPҫ?~?_{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/file_32x32.png0000644000175100017510000000152511444154372014421 00000000000000PNG  IHDR DsRGBJPLTEFFFSSShhhrrruuuxxxzzz~~~YZ[[\]`aefjotuyz~"@atRNS@fbKGDH pHYs  tIME :NFwIDAT8}W[0^bڝԈ8kJhݞ9mR|8?;=9>: u20735162 tyuw0p}uyq~vzr|tHlmF)?] (8/mbbd蚦m+C5UtX @eFȠs9' @U${@ʤ9@>r6 X@PA]] npPK7 pGҭ6w]X &U"Wc@QdEQiJ(z|dry #\_aJȤB&3 hox|Ai0@o+aVU[@X9>@1 \N6°@* 9k4IENDB`xfe-1.42/icons/kde-theme/quit.png0000644000175100017510000000163611444154372013626 00000000000000PNG  IHDR(-SsRGBPLTEG  """"##""%%''((&&))******--..//004466663333559966888899EE;;>><<>>FF??AACCCCEECCBBDDDDDDFFHHIIHHNNHHJJJJUUKKKKVVKKPPMMSSXX\\\\OOPPQQ[[``aaddffgg``ddiirrllhhnnqqjjnnppuunnppuuwwoorrrrxxvv~~ۃჃ鉉׎ϓٔѝ㜜ڡؤɪߥެ̱嫫زᰰ쮮۳ݳٷظܸ᷷䷷໻߽绻軻v;tRNS@fbKGDH pHYs  tIME 4E IDATc`E< <~~~A1 V< "ϛ^И* d7m3/(JbM<,#+ceOv gԪȊU |e }-v ^l?WLpr7sxgI+X.gl:exe˕LU:s0KĮWj4]&жXϱje7~명'-ZbV?wn] ȌM!WaIENDB`xfe-1.42/icons/kde-theme/news_16x16.png0000644000175100017510000000120311444154372014453 00000000000000PNG  IHDR(-SsRGB PLTE111KKKRRRSSSVVV[[[^^^eeejjjlllnnnqqqrrrtttvvvxxxyyy{{{|||}}}nżtRNS@fbKGDH pHYs  tIME4ݘIDATe[S@~~,#:IENDB`xfe-1.42/icons/kde-theme/html_16x16.png0000644000175100017510000000140511444154372014447 00000000000000PNG  IHDR(-SsRGBPLTEEW WZcc%l%o)r/s7r'w/w,{:zFPQIPJT\TZd\e]`fgjdhnv}ꨨ혫߁낲꠰sWtRNS@fbKGDH pHYs  tIMEh#IDATcB Rv^B\ @ww_xKsD<0-5>ű,*olafjTPVQPT⑬ 1 [qrY٘%k&yj:m` ̲tB@KQbrXRni u R4 ]]% >Ю3xVE"r/PIENDB`xfe-1.42/icons/kde-theme/ace_16x16.png0000644000175100017510000000141211444154372014231 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/sxm_16x16.png0000644000175100017510000000051211444154372014310 00000000000000PNG  IHDRabKGD pHYs+tIME5:dIDAT8˕0 O!Rrs<  Yl]`0`-&MZ]cQcmۊlhrqUUla9,,'?%bIB$`Kǰ9Xs"Ժskgf@i9k}qJr0fU"!ִ}( CkH*Gڤ%@uk [;<2IENDB`xfe-1.42/icons/kde-theme/clrbook.png0000644000175100017510000000126011444154372014270 00000000000000PNG  IHDRڭsRGBhPLTE8"$ $ % <>))>B/0DFF3(5JN< >+>"?!SC0Z\\YN;_a`dVDfY8kjjikaJpqvhQjH|~wUwg{jvn " p얚ݡ>驰毱) I)2(UT2FM7tRNS@fbKGDH pHYs  tIME 4IDATc`/`@(( Ma`0ᒃ 0YzpHEEbdx3 Ҝ,YVs$;#sx0C[Y #kIIiY_n^^^^NDcB+ŒH8U?!**2**B&d$uהPs Ƀ(%~$02}E3qSIENDB`xfe-1.42/icons/kde-theme/uppercase.png0000644000175100017510000000030411444154372014622 00000000000000PNG  IHDR PLTEY4_tRNS@fbKGDH pHYs  tIME $*'4IDATc` 0200p62082 DF )1$" $u4IENDB`xfe-1.42/icons/kde-theme/c_32x32.png0000644000175100017510000000256011444154372013724 00000000000000PNG  IHDR DsRGBdPLTEcMcMcNdNfRgRgRhSjWkXggghhhiiho]jjjn^lllmmmnnnoonrcooopooqeqqqrrrssstttujuuuulypyq}u|w{|ㅅ䃀䈈卍掎瑑瓓茓萖钛ꓜ뭶󿿿7ȶtRNS@fbKGDH pHYs  tIME&4xIDAT8ˍ``}GXL;dž} cweP5Zi%CS緾I}argϘVP0}癍3:o\WaxW/]8#k{ߣz?]mfM5bؐ:neӢ4xreK͙9yzuiΪM4wnݸv'>g׎[*++7\#_|wo_|* 蚦(2#$@暮*%Ix6 kG#sGʂ>?T![jeN }>YooIENDB`xfe-1.42/icons/kde-theme/minifolder.png0000644000175100017510000000112011444154372014760 00000000000000PNG  IHDR(-SsRGBPLTE    % %-77?@II'K'M(P(RRR)U*X"Y"Y+Z,^%_-a.c/f0j0m0m1m0n1n1p2s3s2t2t'{({(|_}99OOPOkkbm쉽z+NtRNS@fbKGDH pHYs  tIME )c; IDATe S@L-+K+JBC >* Nwwvjw ;z'q۽9KS{Nw"ѢƗ[`DtiAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ일␿ힼ⟽㠾㠿識۬ݿ޵[ݢtRNS@fbKGDH pHYs  tIME*'IDATc`@zfڪbľ ޶F:B|\L 9 ^a!@C-HTj0RDey:3DH08ꪁDYQ2P5Hf+1\ˀDa~"5P)H&3X555:Vܬhz| %`i$}$DxyٵHZAIENDB`xfe-1.42/icons/kde-theme/tex_32x32.png0000644000175100017510000000312611444154372014301 00000000000000PNG  IHDR DsRGBPLTE D8BHIJM NSV[ Yac]c a%d*f*gk9fceb$n1lefdghf)p)qhighjg6pikhkmj/ulnk1wmolsnm6yBz;|:}D|?HLDC|~{MVPI]RYY[W܄uhVZ߄Ujьsdjb␒miorf攖qwisvkxwxwրׂӂרދՎېϊ╭ˉ݋ߕՔ⋳לѐ啶ߣϜܧӿᦾܺݫأϾܬӫ߿ٹ޽ENtRNS@fbKGDH pHYs  tIME !@IDAT8˅yLP:toAoq3¼AEPQAA47x;P@Q22#DDTP sURmYuu7?~{<>\.uHA?:u*E ;;NVfzV>s^ɶ=Κ6i~^ڳ;8zjZj5+1fNoeoߔ=+--z$ 3-hl$ zV#[d2OC|M P^ì=(?$u`- Ba:E 4uãvGhn}]3D9i$V?qB JFw&kl$lvmxcm# \6D_9ab?'#bGZlNHOif?kWyZq+fKpy/v@-!')іv堈0c&,i@cJZ7LgxqU6&F7'/ `JAm/*_J@ I`+ ԟA:M0yǶĸcV @l5/+_IU04@&(aԃqTXo=0): #l@9E/DSd!r&gz Pw1@ K=-{OY|MDmFIENDB`xfe-1.42/icons/kde-theme/filedialog.png0000644000175100017510000000163611444154372014743 00000000000000PNG  IHDR(-SsRGB"PLTE $&*))+1303:<?!@J%GK1HO+O9Q1V8SY/X!\&]7])c;^:b(d'gt|Pݯ|?P(w/\a(w3 ~P!?]] IENDB`xfe-1.42/icons/kde-theme/questionbig.png0000644000175100017510000000224511444154372015172 00000000000000PNG  IHDR DsRGBPLTEadddefgh j#k"k$l&m'n)o/p+q-r4r/s0u2v4v8v6w;w6x8y9z;|=}?~ADFHJNKRMUSRUY[TV]Z[\^cfe]k^_cknecknmhfgmrrrujmq|s}{{x|{|}z|~ꀩ葬䌭舰,tRNS@fbKGDH pHYs  #utIME2'8IDAT8c` HKKKᖕɋbSNNNTSĔW+ չ +/ZzE_G{{ի5P [-޾ۗ-ˋ,6i‰ma}ٞ<_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/core_32x32.png0000644000175100017510000000270111444154372014427 00000000000000PNG  IHDR DsRGBPLTE !!!"""###$$$%%%&&&''')))***+++---...///111222333444445555666999:::;;;<<<===>>>???@@@BBBCCCDDDEEEFFFGGGJJJLLLMMMNNNPPPSSSZZZ]]]```aaaccceeejjjkkkooopppqqqrrrssswwwxxxzzz,nPrhߢ~tݭItRNS@fbKGDH pHYs  tIMEVG`IDAT8}_ qYmIV(LiJ| !B2J %B/3_j%˾`s8gg7Zƭ^׽x`8K)ԍCC& tyEiuIe9ĢQT7*;Q\>x1v~Y#~'n؍Ϟ><:ןa;4囗xoV^,OT5hc rERE*ZALnjaУlmPuPFʮ`){PМQהfg$b`FtzcT(2ӓ˧@4.n00b3%nߺfTt6  uё3Eι@e!x:pUke?/B@5Lf$kõ޾SC"UP%y _$ {a0t HGo Kd )fs_zX"" Xx`!IyFVnJX:wWMq5' &/Fd V݃}Ҩ3`Ϲr0EwilVMڝU|O4mwn2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/bigfolder.png0000644000175100017510000000276711444154372014607 00000000000000PNG  IHDR DsRGBPLTEJ#d,q.*+,553787562<6=B :=9;AHLD$=MJHLIMKO MFO$IUTUO*JTU[a`'\[`a.W-]\!_%cdC`7cm/b;a!g l/k4m9g)oNh9nv0m:p#s-v0u/v%{Os@w(~Yr7{ ~:{>v1zUuJ~+6=g~HsC?`39L7>LFYbFA脌SNZpXTOTQ]PYwjVcazUcZ^bxjyhrekq囹umx쀲줫e厰pwz퀼}ъ΍⼿Ҝ֞إڕݲާ;c{tRNS@fbKGDH pHYs  tIME 6ޠ;fIDAT8c` v R WNp]gYUu ؿzV\"M%Id0}fĝQ&\pقc*K^:2)e֬('U |ͱ߿|\؃kg)OPgvUWQ5_ڃזL(g(xSpګc}-ux8 2}f킩@Qb`ma :X H[Q ~m)XAc(m`oV<{9?9@qLnnL8%i}Yћl٠cWCNk/ˎus}-A ~g_  'IRf[@=?@>@A?ACAEGDFHEJLJLNKNPMPRORTQSTRa\bVWU dWYVg[]Z\^[]_\(e_a^j`b_-g#mcebefdfgeghf)qhig+qikhkmj0ulnkmoloqn5xqsprtq9|;|tvsuwtvxuwyv?xzwK~y{xz|yC{}zD|~{}|GH~VہRኈ[U䋍W匎bc㑓f攖g畗jꗙs柡뫭¾ȵɶyɩtRNS@fbKGDH pHYs  tIME;P݊IDAT8ˍO`b>` #_?3}ų'Lm} gWC=狋>{6 X nݿy깓Nj:Ȉ-6zh``OfiAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{jt聼鍻ꎽ쐿識ת۬ڼ۽ݰ@:StRNS@fbKGDH pHYs  tIME ;IDATc`@zf&ڪbľ F.:B|\L yYI1>nN έ%%@PRV[d͆% P&CR֖Ԩ"e;v ,WdZISc]uIIlq"5،*) Vu5U円9 2 -@~YjjXz iFbtH`h8/7`DHľP_IENDB`xfe-1.42/icons/kde-theme/shell_16x16.png0000644000175100017510000000127611444154372014620 00000000000000PNG  IHDR(-SsRGBbPLTE?  !!"""&&&((())),,,---000111455999=??BBBBCCFJJLKKNNNMPPQQQRRRSSSSVVd\\\]]]aaa%mlll0t:{vvvxxxDO݇Xሊ~꣥ƻfe}tRNS@fbKGDH pHYs  tIMEVi1IDATc0@ N6Zj ܜ o@fRZrRR|lTdpX /|B<a斆@a1u d IqsUYE8ٙ,<,F}aYE%QS7@DLSRS}J @PRRRb` g@:@oAeIENDB`xfe-1.42/icons/kde-theme/home.png0000644000175100017510000000134011444154372013564 00000000000000PNG  IHDR(-SsRGBPLTEY`i533#$$+'+1-5:6<HOC%u[]PFTMEFX/JLN^)PRTU-\B\ \J^csVghhjiiXmnzprlop(toez3ey+c|3~4co!F㊄ʔpP̙Ҟzߝèʰ۶ᶗպ⺞ӾɽDZ^G)3tRNS@fbKGDH pHYs  tIME!RfIDATc`)F`ˌ7aA \=Lظ١\1iM{kVA!aQ&x?$ncbXؘ&/먭 qwJiTPnugpkllt1 IStg` 4FW{3@*r eZnEYIP5FX +H30 4}cIENDB`xfe-1.42/icons/kde-theme/cdrom.png0000644000175100017510000000121111444154372013735 00000000000000PNG  IHDR(-SsRGBPLTE///111333EEEHHHJJJQQQTTTUUUZZZ[[[gggkkkqqquuuwwwxxx}}}$ݵtRNS@fbKGDH pHYs  tIME&(gIDATMi_@ğ4.#ʴLDĕu 53of`EX~'ҒPnl0 ցf~pDJH)^#ʚ7M0 <c6$w#ڪ=zY8Wї..y4p<4\*qZ= F($S{:绸%4kf=zwZXl5V|]JG`+(iIENDB`xfe-1.42/icons/kde-theme/bigarchadd.png0000644000175100017510000000265111444154372014712 00000000000000PNG  IHDR DsRGBPLTE>2689>>@CCKKQO RYYb dihjkkmm mnpqrp$suvxzy!׊+֊34ݟ2>ޤS37 G jO 3 !+ S "./0:%'hL5 +V-I.@Z/K12h34F5?77Xn9:}b|p;ڄqE<FFލ_GXHޏIߖRJJpKdLNOgOQYZj[\]^_u}ahbaiwjkszu"tRNS@fbKGDH pHYs  tIME%h+NHIDAT8c`@.. KPXls<tǝ'Wz_<nUWn_}3ܙyIl}U3/襉b˗OY8;?.lӆ:k B\|ճ'^pfQEEmuEar \A˼ [/Xloc`P2œ_|277?+VIENDB`xfe-1.42/icons/kde-theme/drw_32x32.png0000644000175100017510000000313611444154372014276 00000000000000PNG  IHDR DsRGBPLTE_ [ESd[`]c']_d!c,bg&chP`|(ej)ik5h"l7j%n)q6n+rDn8o-s>q/u2vCu5xJvGu6yFx9{<~K|G|=T|?@BPEGH]\S_[WXhZY[_\Sh]Uo^_`mbcyndefvg熙ip㆚zrszyuyv醡x녢y쟡w~ᡣy{z部ꆩވ퉫ᇫܨ錮䪬ᣯ筯ɰ㑳錴Ұ更앷ϳ궸죻栽ؤ䥾ꪾ򽿼ÿȨײƼ߷̻tRNS@fbKGDH pHYs  tIME .kZIDAT8}}Pq+:T(G8ESL.BHu^ yK!!*%I5M&uWmٞ<9O{O XBїPQ^zҩ;7H$R2`(Ma}LdNdd eL,ez!Ñ[v0FuC) Q&'+,J'.P 7l*"=mN=0*:# c#VШ>"#Va5(ݿ%:bJ !>06 `?OKpwmRTD`JLOg#ilj 槇S=\]GvpO g7<= c/R{ιIx$ ',v7ā@!1x7|}W>@kqcƻz\Fd_4Z-ڠu=@gAgB xf1ڀ7?rIENDB`xfe-1.42/icons/kde-theme/restore_big.png0000644000175100017510000000310211444154372015136 00000000000000PNG  IHDR DsRGBPLTEJWT g#o$_*u1~7? 6C<&?AMK+L.LQUV7S6V^)^[[?\?^jj?`eo4i7h-mEfz=p}&w~Vp>w}MtG{")?8.f~4gJ9+9PPJ61?WJ5:A4KRYb덎^J(/?.?r3LZT&cAXZPRJU(=\7:k=IX>3SIHRe2Ae\%,[_gs]\`tENup}{QNn]P&}q I\nwzZa{ʒ}uvъOU-<㱽etOtupίVMDK^`٫|moTV}v}mn靟똅{yZtRNS@fbKGDH pHYs  tIME 9"yIDAT8c`H*c-3y4"o<}ө%jH .mq?wm&Lwkx$wce1[_;6JiR0?OuTu3(x#'A \¾vm~*Ef&|sWDCAxeŖ#k@ j|~A-< "~ɿ__4)'6+uϚXhv&^^%T~4ӤC IAgz4")HRd+::Db(lAR޺@ss BR vv^H LߞٺtVGejg];GgáR^ vʬH Tm]hVP.^I܋ŝu@p$ I[ӊccrR2~Y /we L3U'Nڞ] yd/CNxC3a 8('pgQ?~ؙ'ȀZ[Jp01b HIENDB`xfe-1.42/icons/kde-theme/chm_32x32.png0000644000175100017510000000302511444154372014246 00000000000000PNG  IHDR DsRGBPLTE 0 f n&'),,,.0343459: :?@;A<B= DEJGKJ OPVQRSU`'Y_e` e ah$cj,ht%o+rxBn%{=uAxBz,NyD|013+r~,FHQv%A(6Dw8W\c}gaEc߄\ጓ‹ʐŌˍ̒Ljpk≞ϔm吟^͌ҒΓϘx㔤Йt땥њz斦s盦͗Ӝ|虩՝К֢˞ѐ݄䀱럫Ғ६ΗڡԘۢ|ϙܧКݏ䨰џحͩӕߑ橴ϬՈݮױю뉾ز҂즹߰ٳӱڡ貹ۙճ܋괻ޤ䵼ߚ۵ۼܙݞޥۻ9&tRNS@fbKGDH pHYs  tIME &6՟gIDAT8c` ]&=M72/m膆&- _K_aǑ(({ڿ?3'Xj8ϯ*/X_O̼w1Žci91gۦ2 <4M;l_>}q5 gOlW7z"Wḿ|ڍ'' y˦9 pvUӶ;q/޽|gh UMCo^={uǓiap֫[rbx!n\iDw۴7}6^l+Wa|ړiO>y;7?>xP( W`T t档`޺qkYW7/ܻv~imͽtݛ75]*n+/\^Ȅi]4'ݻs晸)fpkF|4ν@n+,@ԞQ{n~2ɹpksm}|<.-ٟtXyΓ[nJKkcAdcW]_*(<Ҍ9-l0oqNYJ|`ENV_`#ńZfMص4אk8p@y~\9SXBL\YIENDB`xfe-1.42/icons/kde-theme/bigcdrom.png0000644000175100017510000000242111444154372014423 00000000000000PNG  IHDR DsRGBPLTE) !!!"""###%%%&&&'''(((+++,,,222555666:::;;;===>>>@@@CCCFFFHHHJJJKKKLLLMMMOOOPPPQQQUUUWWWXXX[[[]]]```bbbcccjjjkkkmmmrrrsssvvvyyy|||}}}a)tRNS@fbKGDH pHYs  tIME)Dښ}IDAT8˕WPި{"**ފ ND)v3Ќ+I3:(~~;'߻EqqtAz["m$:go[-y&6񛴮- BMVUtytsuAQ(MZ؁?a3$Cjhjw0Ti Sݖ-Zr)Hls)æ3dX5n!)x/eaa TCzMH 8n(tRNS@fbKGDH pHYs 􊲉tIME 5ˈ IDAT5R0iKܨ 6B&]jbF? |~IENDB`xfe-1.42/icons/kde-theme/showhidden.png0000644000175100017510000000033611444154372014774 00000000000000PNG  IHDR[AtsRGB PLTE###3tRNS@fbKGDH pHYs  d_tIME1׬>IDATc`u```Ț85Jn} Uldh0D$T2kP!nD>IENDB`xfe-1.42/icons/kde-theme/zip_16x16.png0000644000175100017510000000141211444154372014303 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/dia_16x16.png0000644000175100017510000000076311444154372014246 00000000000000PNG  IHDRabKGD pHYsHHFk>IDATxڥR?HQ^!zDn xšѥᶚUp džZII4"&(vFE|~Iɲ,k,_J0zLS|>)m>RgAfc&Q/U*F(${%Jp݆(~~$oAynu`10\hT|b('<ďo6+^DQ5qSUkDdw~0IENDB`xfe-1.42/icons/kde-theme/dirforward.png0000644000175100017510000000070311444154372015001 00000000000000PNG  IHDR(-SsRGBPLTEI:::;:;@@@@@A@A@FFFFFGGFFGFGFGFGGFLLLLLMLMMMMLRRSSRSRSRSSRSSSYYY___eeefeeefeefflkklkllllqqqqrqqrrrrqxxx~~~~~|Q tRNS@fbKGDH pHYs  tIME + tEXtCommentCreated with The GIMPd%nyIDATc`tPzڪ(jJ("J 2("rbP*JbB *P?;3P@Wdf'+%&*ʈd*/υgfaD 3.o+j#gIENDB`xfe-1.42/icons/kde-theme/copy_clp.png0000644000175100017510000000116511444154372014451 00000000000000PNG  IHDR(-SsRGB#PLTEssxxyy||«ūƲʲ̶ηθϹп\PtRNS@fbKGDH pHYs  tIME" @djIDATUPgw vvw"*Xy]V {Y-'] @ z1Cbz:pDMRlӮ#z>#8~ϮS9B ?r v&x$hlz|E@ӫ7|c`gla qY' O.%zAIENDB`xfe-1.42/icons/kde-theme/odt_32x32.png0000644000175100017510000000330011444154372014261 00000000000000PNG  IHDR DsRGBPLTE   "#!#$"$%#%'$&(&()')+(*,),.+02/685=?<>@=?@>@A?CEBEGDFHEGIFLNKMOLQSPSTRUVTWYVY[XZ\Y[]Z\^[]_]_a^ac`bdadfcfgehighjgkmjlnkmolnpmqsprtqtvsvxuxzwz|y|~{}|~}ͱϳҰ̲ήԳйѰ֧ݲصҼ٩ڷԪ۵۸կܹ֭޻س߼ٶٴھõܶݺݷƼ߸ۺܻztRNS@fbKGDH pHYs  tIME9/IDAT8ˍwLSAp7A{({!8q ֨Q#*gBHZxVOsjI}RiikILwk?2n3cGb;0:huX K.n]|Of Y: $Ds+MUZJY b;0{E+:,R3eSĶj:%[K/?'@!}~^(uF'_:g-c:OvZi,/o 2mi\QG; 0o;;o `b{V+//Co(6mV_ͨW>1Ɩ+.u h`;$WE|}x@zd#Ri7K$7lAs;_>{VRš3wsm/+%G|ʲ2w nfIs|wP1_bfdv7f]Gvl?_7MmIENDB`xfe-1.42/icons/kde-theme/flipud.png0000644000175100017510000000036111444154372014121 00000000000000PNG  IHDRRsRGBPLTECq}MdtRNS@fbKGDH pHYs  ~tIME Rw9??IDATc`@PʐP16)B\U=Bj9 M6.% U 5QBC `46޳IENDB`xfe-1.42/icons/kde-theme/epub_32x32.png0000644000175100017510000001370112430674346014440 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭi^`9}Uûvb ё(vJ.\sK5и)w_ #~w5?z7Mxϱs/{}՞9τ%Fϸcw""]!v{ϲk)\9wLkO| >W|O~_:VP!Xj(|k.f-[~vX~Fqv# fr,儹`Dέxp̓+릻,@[0v'e48iXb Hm1N 7?s{i9*+%? j%9ɢRJ1,9gͦQM&ͪZj+"%-j ZjicۍcO]zK 3Ґ2h38IYfmVZUV]mõwڲ]vڃg~P3ҙ179 B avR0 By1p7@0-dv7'~39A;n?6MAB7–'.`\fvj+UB&&g/4M/k 3\:b̼6m3w-l}nPaΦ5{7",rCaEl&zbm O?]S,^Y;̀Gǘ'Oi(:[[{rOHƹPG=rް[ۚm0lcm2%q-|75H)Zα{(ޏHQeyD}.\ktSL^ӼC_--z( lD19o1wY:k'\nמrob5; Kd+nqϔwIᨖ>upe^viɈ\Ǯ;[ʠ?V[j}GВ_A٭/{zYFP|&{ȱl~}в1lxJfyNm*!I|ZVwj]tҼ+I^H%)d3by:YhmsܑشUc.3i"ӧ $kaQ^OBIºn`Z0N.J!O*x,W;\ޯ4c7D(IyCYQgs(C@CT-}X?gnJ-PGȣ];LfTXP %-v϶1d1hiQjA%t"9u,#Q8vrB xr&588Fj5L{7:yw$n¹ǒ+8!öЯ92lj@VZ˰;hJQ&p~+g#[{g.-Φ)*YzY/2p"OiG("cyPq}D؜a 檱[b#RM%xgප#C\RTzĥm - SgK]7YM"PQ`MKұR].̢\"3+ `Q ZGG54uG ugR[US! q" f%j.qX35Nj0 N8*N4Ϧ!}yu33x&{Is_ 31`%Upt'$3)C`g[@F;hkd҈S8_k멲V[e=3s|2Zw:tq-7句筹"_^̩ r h3DBk$_$'z'd." ! 8kEٷf_Ƨ`KesKQ-LIn %ڜd a >S~NjR3-O(qly;?-mbM^~Dc~ՙuMBAs5 X5J~Ztܬ;%h,:ۚ+۞sŁnP9u̧=LJ_J%[g׼˶19O(O GK.S2r|1?k jiTXtXML:com.adobe.xmp @tPLTE}}}~~~vwxxx x x y y z z z z { { {|| }}~ %./11242343476:F;<=JILNRS[Tq̇ĹԚݹ޻ߺ߾`OtRNS@fbKGDH pHYs  tIME "1%2F'IDAT8˭w0ƴZ]^Q M S`~/p~!o̟=JSj(dQ s3BZ\QHYw) 0%l%&b ~w֝ a:vh%TZ+^]r!1 d2kV"js<(!`2fUNJ3`氋o@9(nrIi&[8 6Pw?*~eJHBFc@h{(}RZ p#?h6㌿ܸqjU 3_puP"tx)e. _C#_h<(,3 sgi7"8"'#C|/ ":4Ss']_u?Qq]|w~K!n@#LWą4/ l;DQFqi\ Ѹj!~0&S7SBRZ)x0EMe@e 'ßgdIENDB`xfe-1.42/icons/kde-theme/xfw.png0000644000175100017510000000370011444154372013442 00000000000000PNG  IHDR00` PLTE     "'!")%$&$'(&*+'&*(+2*/5-2315927<239:8;9=G:@=2?=A;?BC?>EA0MVRNYŢ3ģCCb§EĨFTUǫJǬQɭK¯X˯MгQ̷Z÷~ɹnѻ^gû¾Q¾ÿņuʅnМmۭܢrnhryVtRNS@fbKGDH pHYs  tIME dDMMoJʖLh+p ~߰yhO3x?E~Az! bc%Er }LM:;#N=:;>>???AAADDDEEEFFFGGGHHHKKKNNNnEIoEHoEIqEIOOOoFJPPPtFJRRRZPQSSSTTTUUUVVVWWWXXXYYYZZZMR[[[\\\]]]^]]^^^___````aaaaabbbaccccc`dcdddggg^aehhghhhhhiiijjjU]kkkZ`Zalllmmmnnnmopooo^dpppjrqoqqqqqrrrltsmttahsssmuunuutttnvuuuuvvvwwwxwwgmxxxyyyzzz{{{|||z}}}}}~~~cm~cngpithtiuit9tRNS@fbKGDH pHYs  tIME% pDPIDAT8c`@ x(ny>Xu*xmiP.3 e:XO9snS۴[s)Ly@qE6V^ӎ\?=(;S M?H~^{Bq^JbAP`P |GBY~zrldeblBIkwme$Ƥgi'az ĄL\;⼼<%1)/X6:>աbbmSzlI~vZrRr~\FےCM坦 "ScKS AK_ҰqJ}[cIZZRRbRALFG*&r(aS\hZ^bFmںۏE$19S',![9"tSyBӱ}oHE;$Tڢ_ `6, Xl<{Z͑*smԌNH+:|Mǀs`$<ׁ*U5G=]ɴ=< 45-N\Ѧf҂NE l86.R29kԾIENDB`xfe-1.42/icons/kde-theme/png_32x32.png0000644000175100017510000000316211444154372014265 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/bug_16x16.png0000644000175100017510000000143211444154372014260 00000000000000PNG  IHDR(-SsRGBPLTE "*  6 8 FADPRNb`0dD M z~2r""< iq"''.. **,,TT""C((wW&&<</44/55 ?33%%h11[55 (( --|33$$((~@@!!00--GG))XWW++00HHAA==OOUUAABBSSqiiGGDDHHnnssdd__qqggiill}}mm}}wwzzۈu&^tRNS@fbKGDH pHYs  tIME ) IDATc`,T٠<Ծ+J5\)ŭSyA|eu 2YA.ue1qE|@VXRVZxrU{yh(P@B;:J:#)HAZ1'Ǵ$!KPAA.8HW?0UEL jnYUm=I!fdp 33 ,A.sIENDB`xfe-1.42/icons/kde-theme/totrash.png0000644000175100017510000000136211444154372014324 00000000000000PNG  IHDR(-SsRGBPLTE3Ac5Cd/MmX[~HYyIZ{a gHc~!f4iqs tt xzx1x[r {,}$ %-[-.0112i78H=@@IME$ QIPHUJKM\OYPRQRTW`~]gegholQQjRt{s|%$%0ctRNS@fbKGDH pHYs  tIME & IDATc`3o7+ 1)+ϊQ*3"PLTE)IIjKKmIVVtNR]aZ ooenpurp|Ɉχωω%̋"ϋ(ҏՐڒ   ²ȼɽ tRNS@fbKGDH pHYs  tIME )ևIDATc``` b@("00JLQ j uigjbr?T@0.5>&:ևfVTlXx LDJZ\&n,/^# 3s$I7';k1$Q{5E}n$!K9m>dqHIENDB`xfe-1.42/icons/kde-theme/minidoc.png0000644000175100017510000000076711444154372014272 00000000000000PNG  IHDR(-SsRGBPLTEhXXXgggbdkty~w+tRNS@fbKGDH pHYs  tIMEtIDAT] aڋ= 3WH2,_Mw]̙A/'pvPp=z\g @e_r~ԠD!U ΒXХap $02}E3qSIENDB`xfe-1.42/icons/kde-theme/shell_32x32.png0000644000175100017510000000315711444154372014614 00000000000000PNG  IHDR DsRGBPLTE       !!# "$!#$"'#"%'$*&%'(&()')+(+-*,-+-.,./-/1.02/130231342796897;=:<>;=?<>@=@B?ACACEBEGDGIFHIGJKIJLJQRPRTQPUWbTUS]VXU d_Y[XZ\Yg[]Z]_\(e_a^j`b_ac`dec%nefdfgeghflgfdik+rgkn-rjkikmjlnk1vmolrnl5x6yptw9|sur;|tvsuwtvxuwyv?uz}K~CH|~R؁W܊[]⊌x력{ꗹưξtRNS@fbKGDH pHYs  tIME-IDAT8˅iL`͘E(! E`$`TԈ x QT<2 Bwwt|hokk~g9򺦦铇U_-(jppi,( ܏1 3@S1)JFn0E؄a 5lj " %=#3'2,Tz,@DGХӟ8^n ȽM_c-z]ZXЪ;IBX-v9b\?,2@2ISvqqȝF3 (Mn4y"˵+T} VpgN:dڕB&5 wY zy%r3 v,qwf0O, xqpS܀S HF^/JNMJ[^zɾ jiRðJ"JgYַ:DV(!8H8C'pjkMM#   i"F#00&ڍe4 GIB֪`l9G$`pׁ=AnIENDB`xfe-1.42/icons/kde-theme/make_16x16.png0000644000175100017510000000140611444154372014421 00000000000000PNG  IHDR(-SsRGBPLTEQd%l0s:zD +O0ZA/b&7#L,%NY)ިHޓ^oxPeޅys<tRNS@fbKGDH pHYs  tIME9gwIDATcF =n.r"l,L= 舰?@O}ossUq!DNGCij2#,Фf/&UjR O rwvD %\MŹm^ |>`4'wCaMlE5V@())ȏ)M6* AC[]Kr)4 (^DzIENDB`xfe-1.42/icons/kde-theme/sci_16x16.png0000644000175100017510000000114711562252631014262 00000000000000PNG  IHDR(-SsRGBPLTE H EHI+-Y <PMmlhJY.bCg=uK&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/kde-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/kde-theme abs_srcdir = /home/test/xfe-1.42/icons/kde-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/kde-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/kde-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/kde-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/kde-theme/chart.png0000644000175100017510000001127512600766712013747 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڵWY+' gYbZcUvЈn$5h:98Gք9IJ A\$#pž7_8Y/J*#6tmDϕ`~i*Uu`8Gθ_R<4_[p3~=}r={-J]al GJwP;xws<֕dԨc5F`u,a|#|='ĺmfHȑu*4i\c1:לhٳM`|ndwB\5ʐ ;c͹BW˭ ]̕"t7X E[c_؝]E y `BYv | 4_a_: lO'%g.MFi'πB1TS䘣Ē| )8Usȉ3 s19gEx(IHR uTW} 5T*4O -Ը&t}GܥA4ˆ# y(6 34y)ܨ)Q'~FXj 3I\1Bf6Sn!05 N 1 8 q31nrfA_ gt+noP ˧O6l\VO[ZBޒ{bH=, =:f~تr|ڣzD"/-Q4)Y:g0d^K8ėrozBnQ`EQSt$ǽ!1x䨞G{EuѰsKBj4Z wBVӎi>mWNa?J[T.TI ,#,fcŧMkgnÔlW*~" 4s2zWJ=2eLuVX|Gy QBG8lSAlGrnLMHCl%&(j<wYlmwCMdwkI8PX]#LљMZ0Ry/zKK"fG)pRK>;jk> `?FNюՠ KLҕ~<=8O~^Gw)Xr]ZՏVTx,X5QMCB3?RRGqd7jJsɒI3>;RAaKQH:}dwP?huɂX)Ͳ&[QXR:Ni`DH^5q}G"a#@8LVBɉw4,} ;i)ƒ ]mVZ%(zayj1,p6Y TG!)-OpjG]Z^-֜rP/^ؾ'j#ϛr(Vn 7GyUƼ;ͅ>횮Z0V?EVl>^~ay\:1B>bzTXtRaw profile type iptcx=A@ }Oh w^yl캟mi(&S3pvs=J- ,W2q(3 jiTXtXML:com.adobe.xmp @PLTEHdnzf )$]/115w"u##e((??ACD DC##"FHIUC L S Yc NQ`Pg>\]%Z5Zpw+v|Q!w!(w(>o>Hd1g3g%Ij**##;z;M{iHr[[Yw]wQyؤkn`|ΣҨṹ޶öѽԼ+FtRNS@fbKGDH pHYs:tIME  dIDATc```D @_aL tmKJ)2:f `HiiieN6v@$`4X D@UIH.,/.!("R104 dۙi*c,]L95u1k |Ƽ@Ma(}0%/0IENDB`xfe-1.42/icons/kde-theme/copy_big.png0000644000175100017510000000122611444154372014432 00000000000000PNG  IHDR DsRGBPLTE]'tRNS@fbKGDH pHYs  tIME/#?IDAT8˭m[0wZeV˚UkW_:=?~Z>CPSxwk(A%/* ܸ5P F‘

9Y%iEʗvu; ,J^}cBݞPنmЎ *y; Yi%~ gm&w:4ZL_ZXx`&jZ;d?cn[{NnB Fg&B/t?O^K쁔W;ʬa 8b;y<_zO# ̺(dl'J:Y*pM31&6h&ulUYWY4 u\`Ji3zN߹]ROROhOGVQBB*k@P]}VpBjm#W?TH,<9H/{X"CU0^ 4&o6#53֮$3uCug/渰҄oNZ^K!5(G.⻥b;@ܢ<3]JtptĜ?>GT *G2_'Mf/e[L=LLrʸP==_m>>nv4Nڭhi.y,UyǨZ.fqזvPq怷r l]\ aUj6pm5E}>lM{9IC2n]PU k=XjV&K_݁|&״/s`ǭ2voazTXtRaw profile type iptcx= @ CLNlX`ϲ]LơСZ?^Sm|rnU^0iQ5 jiTXtXML:com.adobe.xmp @PLTEa\,ssxxyy||«ūƲʲ̶ηθϹпE&:tRNS@fbKGDH pHYs  tIME  7IDATcP5163g(Sq@i~vdo $#y) @/t9i-D91ޞZ@0/PE~lXp6P'#z{K3snV`ekc\l`@p0OW^ M(2viIENDB`xfe-1.42/icons/kde-theme/nfsdrive.png0000644000175100017510000000165511444154372014465 00000000000000PNG  IHDRVΎWsBIT|d pHYs 􊲉tEXtSoftwarewww.inkscape.org<*IDAT8Mh\UL&0ڄ(,h.JJ+Vĭ+7EB•%R\D&]tg|+$N#3d}.bb=pvpU$׻_zo.XA;<y""DDl4;?-ɾWs<'n׉kR.Q Z6Gi&⛯.c9/D4DݢbL{@33\&ƏѥPqQߢThmϋffΫ/O7n>|R!!\BPJa9:ZkFE!mzwо:21Lڠ:ZdT.% ZZV%B>ߏ<<\ȨP |>:s4ۿ\]4t .^|k~`5Sƪcw>ﻩJ05== ʽKKK)^oIS{{a_+5'k*IENDB`xfe-1.42/icons/kde-theme/tbz2_16x16.png0000644000175100017510000000141211444154372014362 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/z_16x16.png0000644000175100017510000000141211444154372013752 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/revert.png0000644000175100017510000000170011444154372014143 00000000000000PNG  IHDR(-SsRGB4PLTE@$M"+T*3\2;d;DmhENvKLziKPr#k.PYSY~^^[b[dYf]kcj.15<+=irftitltt{7;v}r~ttz {JNYY5::3z}q{§ž¥IIĪţƮȯƨɨɲɲʪʲŴ˴ͶĮ̚ŚαιϹɭ""зи&&־ڷϿ۷׷$tRNS@fbKGDH pHYs  ~tIME &@:RIDATcjժf0]6 l>EPZ\*fo1'H(UEgʝjkv@>HK`,y`6y@uMׯ[lH03!NKA(<,7V[CQ($bkΘըX7aĎ檂puV|ɽuJ, KwlvnO rbfXmKYTIV\ C&Miv|7#Fe19IENDB`xfe-1.42/icons/kde-theme/showthumb.png0000644000175100017510000000135611444154372014663 00000000000000PNG  IHDR(-SsRGBkPLTE """###)))+++---222777:::;;;BBBDDDEEEGGGHHHKKKMMMNNNQQQXXX```aaabbbccchhhlllnnnooopppqqqtttzzz|||}}}t7tRNS@fbKGDH pHYs  tIME3+4IDATcKLMM fP@VKwzaJA^D ,0(2!5"Pc[HK T$FFkӴT݃,AI""RҲ1`xE/WIuSmO+@Yl5P$.YJOHH(P!+&̭YQ$#`jggbner*U>c IENDB`xfe-1.42/icons/kde-theme/package.png0000644000175100017510000000152711444154372014236 00000000000000PNG  IHDR(-SsRGBPLTE) 1;D_3`3 ^4 `4b4e7f7VQ^\bd#jml+x9Ƀ4ݡ8   > $9(:!"1P$(0),<-+3+-:.a8b/-0/01p?6@99?@?AE?@LtTGJLJFLePQPQXQ\[rUVZT`iabkcd~fgot{8JtRNS@fbKGDH pHYs  tIME!/UgIDATc`m7d>3UzR5/6Q̷X1.#*$47ȉ(YS\TRmm*/-*ifxm=ty!n=iLp߈u/dF( "6$%IENDB`xfe-1.42/icons/kde-theme/keybindings.png0000644000175100017510000000275711444154372015157 00000000000000PNG  IHDR DsRGBPLTE  CEBWEBJLJLNK #KOQNPM%')* , . L@\^[_a^9!:">efdikhmolnpmL3surtvsy{x|~{~}~y|}joƑ˕͗푆𓈥ҝסæʬ󤚳ܬꪠгշ嵬Ӻ¾澺½þƿ:ktRNS@fbKGDH pHYs  tIME('pIDAT8c`F̘lQ,͈io_?w݊Pv+gO08>vcGY|Imsı=kϜM竻&*';}-XxaQŧ\z, ~7_piٛ;uݧÛw?K3f.Pr\΅SnqZ9=vضĐP?i&7O>_$ڏ>{ZӢOE ˗_`z߽z}#{vE扫WΞ;wdž K[zzsEK&?s3On{t؅JfΜ0@Mw\DY޾1]1QkPr)9IջkV3p8 + T7M|)bV_ݞ_xV?~WϞ4Go{xSgNhN?r՛w>}ebOx>*К9s#BbaX݇O^_|*08ȉ @wvm ML*,,-E //p;; `*FiIENDB`xfe-1.42/icons/kde-theme/dvi_32x32.png0000644000175100017510000000315511444154372014265 00000000000000PNG  IHDR DsRGBPLTE  191! <" P#W*_.e.H6 S3 [1e8Y<b8l:x;ND4dBn@x=LKDYLrFLMPyHyIHsL4GI#TVSzP.M tU)g[/x[R[]Zj\AYZ^`X*d]WY}`U$bc_q`QjcOjgIhlvg_h`e*vlZhd_sb)sKb)l6v+~z=vwsy2zvvwqg0}xxxzxy]|{s{SwZHkA~mj3wGl2r'r1||xo-cBr)s61:w1*yHÃ~*|)Nbz,х~2>݄3u14U}ΐ&*ˎNϓEiŒaEӛǡޙК2śV(ˡ,A͠K@Yٝh4<3٤rñ40ְeԯH=ξXdn)ܺ淞>t>ńklU\βѧƒ"ν{:]ϧ_n{ߡ;MVfJqxlwr\jttRNS@fbKGDH pHYs  tIMEhIDAT8c`L?P@'ܻw @s8qbb=TAAs5 TP@ ݃'w<9|ΩSO̙W *z%b*/ ECߘZ'jt[tK]*!^]khءje(͑UcjvGe8 s)Xj+d-ԭ 4Qod_te'[e(.=&ul7#{'p( *%We-<5l+pd,,=8Pę9]^!)X$pߤ;eRAFFd Z>t&)Ӧ12l|ݻ<Ӧc_ S ^yg'rfN6yu:|L۞i3g28OER㶑g+M,˗[d^1sZ}$,;_J5P/[>\o1c= D?_?'o߯4 _;ڷO -`o`A ~﫶k7_?~A?P[n\͛ڋL*Q;t-7?}nΝKn? gc~sѣW#C#@p!`@ $eIENDB`xfe-1.42/icons/kde-theme/filedelete_perm.png0000644000175100017510000000135511444154372015767 00000000000000PNG  IHDR(-SsRGBPLTE Q!-U7Ci8Dj/MoNT>Yw/YCc%eTh,s#tPr"}[z+7Y8.f1-33,L51606tu77879:;=><@?>?@B?AHDDnHHLdXZVt]^`cvd{oruvvy{ڊSptRNS@fbKGDH pHYs  tIME::Y<IDATc`(;a^iikktE ښKeٸ!Vum9~N<`ֶl`czltDL$+X2)QMR^8 bWYR7ڢg}%U 3/0 t-mmLL6zfBP@W -m EQ&&7k#Ԍpr\^U[M 00CY3)IENDB`xfe-1.42/icons/kde-theme/rotateleft.png0000644000175100017510000000075711444154372015020 00000000000000PNG  IHDR(-SsRGBPLTEiHWXXXYY[\%\]]^`%ac)f#h1h!j$l#l)l;m+n)o)t4u,vFJJTccPa_[Ubfgfoi]fdsinx}x) tRNS@fbKGDH pHYs  tIME 3g%)}IDATc`MM\QYy5gw(UQRHzB ! f7ůdUig $,\u" V6P- ah+ O@DI Ɓ>&i4K%P2\F.6'1 D>IENDB`xfe-1.42/icons/kde-theme/smallicons.png0000644000175100017510000000146311444154372015006 00000000000000PNG  IHDR(-SsRGBPLTE5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{01jtEF聼鍻굵T쐿識۬ݿްټ<tRNS@fbKGDH pHYs  tIME.!7IDATc`@z&ڪbľ F^Ζ:B|\L iIq1Qa zJK{&M.-lm`pbhX_ڕeh^WP6аʡаԡBuLXSw57T*18Aۀ%ي :S+K @::'0L+<(`# %!", ,Lm 0UIENDB`xfe-1.42/icons/kde-theme/miniapp.png0000644000175100017510000000112611444154372014273 00000000000000PNG  IHDR(-SsRGBPLTEz}~*JKEdfinsx~d~ijkmn߆߉wᎴߏߐߑߑߒߓ߆䃼䈽䉽䁽䋾bKGDH pHYs  tIME {IDATcV } ~vf&F0``44Vdcpsq0562RcP  twv07WeP  ru61QfPCPcP  FPeP @Pf DPc tGEBV! !4Cv47cS IENDB`xfe-1.42/icons/kde-theme/dl_16x16.png0000644000175100017510000001172112435035560014102 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWk*f 򧱄;UsƕXnsњ)'P\E3p=~0qrί )x7e5MTC8)^ oﰗ>$17}d|_/HFw}z`gO(:!>0q]=X;+ 9vQAܩK8;םƲO\8ǰ}kr)cAhs<̷ C+v,BK1 0oqc߈`/36Xm[c`f8d#yH69c?;\n '6Itud"G@ d2b`9r̅k1D15&BSJ9T!s9K K2%RjŢ+ޮQksͷиŖZnՎs=K ?#dFeI4gyYbmʫz~F~gXkN阠-'9c.OۜL!`ֈ796c`0Lrܯ7'̦)s?yu_InL_b.]%yʗ?s9P|Fgנmxe8Zm;ɒSžagSرk(*鎲)'"HcJřOw3,݄P ‰+H +7_{_,q29 j ѳܻ" &b:ȏ(&VN~ 1:)i^75RJ)C!KFEؑ2V ٛgeu YbyrUTrU6ZKY|_'= BkrU]vaJ% 2vC,X:b$ P} 7%x5FEj$hd{(igBE>gpRb{az@s?P'JpCD(!ULs]$@{A,AܺOIY2/YVߴ(^Fk13-| Gs. #*+RX<4qAeAb(h"iUSe`,gh誛(P$0$(oQuTC]U g;)*qq Ct5ŭunR0ͫy? lzݛ;D96nMǿ޶>>hazTXtRaw profile type iptcx=J 0 g FH#uH?`a*-Kwٶ@X6)C%3Rk)-}0n1?J jiTXtXML:com.adobe.xmp @PLTEaRRRSSS]TTTUUUYYYZZZ[[[\\\i]]]^^^___```aaabbbcccv||v~x| &&%*+()*3/67112378LLKC?S@XUNYOH\SJN_dZpnt[rk僾jﶸ縺¿ǃӯԛֱڦ޻4ҢtRNS@fbKGDH pHYs@@utIME <jIDATc``vN0O i e&'DOi ex&% ʊC 42sAJx++=,KFv *`6K5U3 3fi:E$fPR5 Lv1]ZRԩ4 :=]]➥@S\d!&ZٸM1eچ SfXY<5IENDB`xfe-1.42/icons/kde-theme/printbig.png0000644000175100017510000000267011444154372014461 00000000000000PNG  IHDR DsRGBPLTE_]`:;9<>;>@=?@>@A?AB@CEBFHEGIFHIGJKILNKROSQSPRTQPUWXYb[Y]`]aZ^l]_\a^b^`]l]bdo n nvpsijs%xqos|+{uwtB9~|}}~~D̄tKPd_ߑjƖj怤?v域ȦQX㟳˧gȲ°÷zkŵƷ¼ʹĴŹͼǿཾοɃЭ˵ёӵϻ׽ڣO#tRNS@fbKGDH pHYs  tIME!)|6IDAT8c`2$ No?}ţOQ (؍)-'(؄>` o0˟!a+\P $INݴɫ]}{?quW+D>hѣGO[z}Ҟ&MdcJ : y pӤڒ{O^zhScf[t vYAf]uʕ3'̘R7e %~#S6{-\4;߿y75% No >_bN)[n<ihcMd2 (xF+Pj+/tgcNUVZrR2rv~ > P0aʜ w1*^SS ,5@ (a )SDq󷴣Hn.>Pu*#v =[T@rשSg\ }ֵSybp~lϯ>ܯ=;7O &ɿz͙)Q@9Ef8O߼{/ { T[R[jeIENDB`xfe-1.42/icons/kde-theme/svg_32x32.png0000644000175100017510000000313611444154372014301 00000000000000PNG  IHDR DsRGBPLTE_ [ESd[`]c']_d!c,bg&chP`|(ej)ik5h"l7j%n)q6n+rDn8o-s>q/u2vCu5xJvGu6yFx9{<~K|G|=T|?@BPEGH]\S_[WXhZY[_\Sh]Uo^_`mbcyndefvg熙ip㆚zrszyuyv醡x녢y쟡w~ᡣy{z部ꆩވ퉫ᇫܨ錮䪬ᣯ筯ɰ㑳錴Ұ更앷ϳ궸죻栽ؤ䥾ꪾ򽿼ÿȨײƼ߷̻tRNS@fbKGDH pHYs  tIME .kZIDAT8}}Pq+:T(G8ESL.BHu^ yK!!*%I5M&uWmٞ<9O{O XBїPQ^zҩ;7H$R2`(Ma}LdNdd eL,ez!Ñ[v0FuC) Q&'+,J'.P 7l*"=mN=0*:# c#VШ>"#Va5(ݿ%:bJ !>06 `?OKpwmRTD`JLOg#ilj 槇S=\]GvpO g7<= c/R{ιIx$ ',v7ā@!1x7|}W>@kqcƻz\Fd_4Z-ڠu=@gAgB xf1ڀ7?rIENDB`xfe-1.42/icons/kde-theme/pdf_32x32.png0000644000175100017510000000307611444154372014256 00000000000000PNG  IHDR DsRGBPLTE !# &%'-..01--23/.4715269::? B$==fgeghfD&G$higE'G+hjgF(ikhI-jliH)kmjK.FElnkL/molHLO4npmP5O1O8P2U8W1_}>Y:^ 1qٰX<,!~ Ԫ-7dft0]^`ju9w3Ƅճk" cI# EW~ +**ݻSPP{!;;oT]T~;vdVwm࿲ SOS䩁AYHdZ1p_,BOYU@YR7[yεSxyuw IJM'J%CYfqDQMRqH(*oý F{Yʹڕ 6eÐw p&#~BPdj" A3 q}41G(d='2 X1 Ec5R#VD.>%jށ}&7Z=l0[ ׬AJ?g3ξ55 k^b 2 8u<[7V{ X5(y'Yda[Ƴ# rNnl+ w^t'޿g'ǯ~_?˯/( Mpssr+wW$XUlzs{T;n>O><$P3$/Μ;O9riҿo^=xPg;dwMe .\8̚d.ɶz‘!\ds/PpC:ɂ%=B*$>u=I>r,f^LwvvYvvko>~*k`hh`/߿ %BXT % åtW_x@&ȩX\ VVPP76X tP ˿w? >P7s2_T`dnfqG_g-ͽw' \_/~7>* <}?Ɋ tO͍ϟ;;;;ǿ y͌ohml?~w,TۏWWnn/6gΜiM%SyVǻ۷o_1 &,= Тo߼z_C//Fಈ tGm;(rì$bT޻hUTItc.@脪.}G fEFqɬN[\ I8<fD cԇ s;˥wnዠZ=IENDB`xfe-1.42/icons/kde-theme/archext.png0000644000175100017510000000152711444154372014301 00000000000000PNG  IHDR(-SsRGBPLTEer  1;D_3`3 ^4 `4b4e7f7VQ^\bd#jml+x9Ƀ4ݡ8   > $9(:!"1P$(0),<-+3+-:.a8b/-0/01p?6@99?@?AE?@LtTGJLJFLePQPQXQ\[rUVZT`iabkcd~fgot{tRNS@fbKGDH pHYs  tIME!"+OGIDATc`m7d>3UzR5/6Q̷X1.#*$47ȉ(YS\TRmm*/-*ifxm=ty!n=iLp߈u/dF( "6$%IENDB`xfe-1.42/icons/kde-theme/warningbig.png0000644000175100017510000000205711444154372014771 00000000000000PNG  IHDR DsRGBPLTEB "$!()'+-*-.,/3&685><0HE9DCFGJLLNOPQRpnSTUXlnk]cexzwy{xkqyn{|v@sKŷɳ ѧ $'ܞ5۹1U=tB N{?S7xM;!1=HHRZk[dksz幸/tRNS@fbKGDH pHYs  tIME2$IDAT8c`.@XKKRRcbмyAB]\ti0/.ZqK NK ,,ܤ:4:;EZXX fs33SeXVMx^Ϣ^nYp…s 0O jjgϚbfLp, VV1c`(v O1][nz״ɓ&e9!{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/png_16x16.png0000644000175100017510000000131311444154372014265 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/desel.png0000644000175100017510000000031411444154372013730 00000000000000PNG  IHDRb PLTE䜙tRNS@fbKGD L8IDATxc`Dh8DbZΰZ "V U @ @D^0%v{8dtEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/kde-theme/sla_32x32.png0000644000175100017510000000246011444154372014260 00000000000000PNG  IHDR DsRGBPLTE_x 6  5VLW ))V1c7:y Ǧiϱ$,lҴ^_ }B bUP B ꢼ@/OO//o$*>UIENDB`xfe-1.42/icons/kde-theme/doc_32x32.png0000644000175100017510000000054711444154372014252 00000000000000PNG  IHDR TgPLTE{tRNS@fbKGDH pHYs+tIME  6@N tEXtCommentCreated with The GIMPd%nIDAT(ϥa 0  l4/i\u00|~\xb>)z*!ƍ9Y! mB3K\7D.ZТ"AU'd\mT {17m{*ׁ=AnIENDB`xfe-1.42/icons/kde-theme/hidethumb.png0000644000175100017510000000171011444154372014606 00000000000000PNG  IHDR(-SsRGB=PLTE)    &//)73 ?"D%G(S3W6E9Z7e4  nAuFQvKRST#^#_ՅWXXZZ]a^ojbegIICy@zB{vbB{F|D|[{v'H}EvGsHHIIy+yJLNPR쫁-11rbmn؄oobGϏpȓ1T̸bsr ޟ&wƢWŤbķb|Ыbгyb㷽Ϡ5bνӾѽر>ѮƁ_تRRظrϿعݩpjtRNS@fbKGDH pHYs  tIME fIDATc[f‰E Pb߂ݻl(*vNs7o,,+!6{Ӥ%M}"v-(H ,U<{ޒP ͥ@S<܃w3 Ȫȩjh'nm Զ֤heDT6 ZD%py:XvT q HZXUOWbWfcrfXoOy";+#3pC_ I~a)@n3Qзqqur6וMc\(IENDB`xfe-1.42/icons/kde-theme/cc_16x16.png0000644000175100017510000000103111444154372014063 00000000000000PNG  IHDR(-SsRGBPLTE$&'+9 FU(b6k2(ؾtRNS@fbKGDH pHYs  tIME7֕_IDAT]]0[B"$dMu+Y n9g򗤰f^Vʥ,Xr5Mn-z>xK)%8롵3p36mh@6L ae8O#K G1m!q@;A4/ l\*UY: #XIENDB`xfe-1.42/icons/kde-theme/floppy.png0000644000175100017510000000115311444154372014147 00000000000000PNG  IHDR(-SsRGB/PLTE9 !!!"""$$$''')))***+++,,,111333555;;;<<<>>>???@@@BBBCCCDDDGGGKKKNNNOPPPPPRRRTTTUUU[[[___dddhhhjjjpppqqqwwwxxxAytRNS@fbKGDH pHYs  tIME%.[IDATc`8Pl|3CS3Qv2IRWƷJ 4RV"=mA|=u ok@; ME9E /g#Vfqi1h?_w{F~`W^|)IpwK$'FJ \&j.v!CYTIqAȴIENDB`xfe-1.42/icons/kde-theme/fonts.png0000644000175100017510000000113711444154372013771 00000000000000PNG  IHDR(-SsRGB)PLTE * fd ###''')))k ...///333555y''::: === >>>C==BBBDDDEEE##JJJ!!MMM NNN//55___```aaabbb@@ggghhhJJKKIItllMMpppLLvpprrrvqqsssTTvvvwwwVVxxxyyyaahhiiiikkllmmnnooppuuyy>"tRNS@fbKGDH pHYs  tIME&IDATuUEW;www/҆~pIfNf۟tǤu͛Z @À3EGg8KcN{L[c׺q#̇Y$g1` h ?F/X2JKJWni4UBZM5!IENDB`xfe-1.42/icons/kde-theme/zoomout.png0000644000175100017510000000125311444154372014353 00000000000000PNG  IHDR(-SsRGBbPLTEGzM'MT'aYk\AZ bLb-lo~no}hptn, q}~~J8! -Ր-א,ؑ+ߚ3ѦZ׮cѱnұmڶmôċ\ɻʾ˽̾Ϳοwz{\otRNS@fbKGDH pHYs  tIME 8)IDATc```5413`@+{'G;S8_&02WWKv (چƤ&*CTB2rs!NaIE9"^Kנ삒Rg-Y%Rp{2$e"\B  (@;@H?X_AZ [YQa`zt J#ZSIENDB`xfe-1.42/icons/kde-theme/edit.png0000644000175100017510000000135311444154372013565 00000000000000PNG  IHDR(-SsRGBPLTErerknsOsNx ى[0TOӗqޚ^+ ҤX=զҨЩ/Uȼ俇F;N;* YO8MbӣA{ؙ~iس.~tRNS@fbKGDH pHYs  ~tIME3:P$uIDATcLO#iI0Hh4s4WBt42" 4E;ɱ3K!\Le%V"jpvgWnH-@P@T.# 9*5-#H+S.C4'X3 C>=`:QA4\H0iH*\K=sInL(\bcgTA~S%eg΂W/}Y4i!luaH#mdec'oghflgf7n+qikh-sjlikmj0ulnkym\mol3wnpmsomlO5xԙk<8z֎oL;|~th<~uwtK~֢sCB؄|vF~}UہcX݃{Rኈ\ቋU䌎aᏑocd䚒g瘚|릨𰲮¾¾ÿ°ŲǴξr%tRNS@fbKGDH pHYs  tIME alIDAT8˅ip aZ[2,j݊:ꨖcZH|IQaU6L1J(iEﮰM̎7I}Y/T՘QQ(+\ R__SWEE'*HPPV?ciò% "chƄ'3S%`x`@DŽ,ÒxZs{|For<7@Bj 'p tpJWSCH:V[h(0$';A|JkGެC>#wb5ͳ~WԦv9tIENDB`xfe-1.42/icons/kde-theme/closefile.png0000644000175100017510000000147511444154372014612 00000000000000PNG  IHDR(-SsRGBPLTE334779:9< 9 : =!!?""<##=##>##@$$A%%@%%A&&C''C**G++I++J,,I,,K--J..K..M33O33Q33R33T55S55T55W77S77W99Y::Z==\==]==^>>^>>_??]??_BBbBBcCCcCCdDDaEEfGGeHHfIIfKKhLLlMMkOOnPPnQQpSSsVVvXXw[[z[[{\\{]]|^^|__}eeeegghhhhkkkklloopprrrrssuuwwwwwwxx{{ijƶȸ˸FtRNS@fbKGDH pHYs  tIME/IEIDATc`Nv 3eczLT(K6VWUU7eK%* ;ʣATzN,j:5'LA<)!j_ԩ&:2 !SNIVS`utj:;PI@ADXǩa]ARL R֭SwN"P49(] q{8gW[~S%#BB#mD`VpgF/ #Y;3IENDB`xfe-1.42/icons/kde-theme/delete_big_perm.png0000644000175100017510000000270511444154372015750 00000000000000PNG  IHDR DsRGBPLTEJWT g#n$_*u 37= 6C<@&?ANK.LQU W7S6V^)^[[?\jj?`el7hr-mEfy=pSm}&w~>w}ZsG{$&?+8-"f~4Cg6Q9JP-$?w'$:8=Ǹp)'WNiJ spqqᅭ*R#]@ǧWIAc@ ,L ? I}WQ6MCR`X[+ CoU/D nThibibbb VLi+Kpu K?"W,[[fh`޶Hh{HUV\3Vf%yyF{(*hmuq$ UAWAR|Vj*>fVV=~S*J\|[>ŌȵkO_} M}EAcϹs.^, `i `Q_"Hť20$9pE臼<IENDB`xfe-1.42/icons/kde-theme/vertpanels.png0000644000175100017510000001100712435300710015006 00000000000000PNG  IHDR(-SwzTXtRaw profile type exifxڭW[v+) g$\sf)@vOnn#(TBtSf|L!`qe.0=Ӓu[7 K/ǀ_?MlBV@Y33$HI{ZKw.")lxH?Y I7%[g1y;s/٢~ cv/1R?zQÍmϟӜ㬮H-tFN+Îʸn$vN&6jxpDX/IMEEd4&pͅy(aN0ˆOyu͹RȦ;V+k@c) Ԙ}O ; ,[u{ҝbWs{Av;S #☠Os Lh# 1&˞Bx !Mȟrxx>K!İjT]1S̱$I.RL)T2gA 9hr9I F(rꪯƚj!}k[j]:=ze@* 7#4(6egqgUSU?F/}jK1ŇjpxA*'~iK$4/l"x)4)ɹּ:vs?BB##^-vrn6{D|[tD~hnȟ!h6dy& $YeL: 3D.ѱȟtC6;]ՄY}BFx8׍Ǯ֚;H-rZVNΧZjʋAy4{8B AgWYg?мL<.+9xy)į#ό_̯.Nk]) $o_&j4 @PLTE5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ일␿ힼ⟽㠾㠿識۬ݿްߵZtRNS@fbKGDH pHYs  tIME c~IDATc`@F:Z*R0PO[F3XDyh0p nPfp2`4=lt fӭ0 L7;hK0]AtCf0N0 B0T`T-sIENDB`xfe-1.42/icons/kde-theme/nfsdriveumt.png0000644000175100017510000000157211444154372015211 00000000000000PNG  IHDRa~esRGBPLTEr l00YYYaaaiiiqqq}}``çūîẑǰɸdzɵŷǵű̲˳̼ȹη˶жҿƶϷͷһϹиϻ;ѸպĻռ־ӽվҽ?tRNS@fbKGDH pHYs 􊲉tIME\SaIDATc`yS['Ou(4W7mL+ (+'xT@dsNX/  TV̯4kф Yh7@ⓍRҭ ݡB.Y= vwl M3k¼EBV'Uy'ADkJKK+jۥB\<¢b`!=>q9Y P ҃LdfNdLLdfm%hr&ۓpkleO!uy-w z6IENDB`xfe-1.42/icons/kde-theme/pdf_16x16.png0000644000175100017510000000131711444154372014256 00000000000000PNG  IHDR(-SsRGBzPLTE (((33?@!H*O2S8S6V;`H]]fPjRxdv_ye}j}i~ipwꏀ|륙窟櫡蹱żDtRNS@fbKGDH pHYs  tIME"IDATcB B JlL P w4735 :SY^zjLFŤ$>**PYma(f*qTVr9zJ 啥$#qabF:"`l ^iE] =w@of,EU ]ek j)in > # 3x =v8IENDB`xfe-1.42/icons/kde-theme/vlog_16x16.png0000644000175100017510000000121711444154372014453 00000000000000PNG  IHDR(-SsRGB#PLTE+-<JbClFz{||~r񧘶űK%TtRNS@fbKGDH pHYs 􊲉tIME 4'_"(IDATc`0PU`a``PacafbV@pH%P :!!!>6&*"<4 (  b"<]Z& rv C4 B%ÚVjjB@P[?OPG0@d8x9فDE@CtLH : <@G=A\73IENDB`xfe-1.42/icons/kde-theme/Makefile.am0000644000175100017510000000007111444154372014162 00000000000000icondir=$(datadir)/xfe/icons/kde-theme icon_DATA=*.png xfe-1.42/icons/kde-theme/tcl_32x32.png0000644000175100017510000000206611444154372014265 00000000000000PNG  IHDR DsRGBPLTE+1678 =?DGJ#N#R)U*xxxX0\2}}}~~~_7c9f>k@lErHtKzScgqqqzus{{·øĹźǽɾtRNS@fbKGDH pHYs 􊲉tIME 6 h IDAT8}iW@QT}H]bں`(6. b4L$4LfRS߯9{ (J%IM Lߧ9{vmۼq5.e=}oٴ{U.pp⽛߿~<7^1a!H|SdRy8{S'ڿndE糿+"V$g#su\AQcY>t;"ٵAEC$¤٬QOH3o٬|EڦV3}hx<|+D"aU>W $I uQzS>Ag|b2o_E8$lL ̞3kIb: $aA!F~y`֜6Up6MԍGVA ci8+Z@:ql@"&AJfk,:;hJl{k;n\_U98.wqf'5rNVB"$MZ" é@el"kZi[av~DM opϭ4kgsxY.<4 0H[Cet$*И":]y9?b߾OYrt:{^]TiR:+L6p,N*TnÐmT24zY.Yz)_o'gY6tšE+3oatH'J>)gBaX`9[/y\.SO┙mx&eFV8yꉗRsp2I(aI(̀:X6btMldۙ5w8cZ3M_Sq07sۙLW'7$rAUlOQ\Fuwaqkx3`L8 hh_~?9 YͿ;6}{;"L6 հ42 u:vor9w0D_&iЏW G1r@>/fQ.ݝ1CH 7Rw`xpn_w[wh)hV?EIq*R_2(EC,t'{രhGH G ޽! &Ċؖq7Q7*Q@PT!cdJҕ+b GjIy+q'fu'AHhQap@<(0((4^H@{QjBRx=A9*E5|V%Z(T'$B Dt@I+4ā>z!ԍD2.CD. qFdz, r$1:>сR #,0f`v QJQ =  c*qUs)>JVRQ`0Ko(%*k$S9StO3D+mb'.Du͔UV f;%"F.6 $SY"PH>\y] s.::b5 ӄ,=QR$ۧ?iu8[`˖`'ESQlCMד0ɚD6 ڇr5<`П$}0X,[Ǟ[g#+ʘƔqg3̒hnv+H=ހ`| &ٷ=+n;?|Y/K;gԮWc$ P0!@eD (P<*GH*= z(:11Xo9nSSR%$ 􀊘FmmE51#WA}$.ejeo21KUiěIENDB`xfe-1.42/icons/kde-theme/xfwsmall.png0000644000175100017510000000123411444154372014473 00000000000000PNG  IHDRש/PLTE '2CZW? @ ^^b @$f'o*v,|.j-t*.|-/11~2}24}437:l8 89?r?w@{ ;<>? D ECI JLMMYFSZGU]\JW_^!`'f%e(g(iE*hU*j+k-m.l0n0og&`ndfǸWgk>Liw~{tRNS@fbKGDH pHYs  tIME :0ZIDAT(}gOAY*EP EETz!X"R I>wKt6BJ\I^.ʥjKpln]A8( K8EIQjOK# l/z3cu=aې/-tJWo G|DGO 4xDhmɇ;'p'qx8I'xAIV?qH5IENDB`xfe-1.42/icons/kde-theme/class_16x16.png0000644000175100017510000000123411444154372014610 00000000000000PNG  IHDR(-SsRGBDPLTE 2 7'82*G2]0T4f?bF*iWDd%mgff0t;{EO[᠈pd委~uꩣ¿˴|&tRNS@fbKGDH pHYs  tIME+ۏ2IDATcA "ZbB|< Ȉ '?o{+@vvkHvVzrb|,T '<.*<"`kUu dpq31J;BXYx,, f&*ERݍ <!vj*&2@H0* eA v)Ȁ (^58^oIENDB`xfe-1.42/icons/kde-theme/arj_32x32.png0000644000175100017510000000312511444154372014254 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/shared_32x32.png0000644000175100017510000000314211444154372014745 00000000000000PNG  IHDR DsRGBPLTEfgehighjgjlikmjlnkmolnpmagnsy{z"  ((/+#B=>/1+\Tְ13.@7F %0.ַ>:K39'MB?عI5N߹CU-9HYpUoRUG+3eR5[cz8H^bdgnQgU@*]΂x:&M{R֪_ې݄ܧc'tRNS@fbKGDH pHYs  tIME ,tbIDAT8ˍ{Ta)l37BQ1mT5Kʝo;.$Ѩ%s0ho;˶f{ ǎgޥs<= b{L/&b0'IBq5R8 FFX~~m/}˜!<>6k}_'<"~Z|LLҘ88@=|L}Sd4glMиª2 .mZ4tjC˱=e"ܹo;zn|T ^ԙR"J !ӳ* O!mt_#.izIENDB`xfe-1.42/icons/kde-theme/dirup.png0000644000175100017510000000072011444154372013760 00000000000000PNG  IHDR(-SsRGBPLTEH 898899999>>??>?>?????DDEDEDEEDEEEKKKQQQRQQQRQWWWWWXXWXWXWXXW]]]]]^^]^]^^^^]^^^dcdcdddddjijjjjpppvvvvvw|||}||nwOtRNS@fbKGDH pHYs  tIME +*ڴ0\tEXtCommentCreated with The GIMPd%nIDATc`tPښ*|]- e%__KUYQAN.K@e%xy 5|Qa^Nv" ;3H #% G\a<\(<\l(M<@MABJ>BZBDA@DQaFFZDIKDHUGIFGHPIIRGJXLJXKLTEM_OM[MNWLP]OQNSP_NSUNR`QRZQQeRR[VTXRWYUV_OWi[Y][XgW[][[oZ^l\ac\`nWbo``u]az^boabjdap`eg`dr^ex eezgg|gknck~gkyij~mmpnrhp-"# ,+mtqx%v;"zzv~@<uu1/*;p{R_ĥ^Ų̆ĪШ˫έӮDzùЮѴѻ̹ٶӱԺδξгֱѹҵؼٿӡаۻնպŽׅ6ҿۈ%۰btRNS@fbKGDH pHYs  tIME,7z?IDAT8}{4aeEMw!tJRTH хB򚭡Vt3kmcsۻs-ի k6'Rq<;s}xߏB1fgG2b;HD.AUUzyGIED&f)Hьf/X}%Rz`2q8r̸Ig]DEVH 3YF]'04S-H(3,&[FH*b 5:%* \T"2)g! |hv>/=1”9g  @β(8W psxRY!A R\RIh@"^-IO$T0p * Ǖ*Rch#1RNz2 ---mzL&bd>õ}q]/(884NSyzhvs"I2: 7.\ +|r7ZV.nlqO ѬQWQTKKeJiC39O1-;;5ue[fldxxxX@YSmʀ>֏{:O1Wegg>IפGN`qkηm0yˆE3}7ݍ;h_#quIENDB`xfe-1.42/icons/kde-theme/text_32x32.png0000644000175100017510000000265111444154372014467 00000000000000PNG  IHDR DsRGBPLTEh%k*o0r5v:z@}EKPV[޳d~Kafl䘘qՎdvT|Pޚj؛sܛp+,Slܢ~ߢx>A@`mvbҮӯ஑KආչoEZX翇㽧)#R+%nļŤÀv4p5ACa6͉Ί̂JWU=fАow҆]\kN`֌<|׋Eiؖ6{ؗ0sݔx Rݙ~@_6d_uoSrtRNS@fbKGDH pHYs  tIME WY-4$IDAT8c`@nU`gK9@Z\TXP +NW/=~h͙R_Q ?|ͧ߿}gDklʃڡTVحDZԭWYȴƷ·XdSs̺]Vo罍_nkmlmxvxww?tRNS@fbKGDH pHYs  tIME9 `IDATc``VRWUe’@'=adTAX$VY /„I$Nޚ$ pUT H'$&&F88b#}͢ҼTY AFQir< ¢t?Wo{M)Enږ6 I9aL qD` , l f:.IENDB`xfe-1.42/icons/kde-theme/rotateright.png0000644000175100017510000000075711444154372015203 00000000000000PNG  IHDR(-SsRGBPLTE8HWXXXYY[\%\]]^`%ac)f#h1h!j$l#l)l;m+n)o)t4u,vFJJTccPa_[Ubfgfoi]fdsinx}xZdtRNS@fbKGDH pHYs  tIME  )Z}IDATc`LM|wg5yYQ(SH[j*n  {C%el Ui̕|m 9 %pp``Y&lh8K)i&4gH;\H][F], ǘѼIENDB`xfe-1.42/icons/kde-theme/video_16x16.png0000644000175100017510000000122311444154372014607 00000000000000PNG  IHDR(-SsRGBDPLTE )('+++655678;::<;:DDDRQQY\`[\[aaabbacccfffgfeegihgfjmppppvuuvvuxwwvy}{{zx|v~~~ҿ0<*tRNS@fbKGDH pHYs  tIME(3, IDATcPG ZL  tuq @RTvj2B@[L/# .̮f"HaNH2*EgKY5S<*,:jnz_ALc.NP@VUy# YQF >F >ׁ=Z[IENDB`xfe-1.42/icons/kde-theme/minixfe.png0000644000175100017510000000163511444154372014302 00000000000000PNG  IHDR3(PLTE  '2,!06A26@.7E/8G39B9=G@@8;AG=BI?DI5E]AFOCHNBM_OQVSV]TX\S^vQcRcTcRdSdWfOgVgPhOiXiZiehrXjSjTk[l[lVoXoanWohowXq_v_w]x_x`xbzdzsze|h}h~}|g~nlmmprorrsuyx{z{{||{}~|{Ā~zƁÁЄňNjϊІӈѐ̔Ďϗ̖ŏҘ”ΙƘɖϙʨşġȦͦʩʟ㪵ɫʲɧ᰾ٱ)7_tRNS@fbKGDH pHYs  tIME 6XIDATc`X3 LWR7fUW,dcccpTlG\y%YugMӦQY^]b QAaa> B fvӌK.tXA9kM~ך:T33,l!}R 3701pG-^7Isىu ,6Ɠ]|kl5夔d$%Q~yIENDB`xfe-1.42/icons/kde-theme/miniblockdev.png0000644000175100017510000000146111444154372015306 00000000000000PNG  IHDR(-SsRGBPLTE2 K6 5~% }7] +b _b< nwy ~"MRwF  ObYk!Y+[ !l$ begf z'"zw.*#n&cr!#v(u2x(z7 |( }2<&1, K/W 5/*5*KU@9AT:D6>;EwmW͝5cڔ*rO\pmǞ?޾~۷Red躦*2!0 6THq=u@d@!bR \UɀF$ Հ95 %-p@ ͍-Ţ릻0njnšՋAi`!@s Z/ ?m=ڎl d#6 8 TDӚ-8(4ADzV("uU6ր%oq@$wHҮH$oDן\|>_?'v_!井 w|YL*Jbt}Nꂨ=(0\EL;e!WѤN1_waJIENDB`xfe-1.42/icons/kde-theme/xfp.png0000644000175100017510000000367511444154372013446 00000000000000PNG  IHDR00` PLTE    ) !# #$$"&'(&$+)+.+ +,*-,&10)/1.203-4!03'45#1573:'8:81=6>@=>A4@A/:EPCI0HG@HI7GJ=?M]PM@MOLPOHGQ]NRDQS@TS;QXDTVSXW?XWOZ[H]ZMY\NI_o^_L^^V]_\]cIcbJ`dUdd\efSahSifYlmYjm_goYUppoV^ppq]qosnsYrrjovaqw\twWtvawv\xugtvsrzdtz_xye|{az{gu}g|{sz}n|}i|nyd|^qk~hio~zklssoosspww{{v~|ƞɕŅ˥ͤæˬÝɜҷȳѧƣ٪͹ݯٳֿòÿǷݾ̼iKtRNS@fbKGDH pHYs B(xtIME 7rd6IDATHՕm\SU}JPÊ2^0+, DZ4V[,G\9aˢYZh-B$Y:[-[[֥%1ܭ{T~}<9&mpx +/d0Ψ]aT&OK>Vk0tlb0/ ER.'L cV ׻MB"F[a47^ /O |%>CyQ]|1_l 7C|!>vԾBkU X(YŠ=4}^o~ή5RZ-bI:]na˾d{ NG֩~r`@-9 C.;]pٓ N^Bg"&Ňf66wܟv~pQ)5`C nKyٳǛ]|vPڇ$N KNg=NGCoԯcUvccdt&Kfʟ] n;_-◟7Rؙ]FR. U\ CD[`2"S3>MĎh7N_IENDB`xfe-1.42/icons/kde-theme/redo.png0000644000175100017510000000070611444154372013572 00000000000000PNG  IHDR(-SsRGBPLTE8MOQQQRTTTWWWWXYY \` aabcddfhjj#n"o%o!p(s)t7u6w.x2z3{7}A}EK>?AFHF`^mt[p^ꚽpQDtRNS@fbKGDH pHYs  d_tIME 45 iIDATc` YX¹&vNNFP>&U DA vBy} $s9e4t`̒jjr%BJRȎaaAu#o ÊCIENDB`xfe-1.42/icons/kde-theme/sxi_32x32.png0000644000175100017510000000177611444154372014315 00000000000000PNG  IHDR szzbKGD pHYs+tIME|\xtEXtCommentCreated with The GIMPd%nbIDATXõW!@06mh$jcFM6mؘ6^>;#0wF gb>^[rԮ~h>[rGùLZ0 4F##q H1ADL&}-A~v3'mD0 18yΒ@J,Kl[Qg@-i#.m킈 yNTn.ιBh vb42? ӺOr\!D_{D˲@ƌoI+8cǣ}^98ckU;4Mo@8U/oPs.&pXX}~ʊܦEE[ȓ+QPoAjekA[z"9'<ş?p 4jIENDB`xfe-1.42/icons/kde-theme/ps_32x32.png0000644000175100017510000000300411444154372014116 00000000000000PNG  IHDR DsRGBPLTE333555777888999 >>> !!''**YYYZZZ//2277::gggghh??giiiiijjjBBmmmnnnGGnooHHnppoppsssNNuuuvvvwwwxxxyyyUU{{{XX}}}qqYYͷ;۟dtRNS@fbKGDH pHYs  tIMEmMIDAT8ˍ_ qA̕Re#W!R$E$g6a[U#R۶첌FÎ1ZX֑e3cG>O~dD2wPttB0ţ'n\/-):w9uq?ș0|p^ݺt.8S|U&ڿwϮ; n%P~ܺ]^Z~rхS'>o;˃0N熆o^Ə,e1_<"-D\'ZoPm8'Kb:qm`A[0D[o :c-&X ͆/pr1AW+l Pd݁OLݲy5˖(-a4)`zJՉ#W܎ р dD*̈{ygޚ823"rUл>1 {HY;L( 5!j3)SePiJ*#J+W@P& ,fSVLB!|[MHM"huDl|L*IDMci2i hQ_h4CSt(Ƭc,+UshiƦ2( k+Tg(js0 8e<1B7Tc`my0= g~4qK  "}IENDB`xfe-1.42/icons/kde-theme/view.png0000644000175100017510000000146611444154372013617 00000000000000PNG  IHDR(-SsRGBPLTEjO1r_IssqŒNıˮʫԸqйϻҳ̺ҳԽҿԤx֪עƒڷ͈ܳޯdvӲtRNS@fbKGDH pHYs  tIME _IDATc``W;=mQ8`Ke̞9P!nr D@xbnvZ}lYX@?̧VW, lec$iʏNɱ h&Mlh*r Ui$ԴOR P /:cxXQީo,+ WZr,;-D֎l`֌PwCcHT Έ&E2/<@WIENDB`xfe-1.42/icons/kde-theme/help.png0000644000175100017510000000125411444154372013570 00000000000000PNG  IHDR(-SsRGBYPLTEde"h"k%m&m(m*p+p.s1u2v5x6x;|<|>|=~@AHKHIJNNOTSVVYTUVZ\]_Z[[\]^^_`cimlmnpwy~|tRNS@fbKGDH pHYs  #utIME!aknIDATc` Dx\~9ό@y(8:2(7&ޒ , SYP& _^mvqsOpsM,RQ H:mJQP@B yBzzYF@ 1?F$(H accUXdcq*#7b =-%TOJIENDB`xfe-1.42/icons/kde-theme/trash_full_big.png0000644000175100017510000000301711444154372015623 00000000000000PNG  IHDR DsRGBPLTE9JWT g#n$_*u/} 37= 6C<@&?ANKK+L.LQU W7S6V^)^[[?\?^jj?`el4i7hr-mEfy=pSm}&w~>w}MtZsG{$&?+8-"f~4Cg6Q+9JP-Ux[{ <)CGOEHCRpIwy,.IPO||}ʕ+W`T|ׯ__]j~`͏׭߼ywZ~I/k( wt k`ϗMi/͍  IZi $yuHHl $-nM@( (#H \\%yd kn!$ BKyDۻzBSYFWJy<77Gv-TUʅɮMgw7xƻd#)н~d)m YI! ).^IH ԯoZhv[iV|PPHwJK* Kں*BCB\>I`CR zŒ܌҂#BCgEV mMYA^!@Ay;Ìc={q˶L; Q{ӯ_wK 5L;ѣg?|K̏X]|l[# "`'@S^-IENDB`xfe-1.42/icons/kde-theme/fileopen.png0000644000175100017510000000163611444154372014445 00000000000000PNG  IHDR(-SsRGB"PLTE $&*))+1303:<?!@J%GK1HO+O9Q1V8SY/X!\&]7])c;^:b(d'gYw/YCc%eTh,s#tPr"}[z+7Y8.f1-33,L51606tu77879:;=><@?>?@B?AHDDnHHLdXZVt]^`cvdf{oruvvvy{ڊ`9=tRNS@fbKGDH pHYs  tIME IDATc`X[!H8yro?//\?yBcU +D{?6GnII@53L܎<߂VAyD9yWBM_ߊE{S]Ni؊rƶ[sVe啛dVϖFї@v镝Uby쇠ϛS%ПY䡥ii_q.Τbk~wҧknϨrr ѫz@ra`:{[CNijwZx:KT6Gc̿]WRáFh™vU`Vkɜt`vj}ѻцu։ْ݈RtRNS@fbKGDH pHYs  tIME 6wIDAT8c`^IE3cyqH)m&fP: 1Q`i74Yw2ђDH\?k`uBIN6&"p?~:ֵ%nf{;( 3A/Yzi6D7 TPb-T TU`u'&{ڛrB<)(nzSi_ϸKq@[C (}PG„$k6q&Y`nz{ k} %չO ܀nk@kWZi(- V1υs:/;2 ~Υ@OdxR$ ˝?<!)״iaQoO\:!u_ރܡQ`xmg_P#~~zz8PA n*0;:З_} nܸa \uUm;|ԩS'|+\Xxʍٳgʠ ;Ҫ&,]t \*@&l4gŖGN^y$ @M_=emz9_/0Ā˷A$rv );ӀL]{Ĺ?6bff hf u M5IENDB`xfe-1.42/icons/kde-theme/gotoline.png0000644000175100017510000000042511444154372014457 00000000000000PNG  IHDRRsRGBPLTE5&W.0tRNS@fbKGDH pHYs  tIME:3DitEXtCommentCreated with GIMPWJIDATc``0 0 1D`" !Sc@16dPb0qG% LLL!b( 0gn;=IENDB`xfe-1.42/icons/kde-theme/dirback.png0000644000175100017510000000072111444154372014235 00000000000000PNG  IHDR(-SsRGBPLTE;;;<;;;<;AAABAABABABABBAHGGHGHGHHHHHMMNNMMNNMNNNTTSTTTZYZYZZZZZ`_`_`````fffllllmlrrrrsrssrxxyyxxyxyxyxyyy~~~~~~~~~WtRNS@fbKGDH pHYs  tIME *-]˔tEXtCommentCreated with The GIMPd%nuIDATc`L z|E2@W] od('-)!*Vo + d|a!>.6f5y0_b/.,I1A~QA^n^N&Tϰ26C ,IENDB`xfe-1.42/icons/kde-theme/bigblockdev.png0000644000175100017510000000301511444154372015110 00000000000000PNG  IHDR DsRGBPLTE2'9C J P8|g B N)Q#%YYl\Ibj^NQcv]hƿA| Uh;qH oC? tpvxa& #+pJRLi*S[H 'T:yTp%:\X.[ [a bK.(:VP*+Z^39rKy;~ّ-%Qiakw}ċÑrtwzoxpȚfvx˖}ϟ}tgө԰۴ɴY tRNS@fbKGDH pHYs  tIME+#}|IDAT8c`@ ̟w׽ I\ҩw|GZXv~ ^ƪb}W.^u(ضk)k`}XL8spJ̾^ S].)ʚ~2 o޶m[Wbsn\;ūS}@eۖl Oў L_H̞ FlX"m6߿ݱ=]]]@`vR)|o>~aW!ȟ]ЀJ>ܫt(,*,R~ jn^zٳʷ)i <ӻw_>+8thŴE/_>&VqwGmA v,[ힴ{Dc[N@N@]VꓵVoƖ}@:;;'e{m={vo3&DFFƤ-`RqYYYǴY@Wlm07f\'.*PޚlTy~~~i@0޴tP?dOo/T9Yr}  " ؍ܭ] Uy<WW0Wp63'okdkabk+PYA687B9I"s8܂-5fb=^&"71bIENDB`xfe-1.42/icons/kde-theme/invsel.png0000644000175100017510000000025211444154372014135 00000000000000PNG  IHDRb PLTESSFtRNS@fbKGDf |dBIDATxc` \+DP "bLM "@%"L @-@j ;WAIENDB`xfe-1.42/icons/kde-theme/horzpanels.png0000644000175100017510000001103612435300706015017 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWk#))H 7orٟ{6g\KB$JI/&a%Cx3ɞ׹[Kxӛ{r3 /kBzIZ!T=ou^6#JdžY.Ⱥ4=v?wKE=51R=}v6 l}9] F7umeK0GiWG }e\ [lz |V ebrvN&}o;sC.ș&G]7`]oj^7% LpF2ߔrݎ\)Nd+╀[߰!45/ ցAaN`Brg;ؓ:@ ۓ ~ \p'3C%DNƜHۖD . ^?'P'ވH(IBa]Qb1cI.$)Rʩd-Lrs..]`QJꪯRC5\KC4ߤ[ju=ze@* ?dGy\n)38̳ܬ)s)k15c\j'8c g6[( 4ENX&ܽ[ތŜY̙E2/kS+M46NxeYBu#A#m4_%Kt/%$+LR<^tIݾ0,8hON-GcǮyv/SCuWRVhjX,k #E5K[.Fv ۽oumB9nØK4Ɓ[שC!=c)YNӵfʨΦ5ЦqPzCUbH9Ί(X5ws6 NPN]G-ĬH £!wfb;~=R@*)*GC@&gkp=j:pG-G*QYzGp!:am/'zюvKb{wë"ӳhp~(4<:Wk%2V]뮠EfGhՙu~Mq]-mcY}e>q3tystN۴Wk/(qɼ:g@GD%Œ@eѷ~DA p$OJ4{ͼǘm넸 ˓ kQpPᘵX0\|U_LazTXtRaw profile type iptcx=I @ 3#$ar /-?vϧm[`ɓ)Cp(si/@Uw{1b{ jiTXtXML:com.adobe.xmp @tPLTEb}5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mc~efAQhjJUKUTM`\^ke{jt聼鍻ꎽ쐿識۬ݿް~~tRNS@fbKGDH pHYs  tIME NIDATc`@&F:Z*bľ N֦zB|\L ) 1a!A~ 0PY^R`Wg19b _UQV+`eIQ2 f`y(?.B8>:<48EANSUAJBDXX0|7>+EnIENDB`xfe-1.42/icons/kde-theme/xbm_16x16.png0000644000175100017510000000131311444154372014267 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/exe_32x32.png0000644000175100017510000000305111444154372014257 00000000000000PNG  IHDR DsRGBPLTEhA77@>CI)BM%HSWV4Z'_(ej0cP`%n+r=kIh5qYk2wGr:{[0Jw_9Nx?G}a=b8%gK.FgC]WlTNkDSmN]2 /p?|ZF1lUvMwAd@TI=)xUy\zaցr|Mc|SL-pUDkK8]OiHZ?kiP1T)swYG޽پvؕ۶- !biftRNS@fbKGDH pHYs  tIME$ VIDAT8c8 !͛`5ýs'OZamaa$+--", /p `­˧N]ތGu3'ϜS۷o_~?رc{@ljo_?ϐ|ZVN>A;޿zKތL,l\\B_:} H3P0?qz~?DZqynN.ۛ@!+xr 2Abi; . @wn\2gɓ'AЛ(Τ+>t_7,߿ g |gp+E<.51@>\ gv 8TzˋIENDB`xfe-1.42/icons/kde-theme/vhdl_32x32.png0000644000175100017510000000222611444154372014436 00000000000000PNG  IHDR DsRGBPLTE+1678 =?DGJ#N#R)U*X0{{{\2_7f>uPwO{Ycdomwnt}uzs{}{·øĹźǽɾͺ8tRNS@fbKGDH pHYs 􊲉tIME 4/ʄIDAT8}wPU[ֺ^ƊBŁ VFD!ɺޛy?ji)%䄢q|-d2,Dzs;^vՊΟ;m8^9'._h93g;ӇsơS /޿{O=މF0UǶi*A #)`[5k5i?00ɀJd&b9gV eNZc}nMmJ)$^,I`Jb6DH#w\pN_C׿ZiIENDB`xfe-1.42/icons/kde-theme/treeonepanel.png0000644000175100017510000000141711444154372015322 00000000000000PNG  IHDR(-SsRGBPLTE5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ일␿ힼ⟽㠾㠿識۬ݿްߵltRNS@fbKGDH pHYs  tIME)"eIDATc`@zfڪbľ ޶F:B|\L yI^Qaa~> n٭͍ͭu 榺ug@S}S}ueY H @(RSYSY^R`pInf)2X*J+J SZ[[kJ92 -MqUŅ ~Z IFbipdxHxHP8/7`gL>iaIENDB`xfe-1.42/icons/kde-theme/paste_clp.png0000644000175100017510000000165111444154372014613 00000000000000PNG  IHDR(-SsRGB(PLTEwne/7>?)!8uHG|MN:LuBKKLSVbM%P(_seiiBc%VqRf!Rxl!{hVhhvy:ltquȳ\ڒ$eSjjhlnY؜*fк.ngs!u;*2668;;>ARCDHKN^_`Aabcd[UYZiuqobsaυvxjvԉՈ֍׎אڒݠߩ'atRNS@fbKGDH pHYs  tIME#XThHIDATc`u+.il2پHF,u 3H ~FEeiqQy1&@mpV` $n7ˠ(fbwsڙ%e@'丛," X9*NoiI@U ';Y00/ϊs6Z293;Ԗ!cNTX)y1N :[jʓE^zԾ.{9@E=^IENDB`xfe-1.42/icons/kde-theme/run.png0000644000175100017510000000131311444154372013440 00000000000000PNG  IHDR(-SsRGBPLTE'(/499<;=@A CDGLMLNQNRUV\_^bh`iih jkkfr huv$pwy|yy{}}$y$y$z(z(z   ../08+'919BFP]+tRNS@fbKGDH pHYs  tIMEMjIDATc`$St\uEbCwe-#Qilbj-Pʷ [aX,HKiDۀEXEbXD Dsh Q?0g4%XG|3X87onrE>#ܵy2z20c9Q!J\~IENDB`xfe-1.42/icons/kde-theme/djvu_16x16.png0000644000175100017510000000140111444154372014447 00000000000000PNG  IHDRa pHYs  tIME  ;o!IDATxmKHTaQӄ,5L t!1+ZPA-*H-D$MeEDEżPi8s-4g$_[| bG] :jHXOgԧx}:7Xb+X0u7gc0A%GP`d,  FS/ǽՆ &Y ްd= )F*C0À\nѯxڃ.4hֹNZf6;a~9UmU!N{':1 Ax-;]{ @d z=N;W0TBo6׮#b@+Gb#~rh#8(cH5T)tYw7#q9a?K*<1# P^3]ĒnFOa`'d^J<:S AAkxz1qKQ''#eRڢ $BXzT~hIQ2BbH-*!e*َ0+S#8)%J?:rUJMMLP[dJ0R @`aL0 󻩨AMM`Ӫ=c`_ ǰtIENDB`xfe-1.42/icons/kde-theme/xpm_16x16.png0000644000175100017510000000131311444154372014305 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/package_16x16.png0000644000175100017510000000152711444154372015103 00000000000000PNG  IHDR(-SsRGBPLTEer  1;D_3`3 ^4 `4b4e7f7VQ^\bd#jml+x9Ƀ4ݡ8   > $9(:!"1P$(0),<-+3+-:.a8b/-0/01p?6@99?@?AE?@LtTGJLJFLePQPQXQ\[rUVZT`iabkcd~fgot{tRNS@fbKGDH pHYs  tIME!"+OGIDATc`m7d>3UzR5/6Q̷X1.#*$47ȉ(YS\TRmm*/-*ifxm=ty!n=iLp߈u/dF( "6$%IENDB`xfe-1.42/icons/kde-theme/sxc_32x32.png0000644000175100017510000000102711444154372014274 00000000000000PNG  IHDR DZPLTE`)))111BBBJJJRRRZZZcccccsss+tRNS@fbKGDH pHYs+tIME   N5tEXtCommentCreated with The GIMPd%n IDAT8˕Y \3q|:JzemCBh3 O*n#=Z 36a$УZ)Z-cg(>l,̓!< -R[u@ &v9z-̡ : 7c0L9& pHo11S]bCMtB(Zȅv$2Zh߂.|\y*iʮy)D/ąm:/i}SȲ_y g#К8{I;OIENDB`xfe-1.42/icons/kde-theme/h_32x32.png0000644000175100017510000000237211444154372013732 00000000000000PNG  IHDR DsRGBPLTEdddgggghhhhhhhiiiijjjkkkllkmmmnnngooooopimssr }}}x x ~~~}}#"Í+č+Ɠ3ʙ<ʚ;͟C͟DϤKѨRҨPֱaײa׺ؼټڼڽ۾ۿw˜ėǚɝ̊ˡ̕Υѩӭեհسٯ۶ܹ߼4=stRNS@fbKGDH pHYs  tIMEYe+MIDAT8˅{ AEUՊh)M㨣#ҕXqD]+"qĆ]1kIْL$Y}ߟygw{ ̟3f3qgh}ׯ^>{qvr:>yquk;V-o;uNN~>χNٴs˚MT^ 7]t쩓f:! P0i_Pfk]\@.G5UU AATdY֪]BAH|˦  -(zضeP\J3tTU;X6`+0}M"54@H$1i:}0K` ' NQt];VI!c -xxFg V]akB gW, eP⇦Y(fGre@M bzpjewAX+v)\UYeߞպŕӫ7߮5IENDB`xfe-1.42/icons/kde-theme/vsd_32x32.png0000644000175100017510000000303411444154372014273 00000000000000PNG  IHDR DsRGBPLTE $ )-(* 134,15;>D  C@(>#"JG$DB?!MBGRR?M%*==V$(YΥ=;?:a:U?;-(_??dٺA;.^55i/.@>04PiQePpY^@ebda$kp@B>mhjguݚ\mjli`FDqJKvl~coqn@x]rg/-}߼hiKgqPNjRQTWXsjmSl Z]kp(nkQ~Ɇv~noXVpwop |~{tuw@#u{Mnkxw}{} J銋mnN7· ̃AN獏ۆ݈܍A@܍ M^y{p؍KܗKΔe{^񖞿kўrˠx_kʩЭr}ķPʽ$:C[pj˱ȭ[&ϸ*.NGQjstRNS@fbKGDH pHYs  #utIME!16IDAT8c`hЋ000~ŋ'/ݵc֭[7"{~ /_?y;Ν< \(8ywmĥW@$?S }ǿ}_?| ;,,,$ƩA_?} W`>mƌU̹dpڣmY h&gdsj ^ @(~}gk߾|P~3rj~rO?`3j?7OYIU=A {'T~[mAճ /K|ʮҼh ܋ Bbq)fz? Yg^D`~+T۷B,*A>/k̊H DCCCXTA5>}ߡ ~)5`q^֔ o?| Q T˗A5eK_* T+V, 8ɷA|O}Vn "ŝoD_]Օ`u *s8J <,{IENDB`xfe-1.42/icons/kde-theme/twopanels.png0000644000175100017510000000140411444154372014651 00000000000000PNG  IHDR(-SsRGBPLTE I5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ일␿ힼ⟽㠾㠿識۬ݿްߵgtRNS@fbKGDH pHYs  tIME $kIDATc`@zfڪbľ ޶F:B|\L Ei ^a~> `T_nokPgp 5V08@2[kk*J̆B%0%(_^` 8Tg3X @D > ϊa0I4  gRS N o@hF"yA"yGDEIQ'NTsb)a] ^)]&f,g$ns=i3{Xi.k3~.8t7f$dz:F}98܃3 8M׈)62[/Ԏ%gϏ/H.i’K>0&4uCˤӤ֨eϨ9I/5۳F ɽvaݽyɽEzkpq[K()hmiP J3sIENDB`xfe-1.42/icons/kde-theme/bigchardev.png0000644000175100017510000000305311444154372014735 00000000000000PNG  IHDR DsRGBPLTE +  C. D@ F   " !u !#  #%"#') %'% '(& (*'*,)/+*,.+%00 ./- /1.02/130/46342r%!=34574796:;9"<>;;@B?@>@B?" ACA%-BFHDFCFHEGIFRTQ5-TUSUVTC8VXUB;-&9)Y[X?4]_\9(;19/decBD5fge>>gifEEE8kljKSEH@HLTDnpmae[[sur[LQIVMQOj4wyvg^WJ\XPpr|~{a_X`Sb`yLhVl>hgoYp`pes_yPU~kyv老?z|}kY~wfAns^@}huԚӟm{Ԣuڣeأqgޥa˪rOǭVQKͱְa޷̸Ȼbz¾qqmu}xȉ{ɁЅЌ؋ݔtRNS@fbKGDH pHYs  tIME$oqIDAT8c``j:Xxڵ =,~ V߿-_onl/!$|A((I Aܰ߿d`t=\A*u)Tki lt߽(8_#*K۷A xED9 ^D12qr ٘ ^A/(- dŀJؘ ^$0 Ikhjʋ p2z Qp߿TfQy ]K[[KUYaf//S^\l-X zSǣalfĄK@+d5Ll]= AmYP7L6gU@ligNݑ}>|\s1Ȋ߾}óիo}f]g~ O:{o]3*~#KΝ;w3'O^.X~amWH( ']q7yQHI ͦoxp-FX8]w_DU -$S"bξOP ;=}>UYDzvqeE 7+DS gobW?k) XKtnQV Qp'2IENDB`xfe-1.42/icons/kde-theme/minishell.png0000644000175100017510000000150211444154372014620 00000000000000PNG  IHDR(-SsRGBPLTE9 !!!$$$%%%%&&&&&''''((((()(()))+**+++,,,...///000111333444555666677777888:::;;;<<<>@@?@@@@@BBBCCCBEEHHHJJJOOORRRSTTTTTcccdddeeefffhhhhiiiiikkkilllllmmmnnnoooqqqnttwwwwxxxxxyyy{{{|||}}}x~fCtRNS@fbKGDH pHYs  tIME+JAIDATc`Eeeeuy Sۀx1d%DF@t@̆4OgW pq en5Ϙab- 95*2ʪ*rM ̬FA||,M> ];;?A=?<>@=?@>@A?=DK@DFCEB?FMDFCEGDFHEHIGJKIHOVPRORTQUVTWYVVZ\Y[XU\dZ\YZ^`\^[]_\c^]Y`g^`]b`d[cjbdaefdfgeghfhigbjqhjgikhjlikmjlnkmolnpmqspmt|rtqsurtvsxzwy{xz|y{}z|~{|µĺǽ¾ѻÿn<tRNS@fbKGDH pHYs  tIME.$_"IDAT8ˍO`,n ^} Io " Q4DC7CVifJ-%y ؈.ϧI) ryyq,?o# ^Ԭi4:UnlY/4BUU^>\6xS@ /U^9^_TV^`=sw +@D&QQ":: `.uch % ܱPm 3\*!lPIENDB`xfe-1.42/icons/kde-theme/tcl_16x16.png0000644000175100017510000000113611444154372014266 00000000000000PNG  IHDR(-SsRGBPLTE+-<JY.bCg=z{||~o¯ȶq+tRNS@fbKGDH pHYs 􊲉tIME 6+ IDAT5R0 rPJ9P `C(nӴX3;<7o./gbШVN vn>o!Nt(EP*"]4Rn7nٰvҹ3N8r~}b~ܿ{[7_x􉣇ٹૡ G㵵͟?~h~ J|h;|P20 i*BVRB<Cr'. D4 #@8*?jʪJ\v1O<+'7O9^I$þ@ K+RDGY¢\12:XT.y':5p$Ze-Mv/0 \V;`!؜Ve @"1uT9,5-BT#)JبYs*"sQ@p{W>klllllpooIIrsswwwxxx~~~uqyuxxA *tRNS@fbKGDH pHYs  tIME " eAIDATcPA *V2l,LLL@{{C}3=]ms@=d)K)jTBUS!jU6n A:od`#0L@mRsRDPH>HFӲ8@@IENDB`xfe-1.42/icons/kde-theme/zoomwin.png0000644000175100017510000000122711444154372014342 00000000000000PNG  IHDR(-SsRGBVPLTEAzM'MT'aYk\AZ  bLb-lo~no}hptn,q}~~JՐ-א,ؑ+ߚ3ѦZ׮cѱnұmڶmôĹɻʾ˽̾Ϳοwz{AtRNS@fbKGDH pHYs  tIME :45IDATc```34e@Msk;[+#8_7Sʗ3J w [eF$'$*BlR23 bvAqy">3GB{-2΁i9p{Re%"B< * (@GHq00CMUPp+30밂pE9Y>hqS5IENDB`xfe-1.42/icons/kde-theme/minifolderup.png0000644000175100017510000000133311444154372015333 00000000000000PNG  IHDR(-SsRGBhPLTE?    % %-77@II'K'M(P(RRR)U*X"Y"Y+Z,^%_-a.c/f0j0m0m1m0n1n1pOvV2s3s2t2t'{({(|_}HX992E-FOOP&COkk>bNoBB/Nm쉽zCCC$>(A*DHVKYN\agdjgmwwzy}|ftRNS@fbKGDH pHYs  tIME2%A3IDATc``PSQUWScҒҒ%_P[^AQAVAr rs _A:R$$$A*66.6.*F_A2($!om`( +b^:Y& bFFI & .ܺzziёy BZZZa@ߒ  8,٠>^vl ,v``f`hamȀR 6KQIENDB`xfe-1.42/icons/kde-theme/sound_32x32.png0000644000175100017510000000306211444154372014630 00000000000000PNG  IHDR DsRGBPLTEa\bVWU dWYVY[XZ\Yg[]Z]_\(e^`]j-gac`#mcebefdfgeghf)q+qikhjlikmj0ulnkmolnpmsomoqn5xrtq9|;|uwtvxuwyv?xzwK~y{xC{}zD|~{}|G~}H~VہPRኈS≋체¾êŶƷDZ˼̽`tRNS@fbKGDH pHYs  tIME eIDAT8ˍO`QEA* S3kQ1ͦ 9޾o^ %591195%a!OK;e@T~<,CـsXXj1@k Gs EJe)WTh4UHTiԆuQԕ)+1KЍgL,̐TMiz cr]p\^R! Afoz,zX kF~X YmFm ƲnGxc$B8u{=`F :ȴ ,)ic Z&0zJ2%I h145IENDB`xfe-1.42/icons/kde-theme/setbook.png0000644000175100017510000000106611444154372014307 00000000000000PNG  IHDRڭsRGBPLTE8<>>BDFFJNSZ\\Y_a`dfkjjikpqvwx|z~~ " >'1&) I)2(UN_T2TFM75}tRNS@fbKGDH pHYs  tIME l]IDATc`YTʗsuDP BT0 4 ̂"#E9#"B IDATHc`4,9:"0^BXU nDj8j8bn~nuâuKV//^^xQ$ 윁lll̬--L"igimm 64177445-10Cv(*&ZF. { 4jՙa<܆'KF1h$ ;մ`G݊6C;vl'AA9@`TS`)Sf56PnʬSyp ݥ^+/8~o7o޼k)2NS&BAԩS3XVODL K~Ja^XKG4":Cdk;H,ڛj ۛk**Zv5homͫ8U $6={5p  ~U߿L tG^ݹaWaK\âV0c- eg676s5tTW?߿ s32 {X]( אXVVV j{3W^|*yZ @ZZQVߏ7V׃c.XPVQTW߿wyyG%D%%Ed❖UP`іUz_ʚ . |B:'#J29YeF5uK(X}V?|a[zVr2R!>==ѭ+=5oT0HyxxH$ kcR3jb8  ң##!z4̍A1 2@I$i@AjR"#BCCԐ4@4v*0ZS ^oXaIENDB`xfe-1.42/icons/kde-theme/shownumbers.png0000644000175100017510000000041611444154372015213 00000000000000PNG  IHDRyPLTEstRNS@fbKGDH pHYs  tIME  3[tEXtCommentCreated with GIMPWPIDATM 1P G(t[pb_*pz$!bU"j @7DjC[bX!c&ւ ~QfIENDB`xfe-1.42/icons/kde-theme/move_big.png0000644000175100017510000000125311444154372014426 00000000000000PNG  IHDR DsRGBPLTE(tRNS@fbKGDH pHYs  tIME fQIDAT8˭m[0cbI,K,4a s 琮t>}=Ϲws@+k¶mŖbΰO^eE&%('%#%PLs xBp躿%d<ƽT\0⏆hہl<Coj*@p ϛ-$`*#sU΋\TpJ0CpLedV* "p榲&2"\+W`iB 8s\_HBmj ;`%VV.2@}V+뇒o)8A wZYМVnp?9zM`<~j*٭ʖ[Mjw-IENDB`xfe-1.42/icons/kde-theme/replace.png0000644000175100017510000000031711444154372014252 00000000000000PNG  IHDRb PLTEvڻtRNS@fbKGDH pHYs+tIME &C.HD ϢbR`Fi9E%%EyYIF>j+˱xԍ,mmm-uxAfNNN`Su\=<===\~A>PyG!k(M? 1IENDB`xfe-1.42/icons/kde-theme/zip.png0000644000175100017510000000122611444154372013441 00000000000000PNG  IHDR(-SsRGBMPLTEI !!!"""$$$%%%''')))---333555888999===>>>???@@@FFFKKKMMMOOORRRSSS]]]aaaddd[^eeedgggggtdekkkxhiT\lllujkU^inmV^vkknnnpppqqqrrrsssstttttuuuvvvswwwwwvxwxxxyyywzzxzzv{{zzz{{{|{{y~~}}}~~~|Ά׈ՊstRNS@fbKGDH pHYs  tIME* jvIDATc`Q~d fȇėJ1R2ӂ|@{#9uk0':)JIFE $`hkf)chm$뤥bc(e oeo 6Y!.'?Qj/sJ^ efnfHnp@Nw^c.IENDB`xfe-1.42/icons/kde-theme/gif_16x16.png0000644000175100017510000000131311444154372014246 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/biglink.png0000644000175100017510000000225011444154372014254 00000000000000PNG  IHDR DsRGB7PLTEDBCEF GHIJJKLMNO PVT!QU#R$S&T'TX)U*Vb+W [-X.Y#]1[2\(_3]5^+am6_8apq:b;b=dj@ACNwywW}Ɇ̇͊Ђˋу̏ҋؔ̎͒Օ{܄ݝҒ਻޽)U tRNS@fbKGDH pHYs  tIME /-2 IDAT8ˍOp:%mtYpfm& +E^9f (*W DHf93kl ֵ㜖m/|z(E1Yl;s\M3{`%SW50tU]'} ֲn=h'4@Qz<4YXITZڂ,+N^-.pj#ו-N,j%r {c%E$?_.{S"8XlpiMyu95eD{$`nBF^\=i3k?WⸯCfefy|AGaT++ TY 0cBX }Jz#˥#jWIENDB`xfe-1.42/icons/kde-theme/help_16x16.png0000644000175100017510000000125411444154372014435 00000000000000PNG  IHDR(-SsRGBYPLTEde"h"k%m&m(m*p+p.s1u2v5x6x;|<|>|=~@AHKHIJNNOTSVVYTUVZ\]_Z[[\]^^_`cimlmnpwy~|tRNS@fbKGDH pHYs  #utIME!aknIDATc` Dx\~9ό@y(8:2(7&ޒ , SYP& _^mvqsOpsM,RQ H:mJQP@B yBzzYF@ 1?F$(H accUXdcq*#7b =-%TOJIENDB`xfe-1.42/icons/kde-theme/newfolder.png0000644000175100017510000000066011444154372014625 00000000000000PNG  IHDRa~esRGBPLTEI6 W'h trus!x(}+/:]{CIEKM,SURYab菽婾۰]$NtRNS@fbKGDH pHYs  tIME-oIDATӍ Ϊy։RuL<'eM_zß}kZ2@[U7M]-d{,CmGWJo-(sˀ8H'\ )z.tQΗxB#%1 RIENDB`xfe-1.42/icons/kde-theme/minichardev.png0000644000175100017510000000146611444154372015136 00000000000000PNG  IHDR(-SsRGBPLTEP Ae} !!!"""!''M'''(((tY+++...Q&(111222333s("4:9:::;;;r.&===???",)TTTUUU<>]]]^^^````ccC+fff>5ggghhhiiiC8kkk[eCIENDB`xfe-1.42/icons/kde-theme/chm_16x16.png0000644000175100017510000000140111444154372014246 00000000000000PNG  IHDR(-SsRGBPLTEQ!/589=<@PUZ(V[+W(^j,g5l)p=pGoKp}GxQwJy3*&HYvcx|getk{rusj؀aQp{j܈Ɖʈy׃Ѝϋ·ӒΖϙɘ̙ΏҙҞӟӡС˟נӣڨצکڮۯݰݳ޷ܵḿݸ]{W%tRNS@fbKGDH pHYs  tIME '`8nfIDATc`%CBdU@TcDHHt-Lzz=2>^==UIl`=t+NFFTw{SMJX@3?Z ,"gRZ]Ql6 -,--8E:<.26ތ,i鬫Q"hib%󑔻;0BXZ*__IENDB`xfe-1.42/icons/kde-theme/tgz_16x16.png0000644000175100017510000000141211444154372014305 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/odp_16x16.png0000644000175100017510000000161011444154372014263 00000000000000PNG  IHDR(-SsRGBPLTE(((eeefffggghhhjjjkkikkkllksssuuuyyy{{{}}}cf׈i܎kݐmݒpޕŘȥʽʾ;οοƹ־tRNS@fbKGDH pHYs  tIMEIDATcJJ ubg``,1I WQMXd 94cEi < ~s^sk^ȊR  ɕuq&Ӗ%0Z4+8"61s(Ppe1iYyEq EFUewL /_m/[v1z*=Uu*K~6=>W68`3K[XAvy+;ўT9&.['ό8'gq s !=sWf)(l?g4<|rCyJ`#.O:uڵ[`ԩG?*Xc' ƥ{nݹw몲Wo<rCYO/'CނH|;@Ƿ/_>>_ | |t/\-U~ i3zJt;|<.KZ El8%fәA[,e(Wgvs;AB@K@ACEBGIFHIGIJHLNK &PROQSPVWU67--[]Z`b_ac`bda?:fgeMJghf`lmmolknuwtfhwyv|~{ccjkkllmmnnoopqqurxwxz}¾ÿ\tRNS@fbKGDH pHYs  tIMEu%^IDAT8}OP̢n1o) ^ q(ޢAEA Gt.fS}j[ߺؕFW0tA]M]UUMݞa&eӁ]4˞9xRFYYhrssrvG+/3E DQB){ƶoݾOpL- e bquo T!!±V '!nWot~ͲZ~IŖEJ !֝kNORECNj^vT ?k|P{ JO15ͭOM3RFϚ2jV!"3 o586 Z|X&D〞8Ӽ:M!VåR=JhFuЕhGt8r싍`bD)ǒ%T#UXR;i A u@d ak[ LD=Au D#=y`xh  PdCX afHz`gö9IENDB`xfe-1.42/icons/kde-theme/rpm_16x16.png0000644000175100017510000000134211444154372014301 00000000000000PNG  IHDR(-SsRGBtPLTE)))...1114446668::;;;DDDDIIKKK QQQXXX??[[[//]\\^^^66aaaZiiiiijjjRRnnnyyy0tRNS@fbKGDH pHYs  tIMEc5]IDATc0@ ~N:b<\@/O7G[kKs3@5%VVl\ CR@B2YeQbi@<&jb#6 I^PXf\4P@FUJSWS/(\į *!ȯR/Аpwv*ْuzUzzFfzzzfAPPE&dGP@`:uAzIENDB`xfe-1.42/icons/kde-theme/odg_32x32.png0000644000175100017510000000312511444154372014251 00000000000000PNG  IHDR DsRGBPLTEz !"$"'(&*,)-.,02/342685>@=@B?BDAEGDGIFJLI3MNLOQN8 QSPTUS> {JQWYVDZ\Y]^\K&`a_TQM4decghfKgλVCikhNhVi˅aSpZosurYwJ|wyveNyyX}{}zk7m:D@FCeeefffLIgggMLghhhhhkkkRQmmmTUnnnnoooooopooppYZ\__dadgl|䖡謲곸봺¿¾YIltRNS@fbKGDH pHYs  tIME4̱wIDAT8˅{@8jW-kw1XU*UhkfQUdfLb kfK<%$o8.gڢ5Eլ+^o~~^^nnwY6q?=}[7_|SGϴ umΞ6q# ?S!R`;vn\x)ƍ5b OV zs~x߾qʥ gO ,KBn*!Br̲UTkA*B=FY68|jl=iz*ꋩu p ô&sikQCwe#163HJ9IÕo-3g9p¥}dIENDB`xfe-1.42/icons/kde-theme/errorbig.png0000644000175100017510000000237711444154372014462 00000000000000PNG  IHDR DsRGBaPLTE@   ))))))))""""""((&&&&))((..//00006633664455::??>>CC??EEEEEEJJQQSSUUVVUUVV\\ggkkllqqttrrrrssttyy{{+tRNS@fbKGDH pHYs  tIME% IDAT8c` 8:ZY`uvrtppw42Ɣwur( 6kiI~ -VSFt 7RR@2կoAT0A^g׮]v@[~[]A~Ӗ.]z,|d#`3[ !8%S[# Dޱ`>"!@γf2DT*v/适h\@Vn9P ]'PkV.l[@q`T`bRk@Xec<K_f9t-`f7%V?(9 @Y!ѩnV\YYԖJ(rj,d%U߆Mpb3ۺ@k #"QwN@. 2US@$<H{UL2&̬%&"$ƊMy89 K4jt⧷IENDB`xfe-1.42/icons/kde-theme/jpeg_16x16.png0000644000175100017510000000131311444154372014426 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/sxw_16x16.png0000644000175100017510000000053211444154372014324 00000000000000PNG  IHDRabKGD pHYs+tIMES7tEXtCommentCreated with The GIMPd%nIDAT8˝Q+0+AV"\c HFFbWk -aT~ff' 4M1PJ%ж庮ߒ^y{?b,j8Si* @h!" "Xk|/8XY gb# s 3$`fS+%pF<]!Ca_IENDB`xfe-1.42/icons/kde-theme/dia_32x32.png0000644000175100017510000000053711444154372014241 00000000000000PNG  IHDR D4&&&]%b&555i=AGMVZebtRNS@fbKGDH pHYs  tIME  |IDAT8͓ uVSA]gBEKi{[¬!pI)o26&_DFRjBցۖ Ek)@r) '=0_Rg=50MY2a O5Wʬx!HCwFnf;~l,IENDB`xfe-1.42/icons/kde-theme/rar_16x16.png0000644000175100017510000000141211444154372014265 00000000000000PNG  IHDR(-SsRGBPLTE@ob$l/t:zCOZ䏏cl鄫̵ݶseظwcmؼfv]TGtY^oyȾ}aɵɹɮɂˏ˹dfgilrͻn]`or{ipыsֆtuלׂהz׽ؗ؀أvۏݨܒމޡީޛGtRNS@fbKGDH pHYs  tIME ~b?IDATc@ j\l,L ‚䘨P/Dz'uUAbsj+Kn *vʹY`4O3IY!"@sbb)X2EZ\T,-ak!ej(w14r+ TKkH+OP7(ѓܛC< >ׁ=AnIENDB`xfe-1.42/icons/kde-theme/package_32x32.png0000644000175100017510000000265111444154372015076 00000000000000PNG  IHDR DsRGBPLTE>2689>>@CCKKQO RYYb dihjkkmm mnpqrp$suvxzy!׊+֊34ݟ2>ޤS37 G jO 3 !+ S "./0:%'hL5 +V-I.@Z/K12h34F5?77Xn9:}b|p;ڄqE<FFލ_GXHޏIߖRJJpKdLNOgOQYZj[\]^_u}ahbaiwjkszu"tRNS@fbKGDH pHYs  tIME%h+NHIDAT8c`@.. KPXls<tǝ'Wz_<nUWn_}3ܙyIl}U3/襉b˗OY8;?.lӆ:k B\|ճ'^pfQEEmuEar \A˼ [/Xloc`P2œ_|277?+VIENDB`xfe-1.42/icons/kde-theme/lzh_32x32.png0000644000175100017510000000312511444154372014275 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/java_16x16.png0000644000175100017510000000123411444154372014424 00000000000000PNG  IHDR(-SsRGBDPLTE 2 7'82*G2]0T4f?bF*iWDd%mgff0t;{EO[᠈pd委~uꩣ¿˴|&tRNS@fbKGDH pHYs  tIME+ۏ2IDATcA "ZbB|< Ȉ '?o{+@vvkHvVzrb|,T '<.*<"`kUu dpq31J;BXYx,, f&*ERݍ <!vj*&2@H0* eA v)Ȁ (^58^oIENDB`xfe-1.42/icons/kde-theme/tif_32x32.png0000644000175100017510000000316211444154372014263 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/hidenumbers.png0000644000175100017510000000041611444154372015144 00000000000000PNG  IHDRyPLTE666ٿtRNS@fbKGDH pHYs  tIME  *+tEXtCommentCreated with GIMPWPIDATM 1P G(t[pb_*pz$!bU"j @7DjC[bX!c&ւ ~QfIENDB`xfe-1.42/icons/kde-theme/exe_16x16.png0000644000175100017510000000156611444154372014274 00000000000000PNG  IHDR(-SsRGBPLTExA;>EIIQ)^)n2jBi3u={GuMtX{G$[}]Qa]3$5"ZsL`zSd}P~IanZc\Jxn^2gu[cBfLrkInlmmݎtBnwM|Z|h`sjj{ɫ؍6Løb|\qKqw:tRNS@fbKGDH pHYs  tIME 5.IDATch+/ʎ rw g(MJ 0Tf-?wӧ2Lrc -TgϚ1mD@Lզaƒ% em匼=tA v gQqu+)I -̯M8gj0#3rSgUaԩ@i, eiӦfLѬ=aBCLhI雷`JCl>֏w ̪`"evaIENDB`xfe-1.42/icons/kde-theme/ods_16x16.png0000644000175100017510000000200711444154372014267 00000000000000PNG  IHDR(-SsRGBXPLTEᎷ  $$$%%%&&&sstvvv#xxx"yyy!zzz(9"&2 /8DU?Rډ)#)_m-PU$T[!'E "-[X j~ ntxrx¿ɯѩØԜƧж_ίڽCHtRNS@fbKGDH pHYs  tIMEIDATx~~w{iamppv~!kfMq`1@DŽ dQH}>g `@:d$\bilre<(RþZŰ}Yy;D|jCs{VǫhF WLxUǂ59"+0-#ovSuO]N=/4,%XtPz3^[KB62*_pJǦG'AE?7&)nI¬c.TkQǵx8 d钭IENDB`xfe-1.42/icons/kde-theme/odp_32x32.png0000644000175100017510000000317111444154372014263 00000000000000PNG  IHDR DsRGBPLTE,.,  !"$"%'$'(&()'*,)./-02/342685=?@B?BDAEFDFHEGIFIKHJLJMNLOQNPROQSPRTQSTRTUSUVT(YWYVY[X[]ZV[]^\__t`a_decghfdhuikh2udk){lpso:y-}sur;|ttxtuwtswwyvgyw{{}z|~{||}~}̎䛟期Ƞɢʢŏ㠤梦£ç᫩㪫嬮⮰䱱ȵ丹ûžǽÿLtRNS@fbKGDH pHYs  tIME8&dIDAT8ˍyPar$rDr_ə#HDDȝqm6-Z2$bmꝷ1Oެݝ}w5x}w3}~s88$Ae=^RpŪpCpXXbԅJ2"z za0_7-\_pxdy+RXw IJ N5`#5jQ -0Dh*#WyO>X@u>ýP"; X(R%5."}<-**)/U dK)wxYç+^ i++s̀Ev󑭯[MPu. CLN^.` 잽q#@El2̲^! `ig-{V_W/l5(8 / t/埿.Q/h+71':6vES6B(VF<_-i$MӏFEXzST'N5vU~5ym+贍C>W `Wɳ4KsFt"w7k\E*<]Lit8^ҒF w;IENDB`xfe-1.42/icons/kde-theme/sci_32x32.png0000644000175100017510000000303611562252644014261 00000000000000PNG  IHDR szzsRGBbKGD pHYs 􊲉tIME  8>qIDATXý_lSU?ۮkNƆP0$$B@8<11ƩO}Ac4AIj|D0(FFmºmXスv[MNιA݊<( daժU j&.b|\35'NC~gmeeۓLX<;&N ,[t:'O} pާ 1LG(( 27Ԝ'Snv.u2)U EV.C5WdPu]/vu @u4]lru t^7uhvIJeKQ19iX5yg2~G ض|uD/8v |- {?=Z+ضM8\e`ÝwҟJGv]#!I>|?rL`m{ᅬvǿq2*+(BxǀN%qK=q,ۦHEDiWJy޾==9l@0ąήT,psBJY<홆`6k5RWWҺt]Dz,2Mn& 2k͜ggnDc_e…|k *ÞR(/(sՁm/F)&~= +:!\-oc$ 10YWqʫfKL2f/TWfd 0 ,wzuKjk|yM9}'#DZ.:;;F%xttQo3-pr?Bc `1)t̍1b7nE\n>Pi>4Ysu]lF4R)hjj*941Ico\wMHR, [)%011A__7o%5 uI& uV1g7OٶmW7PD"8---s_|P5^IENDB`xfe-1.42/icons/kde-theme/dl_32x32.png0000644000175100017510000001642012435035560014077 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭY# Dy  .~J{a[3T"D"hO]RsZjU|'</k|sBIuWN}z>x/mgm .=O?%6A0Wx-1T~p+LSgef_aE[uշl֝wu\;'rid׬o{ɚe,ʏqbr32br櫤,s3EZrX`'w?2׼9MUŸ2,u9Kݓy&k޼{UaAvȵS:e{`}öi0vcգ <y|޿5~ҠOd?V!c0f ]$F^Wkqzs\YɆ,؄(MVX|r4vqnMB|,r~I^}[Mnb Q 0KոmF{: .B݁E_sumtZ|"dg8oFo%{Hi]DLOeStq|5B~T5! qeߒ׭3gT^ y1wNЀ^k. o lbJl6 Rr\+P1Yk Ͼ&B`"k7%@oV|.OUꗢ@(8dz50l8^k<}A֖:~W:RzgemlIڜ(̣B?CDƪ| 9,mր(1̙*ptgu$j"չWau! RQ)hl<$rÞZN=h9喒Hq,1Z WE5|1^y t& x5^hHp'(HUbě"s}0MEA2џfQX.DuN$۾]0X iqYӔBg@PJ |Pflx)Ojq8ְRKxxohXhc/8Y\ LHg#:w(W𙶱*i чVĥQam:B*l߬%6 &p"¦ڌvvhw9VS706E68 3cٙe[7ReOV}✮J B"†J7s%}4 W%U| wul A+Lٍ; 9RTgUCRzK[o=[*V> ㄕ&8q`USf`}?T$ 2mVMM.sB=޹2hec_Їsb2 Q$YLiUn0v7x8Dg?CH(*EV|m2sΜyjx ԑי Lb24as *E(݆G 'qs*a=rX<"{c5g5, LLɚ!FA;JbgQO!Wis/cw1̈9!T|NANjx ^-sؕ8.]t_g|+XD,?aQ*M}!,?3Y7D9!Z8"R#qz2mԶQJ&b/ 8*,lkRȪ,cX6 reo \wOcI`Xlʢ ؋>L4ƼƬ3xiSLM_5<3zwx $ȉ+OgɵӲ \LzqWSE7Z;%jv4Dϙ9c*./:4gM1_Jmhl]Cb?nFm F`wLQjaiPJ?A?ƣOo#ظX y/f+/4sǯWdWqyrB>]!!.i"X7f0ۈ.A37-F߲+[} i3 Mm8ɺVQkTgP<-gsY]_Q#hX@Dd ~Sν˜M>k3(˳÷7SH3 \i_lձ?pFmڍ#5d☓OhPf1'SߍxttkbzTXtRaw profile type iptcx=A@ }Oh w^yl`캟mi(&S3j!P }9}%Mw{1P{y jiTXtXML:com.adobe.xmp @PLTEJLJIKHKMJLNKMOLOQNRTQWYVXZWch&_jkkotxsz{z~&w~1! "uwt&$wyv(-,++># %$+7 :+8,1/>>479AC@II9/>@GTF_2KOL6F@DOT6FYRBUJ`;M]KYRHRa~dQPOkoUkYVuak`ntXyfべc񰵷}qᴹ綻w{ǿǐʺݨ͸ϳڸVUAtRNS@fbKGDH pHYs  tIME +dz&IDAT8e{XKqE -\'{摐KEr Q#\rϥl6s0uȰE2]՜N̘9?//>x-||,7jKDH"M7L$J1]Ho  AHl@+ hJ@d2R)17UrHRȕJH. ~6zxx*{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/wave_32x32.png0000644000175100017510000000306211444154372014442 00000000000000PNG  IHDR DsRGBPLTEa\bVWU dWYVY[XZ\Yg[]Z]_\(e^`]j-gac`#mcebefdfgeghf)q+qikhjlikmj0ulnkmolnpmsomoqn5xrtq9|;|uwtvxuwyv?xzwK~y{xC{}zD|~{}|G~}H~VہPRኈS≋체¾êŶƷDZ˼̽`tRNS@fbKGDH pHYs  tIME eIDAT8ˍO`QEA* S3kQ1ͦ 9޾o^ %591195%a!OK;e@T~<,CـsXXj1@k Gs EJe)WTh4UHTiԆuQԕ)+1KЍgL,̐TMiz cr]p\^R! Afoz,zX kF~X YmFm ƲnGxc$B8u{=`F :ȴ ,)ic Z&0zJ2%I h145IENDB`xfe-1.42/icons/kde-theme/shell.png0000644000175100017510000000150211444154372013743 00000000000000PNG  IHDR(-SsRGBPLTE9 !!!$$$%%%%&&&&&''''((((()(()))+**+++,,,...///000111333444555666677777888:::;;;<<<>@@?@@@@@BBBCCCBEEHHHJJJOOORRRSTTTTTcccdddeeefffhhhhiiiiikkkilllllmmmnnnoooqqqnttwwwwxxxxxyyy{{{|||}}}x~fCtRNS@fbKGDH pHYs  tIME+JAIDATc`Eeeeuy Sۀx1d%DF@t@̆4OgW pq en5Ϙab- 95*2ʪ*rM ̬FA||,M> ]* Nwwvjw ;z'q۽9KS{Nw"ѢƗ[`DtIDATxc`0CPPP PL2 `0#Ktq&@ fc@8 ʛ=tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/kde-theme/xbm_32x32.png0000644000175100017510000000316211444154372014267 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/news_32x32.png0000644000175100017510000000247611444154372014464 00000000000000PNG  IHDR DsRGBPLTE + #%&$)"2 *!&<*(5,,>./7.2>45=7:G9:W=;I=;T=AYAB`OPcURaSSgTWeXXlUYr]ZjZ^l]azgg|khxgjlnknkmmko}mqwtquuvtx{vvuyyzz|yz~~»ʹĽ¾žT#otRNS@fbKGDH pHYs  tIME u- IDAT8c`WR)@E;wO޽w/SVʺ[׏]йc(nݼw-9+tN-$-qյˏV-Ozc+ܑw_x0ʬmS'Lz`[ʕrK_8FA"D!GY "">;>;?;?;@iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{2jtF聼鍻ꎽ쐿識۬ݿް˶|6tRNS@fbKGDH pHYs  tIME 0nIDATc`@z&ڪbľ Fn:B|\L ֙qё>. 0\[]ofV7V38uAy cwGwwPE))38w7UWe(1A-uՕEi MU-ՕEI 6 Css@0XuvC,Oa0MI gRS LE|'IENDB`xfe-1.42/icons/kde-theme/bigfilter.png0000644000175100017510000001262312572262552014614 00000000000000PNG  IHDR DzTXtRaw profile type exifxڵgr${q@7xRh}!@&lv 1erZP^'?i 6髱%PfXAb[;}ݯ:}nQ>c]g}TN|׽r\qPآV<8Gɕ/ހq` NPgıb9:x0`cl n $XTJD$K*M4ǜK6K*Rr)Vƚ\KUmE$LZnŵZSPeke2C{s/u@<ʨ aIϳuxV'*Dh,+IWpz(JY&亓LM$yZǴ l9"|qҠ?`fHh @IPLTE  !!!"""###$$$%%%&&&)))***...///000333444555666888<<<===>>>BBBEEEFFFGGGHHHJJJMMMNNNQQQRRRTTTUUUVVVWWWXXXYYY[[[\\\]]]^^^___```aaabbbcccdddfffhhhlllooorrrssstttvvvwwwxxxzzz{{{~~~CtRNS@fbKGDH pHYs  tIME  !ԏsIDAT8c` UM6}΂p,s[7n⒕sPöWikja;!I>HocM%9 A.t}|补f$9* rsr232G8:3@[O@@PQX``In~Y-CKGWwGs=9FΖVݝ@#"!# +.hU MZQmp_$85].,ּ}O4Ÿ:63$g ;UCr]`>CԠnٵxњm޾vN[~T '9kҬŁ?s҂ԜqXlΖ%XuUEd'ukʋOWǕVͮ)wK_fb<2a(Hbn f,SfN۔GA|ߤ s)XOA[kL< %Q`Q\Va/Y0ۥw3IENDB`xfe-1.42/icons/kde-theme/so_32x32.png0000644000175100017510000000322711444154372014124 00000000000000PNG  IHDR DsRGBPLTE Z^`bcgg#j#k)n)nggghhhiihjjj-r.rlll3tmmmnnn4voonooopooppp8xqqq9x=|>|CCIIONN܄T݄Wއp㜜~礤배칹𻻻񾾾ìʶͺλ~"tRNS@fbKGDH pHYs  tIME5_>Z!IDAT8ˍiXUEcjfn)pM\0#WL5D+הPT\("J([P%D/hhH7=YF89:5G<ߝbz?9 BDGlC^٢"##"| ^;}ٳOrc֭W}G=Ai?[sƹ,n>_zgny~S>|oS'N?c>`ǣ^SOvQmwꋕ`ɲ]8eכs럿sWr?؞G- qbMڙ[u [lڄM&BT=!`>c: @UM"A4gɒsЭF*FI)\nsJ)НZ+)!@F D0$*K Uc`qKU%I%KZ,bܔ( P]wUGWR*(0(o@J*B򾊱8괵@5&eA(لQjaD Ҹɉ 珙z2<"BT`*Fj+ : 'Hr"/a=TO.7_${.{+۠c"4B~9|Tf:,Aj *Nifmɦ2[l{Nh[RS=7#;AY71ЄA, *%V E3(2F bWhRAuCKk0臧W5* "ZJ `(L&J P2B pb. r, Png~>VF6'' IENDB`xfe-1.42/icons/kde-theme/a_16x16.png0000644000175100017510000000136311444154372013726 00000000000000PNG  IHDR(-SsRGBPLTEq-&%˼) HݺA%$00MQ8fO0;t_EzO҄͘[э,pYcژ֓՜y޸ګռڅ۰ 0tRNS@fbKGDH pHYs  tIME 8w~IDATc`D m)qQnFrm 憚 ?o@[mCUUNf2DW%/>,b)oa(䴬/PW  DHVډ{BUմv5sL dpi*xeRmąDm"!f䗖Yq8H . (P Mխ1 >(hdP%/1+\Tְ13.@7F %0.ַ>:K39'MB?عI5N߹CU-9HYpUoRUG+3eR5[cz8H^bdgnQgU@*]΂x:&M{R֪_ې݄ܧc'tRNS@fbKGDH pHYs  tIME ,tbIDAT8ˍ{Ta)l37BQ1mT5Kʝo;.$Ѩ%s0ho;˶f{ ǎgޥs<= b{L/&b0'IBq5R8 FFX~~m/}˜!<>6k}_'<"~Z|LLҘ88@=|L}Sd4glMиª2 .mZ4tjC˱=e"ܹo;zn|T ^ԙR"J !ӳ* O!mt_#.izIENDB`xfe-1.42/icons/kde-theme/lowercase.png0000644000175100017510000000025511444154372014624 00000000000000PNG  IHDRaPLTE@?tRNS@fbKGDH pHYs  tIME $K IDATc`@L`T` d0]粋4IENDB`xfe-1.42/icons/kde-theme/font_32x32.png0000644000175100017510000000312511564467312014452 00000000000000PNG  IHDR DsRGBPLTE     "$!#$"$%#%'$&(%'(&+-*,-+/1.3426859:8;=:<>;=?<>@=@A?AB@ACACEBGHFIJHJKIMOLOQNZPRO`RTQbVWUVXUY[XZ\Yf\^[hi(e_a^j!l#mefdfgekfeghf)q+qikhkmj0ulnkmol3wnpmsomoqn5xrtq:{surtvsuwtwyv?K~C{}z|~{H~VہZ߄\ቋU^㋍b␒ef攖񶸵¾ÿƮɹ˼ξYtRNS@fbKGDH pHYs  tIME 0(wIDAT8˅{PLQ=Ny)d1CBD yGɣ"yZ$yw"'lMj#IcfX+KiZsƹ[Ō9|?w8?$dK|||2nmRZP(V*+pK%--?zZ-Aeey=V{KA7 _#iK/7gq~#MK |hJJ5X,bZ`IЇ7q^>~YYYōA~<DZP23O7 M}dc0jAUBlXLF9z'0ԺnQ hqM8㛋$1to. X<7̔IovXв% [?"A(5B~jDY ,Эv* }C ,OxFL :C܃ 4XYC;Ϸ^B3IRMtX7ns6v83HGmG$B;]/ ;m"y NP 4V`T*YEip Me #[v&+G2 wtVKM`qq<mD:Q‡~XI4&K/(TgCzhJR D5ak:@=xOEa,m j{ ZK .cl{IENDB`xfe-1.42/icons/kde-theme/saveas.png0000644000175100017510000000171711444154372014126 00000000000000PNG  IHDR(-SsRGBCPLTE#%()$,/20;79 3 = 9GF I?A ??ABDFGGI"R12g+7e5;d=@s7DtCLv4OEMvIL}=PEQ{?UNV}TWQ\\\Y`^`[fTkefY*fpf`ik`1mn^umilxsvyyyyk}t:w>hy{"t|črȖÚơÖţ Öҷvʧ_5̞yѮ˰ɧиɦ%նګ֬PسȻĽ1AEvŇʢ!tцeSe&b@XMe_UtRNS@fbKGDH pHYs  tIME%fIDATc`0o$Ygg<,$P@ќvȰ lo:3LvU9{ZG]>@蒕6oX3aYwPuZcyN|d>MenmgCKMVfZ @]qQ~;Pک Iҗf $n>}Go( P@=`UO?H@!ar} /3P@Ы27."M ( ("+#%)!.&T6MaIENDB`xfe-1.42/icons/kde-theme/bug_32x32.png0000644000175100017510000000266111444154372014261 00000000000000PNG  IHDR DsRGBPLTE ! ) '-14 $ AC E VP1 XC `L K +d;$voyg  M5%%F^~ "$!N?''*)))** ()' \P!!*,)iX#%&11!32,02=,* o" a*,(:9  K435:< 2==-?>8<>$&;=:)'6AB*+?@>D@?*)HCB6HGIDC55OEE+-LHG!"]ED%cEF &#)%" VQP#'@A&"&)?@BDBCY[X.-Q]]54JK15GIFG53tZY69@D;7_cf:5>?<=]hiYV>DwehzfcHIKHFEdpq\YIHSSHLnruWWOMQTSWYZXVX\[]{^\~`^a_ccfgcfjhijqpihqqwt匌'tRNS@fbKGDH pHYs  tIME 5, IDAT8c`@ZEK{N.^qmLY=g枿τ&ïv}9Qe4zgK~Qa6d#T-;|sܱCDndye9 O_=[ m^в|]tdU;vd;Hm[x, b+nhvUm@5'ݺS rzk.ߺdIM,0y%rkw>||jK ԙL"i-yɓ| aސgd2,Z4E'O[$_Z8^˺'\^jؙFV̪;ӻfx_<{y3$%&'W.Mɚl Lzy䴮=?ip H@#Y ]mǁLLiyiѡ,$44:::66:)6Kbдuru4`bž`x"vKL3y  ĵ>DIENDB`xfe-1.42/icons/kde-theme/bigexec.png0000644000175100017510000000310211444154372014240 00000000000000PNG  IHDR DsRGBPLTEI &F_ !U"g J#u&s-/n-g//c 3s 17 6i5339yB<=ABCA#<A@BqFC D GKCJFGEM#FNP O,JRSOPVUV#OOVRXS"TSTX[[(S[ ZZZ`_#X-V)[a`\^]c)]aej"b/_g3b%d/dnfjjm-i5ls!l"nty*pvu-s| y#w&w4w%|4y@wFx?z<~/}-;#45+-9IC&R6ID@ZET;OMK=I%@D6SG9V;?J[@M\25[MVQgf;I]]dLnVAnQ\v\UrYulct|h^srlvx{q|gtRNS@fbKGDH pHYs  tIME )3\UIDAT8c`9K|@fןk q(,xɔcJV30x?AG~hwa`BVˏo>\חt=swڦVH ̖zͲw7hٝ_zZbave]3eo^ ĉP |UL`NZzrBLiWLؕ+ 8ym+.qʍ+_٣ׯ߹q̙k! mt(OxKFF~b6xEx۷^xΕ0#)=m͜<=.|@N1V{YE31=ꏯ?o+*H!$JnĖ>Hy҉-nP szESTdWIENDB`xfe-1.42/icons/kde-theme/xfi.png0000644000175100017510000000331311444154372013424 00000000000000PNG  IHDR00` PLTE     /"% !! $$$8#' '%()A'(&*9.1#/D/.1./-!0O1U%1F/3?35275969:; 796+;V9:8?n=;>*=c;=;?@==F8?F>@=BCA?B??H7AM)Cm@B?/DdABJBDA:EP.EvCEBFDGDFC!J K5Hn>HT1Iu"M|FHE-KJHK5J|CKR2MrFMTNMEMNLRR#HPWOPN9SyMQSRPTQVLSZAUvKVb+[#^;YCWVXUTX[/]FZ{=[A['aJ^BbI`U`lX`g^`]U`xQa}a_cAeVdvZeqQfNgWfdenDjFiLhNjhfidik_jvbjqmn+hjgPlgkndls\nSnnlpRqrs/Xqko}npmUt_spro_vitjuTxsurdwZxhw}|1]{R}X|l{sze}}{cz:zgjup}xqt}F~wÁ} ȦSʖġԙȏέZŝ̠ϡѤԲѲgӾiո}ތ4~(tRNS@fbKGDH pHYs  tIME $0GIDATHwp QqoDE "!J $ӎC B%DrSefp!}nf"E+7/ne(@>>>^@6V(Q4IAAa߷ `$SV׆Pnny|)6C^#Akp:Pus F3GFh4ci#Sd ݦ 5S Fw,ŧ[N=ņ~iTvΈ 7r^p$fMc6_`D+ 7xa陈Th/NO K[=]թgA#W.w3%Uv K D`ţj J ׇ`W06AOHOvvTmL5?#=# ї]TL ;2ur-iNO [0-0D`Z|%َg,C@Lw\ujFzn"" Zbrh褠+0h1J6n1r\hTy~qۡK~ٯvZ "c8$AxALmĩuQzGh2y.Hb)6g sabX$-luϬY,hA34ͺpX'ˠې <Ͳs-Z®i^MeQMKgVUqyjI ݈yx֎ЩA]ܜƏ,ǙY4xѠy fk__ުVb7bcΒ7+p~ΰ?lIENDB`xfe-1.42/icons/kde-theme/z_32x32.png0000644000175100017510000000312511444154372013751 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/minifolderlocked.png0000644000175100017510000000112711444154372016151 00000000000000PNG  IHDR(-SsRGBPLTEzA AB B%K,UF2`9i9jjj{>s?sMuNwOzC|D|P|QRHHSw TKUzVWYYYZYZZ[\[[OObbyyzyڕy/tRNS@fbKGDH pHYs  tIME |ZIDAT= W@bZ.-N`B.Vh!# ߙy{gÇ@ٳ=cL߻:>&M󼵷"[ܬ>94{}"ЈRomۈJpzfZiIpyQ5]nc'OWFuOWQÿ́48ʒgn@ ,|&IENDB`xfe-1.42/icons/kde-theme/drw_16x16.png0000644000175100017510000000156211444154372014303 00000000000000PNG  IHDR(-SsRGBPLTE! h&h-i0k)n,p3o.q3uDt9y:y;y={PEGSHQRScUVehZ`acdsnoqrt瑞Ȁ~}뇥،뀨쉫ڎۘҎ܏䏰ڋߗ㙶ᛷ쩷ҙ㣾堾ިڳȲɸ/tRNS@fbKGDH pHYs  tIME, 2]JIDATcKK vut46fHO ptRd5e1})K:kAЬ {{Z AmCs2zkzٛgw7זj\tsʀsf٘*fU3Ϛ3J[EA=,BKY^R*j{zu$yŻ{zz*j5ey8 s#j[Dr͜P7iҤ~v&鬂: ЖT5yBJ6ϐY  >^]0IENDB`xfe-1.42/icons/kde-theme/html_32x32.png0000644000175100017510000000320111444154372014437 00000000000000PNG  IHDR DsRGBPLTEbDJOTPW`%Vc]\ _g)ch*fkjbda$ndfcr4j'nfhekge)ptBj+pikh v:pkmj/ulnk5vsom5xKsVr-}G{!3>~2J|wyv?AL8]|F=1~VD䄆P[T㌊JV匎bYㅔ[Rfpbmlp슠orzku쥧x숰싳넹씶썹른ޝ둽麼ϰְx>(tRNS@fbKGDH pHYs  tIME Q;7IDAT8c`PruF{`-vr]` ,={ig@ ^4R3@'ss=ueiAAN.`% J[}@*l̍ՕEy99&y':uڳeJ ;kgpG~Ç/%/LHHIMIL۫?|-ߵq׾My"wJ:vCǎ;scY@nBRnKag>{Ʉ 3;4nxoaY[ߞ!QUbEeuuYPǟ` R򪪪"]\\]}}XCRƮ__]kjj  br+}W/nj;Wp,Lrfcgceqs[8qp8\y^d?A<0[?xǏߎQ^/P^56.^~;;/HuՇϿ({d'_8}Νnߞtz͜g/_)xԲK.ݻ{M޾~G~ݻnyzyyyxx|z󺮿=ǿ `߿|~f˷x( ,Vw/޽uj G.8!T?X Nyi!Tw4k0y x 䭭Ё!i AoIm.tQoEu2uI{8`{=>a|Mb}c~fAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ일➼⟽㠿識 ۬ݿްߵRDE)tRNS@fbKGDH pHYs  tIME* (IDATc`@Fz:jľ >&ZRB|\L EyI^aQAb M"@V*5ܛD"K rTKwd HD2YPАA*R* v -Ү`*_ ("]VlEjR+E jSK rbC"B$Օd$Exy#:*B8IENDB`xfe-1.42/icons/kde-theme/tbz2_32x32.png0000644000175100017510000000312511444154372014361 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/sxd_32x32.png0000644000175100017510000000177511444154372014307 00000000000000PNG  IHDR szzbKGD pHYs+tIMEb*tEXtCommentCreated with The GIMPd%naIDATXí-tHHK]e]"#{ȺFq|8p G.fE KaNǽ3wp%6 ri|>ڶm} TT+s)N=L&\#;,˲PJyC9ԛͦm)%bsJ54,K-JzT#$7"V~8J)1^RJ\׽vh84&8d2u]Lsx|k(H)%q7Yp] bV+o?gBp?`f" !J[8y#њ@Jm{ӭ:iAE.kif!"0#swy,N3xqz&a(t%:A^n6_ivR2n+q&~RiR۶u$7R~R]8*Bqã \)⡆uak^__`:.dyzs@Eii QWK僾ysO (>?Q*#˳f{FR] 4y=ߚ@\.^?=Zl,m?Ux4 b%U{yQyUШtalf2[՞m@#BeYaXuӨ߿eew`Uu*V!dY x=&t/Kлݮ 0{XϺoIENDB`xfe-1.42/icons/kde-theme/sound_16x16.png0000644000175100017510000000123611444154372014635 00000000000000PNG  IHDR(-SsRGBAPLTEc$lhhhiii/smmm:zwwwDـNނ[⌌ƯɷϼtRNS@fbKGDH pHYs  tIME/Ԕ IDATcE YFj3';7[E?1;0Kbo#c^Q7LyE)j0&`T@`bdS2BRdII: 30ʂEm9Z[033)?w)_IENDB`xfe-1.42/icons/kde-theme/minisocket.png0000644000175100017510000000032111444154372014777 00000000000000PNG  IHDRRPLTE3~$tRNS@fbKGDhQ:IDATxc`X#fT ))8BPX DP*5Q@.mDi^tEXtcommentCreated with The GIMP99%IENDB`xfe-1.42/icons/kde-theme/bignewfile.png0000644000175100017510000001306012572253723014754 00000000000000PNG  IHDR DzTXtRaw profile type exifxڭk#+YBi^cG$A:H(˭{ 9Ԭ9_|& N+ [\wH˼@IuܕX>zx.mgۭ?|,=Nϵɝ_,'߯S) ŠʟwX%6Z=)E?=vޫ =W(ܕ7^cwlˍ/>>a{ۻ2Hep1RΫ}7:SXІ0BXc҉g0b `]է9`*#gzc Aqoys+Q`u~i8Qh^qؖ}G?->uUپ_zsќotU)fܪ5̵ܱ Xww(:P'[r%s&{N,"qT9#~mk1vayZ/W|ZgŨ^3fŷ  QF_WCM\yMmӇVB_~"1h>i5g^\F:J= QjbՆ(<n>toɧ vl<WC6E+#h{-7a#$Q"lYp(Bc!:254?›Xd'[ _%QFV'\ ?6bA\b{fHf"ƙ[WسR~Wޯ{|+iN4E'A)a[ڂ/\'Rg>d  Eͷ=!5) uqLI5rCKHxi$6"2R@E*J(cuZxIRni䋀yZ1CnSɞt+6_gt^#)P K(j+/Y C@mG!V.$.ѥ^|7GmLDvʵZfQz.cx_N]9u~iqp8rIʁ&,J d.'K+7΋6LN5e1f( 9Hh!Byڵh.٨D眜Z*G#)Q b9J| wM^'N`>:ci+B&yx{8Ĭ똺kǖ-eP>=-\3"u;xb#(*&Ex֓Mv+uTK?;6WQ=#fR]rʲ\9 ,({q ol[c?oZK^<5R6vr#\D魔s􋙧 ~3* 1B?q;e`%|.VɷS?RSb[77+ CfESu B'B-r5;e^в9q2c)`%e:N-{=DۀE+EGg#}.~tJst6V+vֹrL:Ή)@$!ώ>gÑT (@ c* ZXGnSdo,oZN B?`8 # va_2er> !bg $Ll=iOC0 )@ x {f}MIDcQ֟_h~8k;Rnn^ 4\rbzTXtRaw profile type iptcx=A@'qśMtMa캟m4 &өCu r9u@&Q;1q jiTXtXML:com.adobe.xmp @PLTEFFFSSShhhrrruuuxxxzzz~~~[\]`amefjotuyz~ox\ɱS,D$*$KCYYfۇ`sgl߽[GtRNS@fbKGDH pHYs  tIME #{IDAT8u_@D(BEP)Kp12RBL"b15T_4M M_<ϓܥ@'mnzzAܽskՕŗ .deku MxzmՕٙ/>y1PbOg߿~59tdawmϣww|q9@Xi*yyHShGGu2W1V>/X3n׃a ]zuEFH6G1xAX-3 CxCoDy`3 Ďh!u XYdsl< pqY(N%H(@؟2E¬,1k&Pd:EZ`#(b 9 N 7L@ A:CYKS!,؀ HT|ՉIENDB`xfe-1.42/icons/kde-theme/newlink.png0000644000175100017510000000157611444154372014316 00000000000000PNG  IHDR(-SsRGBPLTE?gB F G HIJLOPPR!T&W'X%Y,[l5bpp8bqq5es>e=fAi wEixxFjyyIkJlLmSsRy._}jjlpnLφ:ۜL>ڡTؚ՚ԇVحԭWYȴXdSs]Vo罍_nkmlmxvxww%BtRNS@fbKGDH pHYs  tIME .CNHIDATc`Cw,'3{(0aK̏qh*--]&1#єdeGnjLk#!fF8X[n4 @kPV @+-TdS̮ U ]P{bLTQ5}rks:D`v$%jZ-u%P} ËbV@esgNj/+pcW%yyyYYIACQ&IENDB`xfe-1.42/icons/kde-theme/archadd.png0000644000175100017510000000152711444154372014231 00000000000000PNG  IHDR(-SsRGBPLTEer  1;D_3`3 ^4 `4b4e7f7VQ^\bd#jml+x9Ƀ4ݡ8   > $9(:!"1P$(0),<-+3+-:.a8b/-0/01p?6@99?@?AE?@LtTGJLJFLePQPQXQ\[rUVZT`iabkcd~fgot{tRNS@fbKGDH pHYs  tIME!"+OGIDATc`m7d>3UzR5/6Q̷X1.#*$47ȉ(YS\TRmm*/-*ifxm=ty!n=iLp߈u/dF( "6$%IENDB`xfe-1.42/icons/kde-theme/greenbutton.png0000644000175100017510000000122611444154372015173 00000000000000PNG  IHDR(-SsRGB\PLTEofulfZMIKG]]YN[Nf`jXf]p\|kfSdRmanhtymXlW~|rÊ΀Ǝфٓٔwrxnz{|osٙ~ٚ儎z兔r愚慛懔扒{酠茛ꇞꉞꊥ生ꋟꌥ蓜쇓{蔧蕪陝}럤}95tRNS@fbKGDH pHYs  tIME ,AjIDATc` pJHq !၂P@;7Ϫcnbm`(`WUPPQS XD\|=ME@\Aa1Q>n<`S]S322#<IY9yyBPf()D? ~W"IENDB`xfe-1.42/icons/kde-theme/svg_16x16.png0000644000175100017510000000156211444154372014306 00000000000000PNG  IHDR(-SsRGBPLTE! h&h-i0k)n,p3o.q3uDt9y:y;y={PEGSHQRScUVehZ`acdsnoqrt瑞Ȁ~}뇥،뀨쉫ڎۘҎ܏䏰ڋߗ㙶ᛷ쩷ҙ㣾堾ިڳȲɸ/tRNS@fbKGDH pHYs  tIME, 2]JIDATcKK vut46fHO ptRd5e1})K:kAЬ {{Z AmCs2zkzٛgw7זj\tsʀsf٘*fU3Ϛ3J[EA=,BKY^R*j{zu$yŻ{zz*j5ey8 s#j[Dr͜P7iҤ~v&鬂: ЖT5yBJ6ϐY  >^]0IENDB`xfe-1.42/icons/kde-theme/onepanel.png0000644000175100017510000000131211444154372014434 00000000000000PNG  IHDR(-SsRGBwPLTE)5:ACF KNQUS2W2X5\]`9b%j'i>iAoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{jt聼鍻ꎽ쐿識۬ݿް PtRNS@fbKGDH pHYs  tIMECIDATc`@zڪbľ 6fF:B|\L Q>n. N50PUQZWd3eE* v~ueyIA~v2-_Z\` /ge$)2Xde3XB Ai2 `y(?>R$!&",$(UANKMAJBDXX0|qJ{?IENDB`xfe-1.42/icons/kde-theme/xcf_16x16.png0000644000175100017510000000131311444154372014261 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/vhdl_16x16.png0000644000175100017510000000122011444154372014433 00000000000000PNG  IHDR(-SsRGB#PLTE+-<J`7bCz{||~t񧘶űLstRNS@fbKGDH pHYs 􊲉tIME 472LIDATc`0PU`c``Paeafb6@pHP :!!!>6&*"<4 (  b"ZZJrNA C4e Dĵ$|E]B|jzƚR @P?O//7}PgK@d8xښ">:& $  wDA. .D7)IENDB`xfe-1.42/icons/kde-theme/c_16x16.png0000644000175100017510000000104211444154372013722 00000000000000PNG  IHDR(-SsRGBPLTEeOgQiTp_uj|u䂀珏鍕먨d-@tRNS@fbKGDH pHYs  tIMEJIDAT]0@QĆbA"DP`,޷=R_5j\*4]OnZ.fqI0|ޮ/أ`VД=QPZ[Zw b"h`=[!L4a[q9 Hv9FS0B~FidW{d~NA&!͙IENDB`xfe-1.42/icons/kde-theme/bigharddisk.png0000644000175100017510000000313611444154372015114 00000000000000PNG  IHDR DsRGBPLTE@DQ&"$!'(&&*6+,3,-+0.<,0<40/67537C96D7:G99L?BOECQAERDEMGG[EIVKLTJN[HOaQN]LP]NR_USWPTbST\LWcWTcUV_RVoSWdVZg[[o^[kY]jW^q]]r^_s``tgdtcfjgwbi|gkndlpm|nnhpkszlsrrpwpwszu|u|{wsz~}w~1+}fqĥʤƧͨĨ˪Я˲ŬūͭӮǯɳжɭЃхֺѯҵҰӳͶӱԺεϾɸղնанݱѻ˴׸ҼٶӺӾϻսѻ޾ԾۻܴԢtRNS@fbKGDH pHYs  tIME*!S-oIDAT8c`PVRSS =Qdyu/9Ν<}D͊H 緷=~7]島DR_bmfimVҽ['~>I&Vnn9=驅y +yED$eep橉,G(ݏ_Ǘ.\}|o3Wmܾerkwߔӷ_vI f\ܺx{9u|ө{  W^Y\b{;~MC(0Z1b[ڦ*F%*mڴ%rUe}g.\8.flWs{_voDž ޽e-9|Sݼtm4^%_۾gϽw޿{\سX|cߎ;u{@o+\9N]wyj\U ,k|z ѹ:y˲}'LsSky[֮:С={a1x\=x`J{ |/K` $@-4JȩjhH)FMRT76-wȨ)[!ǧfWdt^gؚts{ś/_>{WԄ` @iz#IENDB`xfe-1.42/icons/kde-theme/bigfloppy.png0000644000175100017510000000253611444154372014637 00000000000000PNG  IHDR DsRGBmPLTE   ###%%%&&&)))***+++,,,---...000111222333444555666777888999:::;;;<<<===>>>???AAABBBBCCCCCDDDEEEFFFGGGHHHIIIJJJKKKMMMNNNOOOQQQRRRSSSUUUVVVXXXYYYZZZ\\\]]]^^^aaabbbdddeeefffggghhhiiijjjkkkllllmmmmmooopppqqqrrrssstssuuuxxxyyyzzz|||~~~{tRNS@fbKGDH pHYs  tIME(N3j]IDAT8c` 025`ƣFdƌ0s6*kZw{kpP!VWU\ nˋ$81兦;8gR7C{LsQSPRAs?P~ [jt LP?U5VL7u@ȳEO:Kh61(={fS+&[,7+,:@UװyټY16έ~P[vzv?txAʵ̈*!+|]g^~Ē6g0#'E.I9#9s+nۓόXյKϝ;w|s>ĎLZfl;q=g:1 M: u20735162 tyuw0p}uyq~vzr|tHlmF)?] (8/mbbd蚦m+C5UtX @eFȠs9' @U${@ʤ9@>r6 X@PA]] npPK7 pGҭ6w]X &U"Wc@QdEQiJ(z|dry #\_aJȤB&3 hox|Ai0@o+aVU[@X9>@1 \N6°@* 9k4IENDB`xfe-1.42/icons/kde-theme/filter.png0000644000175100017510000000076211444154372014130 00000000000000PNG  IHDR(-SsRGBPLTEr  """)))---///111222555999???CCCEEEKKKLLLXXX]]]bbbcccfffyyy~~~266tRNS@fbKGDH pHYs  tIME*<&5IDATc`TԌd |77CqNfF UEY-An Y& rkQv3aepb0kt\Mt4t9h* ;X_qnn"nBv.6N¨Vh^C{IENDB`xfe-1.42/icons/kde-theme/xcf_32x32.png0000644000175100017510000000316211444154372014261 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/config_16x16.png0000644000175100017510000000152611444154372014754 00000000000000PNG  IHDR(-SsRGBPLTE c)  "#&$$$.&.&/&0(/*!.+&,-///1124334444<:4:::;;<>>>???@@@FDCSD0WD+TE/GGGHHHVG.ZG-WH2JJJYI,RKD]M:WOB\RE^TD[UNWWWXY\aaabbecccdeffeaeeggggghiihjjjjmmnppprrrtttwwxxxxyz{{{{{{|}}}}~|Lǿ͹֪جدٮ۳۳ܸݺ[tRNS@fbKGDH pHYs  #utIME/7"IDATc`H_g+#^H0d@\\;^T:`Q.fB7eCq "t$.p56q;,x/1v7+z,3x7Lmg9xBJwR:;Nv[]vhR|\N~UMO]|iW^^~jY^]cengyej`cpu|ksv{lr{}>+M1Q0tgvfqb}Ħтуф|jҁȮȬ͟Ӌʷuk;ÕቖትԶqp⍙勗ꄳެcڻ⤞달蛐m霮靨앰頧퓨Ƨ餧ѫ浴ҳ䡨{tRNS@fbKGDH pHYs  tIME17IDATc`~T gihkw;0޹%E5ymn@V~NfuYEmCoKdXp`}s+P~Uh8H`)[']0 Ja10dg-fȂ(Ɣn -gd`RXQ'TQ) 6*PJQAnOYLY&hunIENDB`xfe-1.42/icons/kde-theme/config_32x32.png0000644000175100017510000000303611444154372014746 00000000000000PNG  IHDR DsRGBPLTE   % %! '!'#"+$($#+% -&('!/&-'",('**#/)$-+3*2* -.,/1.1302415746859:8<>;=?CW?tƨ Σ0BU3]!UeEy9 FFTLtЄ)`41adDUqD+X @Q72%$bJ c%aJG'1B䃃%$l܃AJ~˗w/*`jظK׏Ƿ/_>ST` r H,/x3gV@`v7/ٳ @IW"?qn\:{d"7AJt!J }=߻yc$$JQS7wP~c&,M@ᅭ3<_fM&,[0z4vY,l~0PRH=қ&,Xl7H~4>|KKK 9PWP|}3gL;]܂"'-Z _O!>~I]3߻q5zxxDfWՔfef%!L`a`bct,ԨIENDB`xfe-1.42/icons/kde-theme/minikeybindings.png0000644000175100017510000000145711444154372016030 00000000000000PNG  IHDR(-SsRGBPLTE1}}}   !! ;> F-I0U@UΖR*7$A`=xU.o;uX!#-ܜ|5FY &tNӶoj.`]R8Q'(25B!F&fffVLi3IENDB`xfe-1.42/icons/kde-theme/rar_32x32.png0000644000175100017510000000312511444154372014264 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/ppt_32x32.png0000644000175100017510000000054311444154372014304 00000000000000PNG  IHDR TgPLTEG>tRNS@fbKGDH pHYs+tIME  ftEXtCommentCreated with The GIMPd%nIDAT(Ͻ ES297R{:G qҪǾ-@t6s0dOU`zF")I }5X\"b !5fqUlNœzȤcq|4s =xV-gF_1\+weldIENDB`xfe-1.42/icons/kde-theme/bmp_16x16.png0000644000175100017510000000131311444154372014257 00000000000000PNG  IHDR(-SsRGBqPLTE4IwPSX8Xc%lijn/tZqrrr9ztttxxxD{{{~}{^OVኊ}饥ʱؼϽë̶κAtRNS@fbKGDH pHYs  tIME0RbIDATcA "UAf B\,U ̌ĸب@@~jIeEYQA^VN.XF;,V,P⮣35R Wut ((323[B,8 xVNœ`EY 11}K->n2ҁ --)%Z (P  >aPP 3x;xbgnIENDB`xfe-1.42/icons/kde-theme/gotobig.png0000644000175100017510000000101411444154372014264 00000000000000PNG  IHDR DsRGBPLTE.2&%  !! (&'0.0|<tRNS@fbKGDH pHYs  tIME;h%>tEXtCommentCreated with GIMPWIDAT8˥ FQP2lŵ,45y \i(}:a/N64G (* Gʑ8,@YՄ!A3!!%sMZ[IENDB`xfe-1.42/icons/kde-theme/mp3_16x16.png0000644000175100017510000000140111444154372014176 00000000000000PNG  IHDR(-SsRGBPLTEa     $'% '%),8(+++0-&*.15."1/3;1$/36A3$D4B7&F9%8<=?;;EFFQGRURVWSW^VaqZ=c[fv\9{]6eb^bddedfiejhgijikjjkjlkmnnpqqsssptuqwrwxyuzzvh}z}xhxg}lZtRNS@fbKGDH pHYs  ~tIME  `0IDATc`7WG#5^=7D*k4@tY5)`ⴄ*q@PixQNLRI$XD,337S,iٙY [X'[*K ssX+#k:2El5@NQVvZ`P]tE{m '3 +(ڋ?IENDB`xfe-1.42/icons/kde-theme/unmaphost.png0000644000175100017510000000176611444154372014666 00000000000000PNG  IHDRa~esRGBPLTE00LIXQRZVSbZT^[Xgifvhighhqlixlnkko}tsksurzyqy{xw~z``xǪDzóʬŹƳƼƯŻƳͱԷԻϹֺ׾ѹҵʹ޾ҿ;tRNS@fbKGDH pHYs 􊲉tIME6(RIDAT#Qw3dgfdEM2yHKq$H/:?@F}{Wtpxljmk pRQ̝}1$m ~"ds-  TQyW55ƙ;M+W+P'QvuhFKp%k{{gj )'5[ awLCr&D<"ԥ&*5rFɸ3^#hU 㰰)&xunAB foidy欸x>Eɥi+&*6M +}uLNm]+tiqyyr^IENDB`xfe-1.42/icons/kde-theme/wrapoff.png0000644000175100017510000000027511444154372014306 00000000000000PNG  IHDRb PLTEvlll}CfUtRNS@fbKGDH pHYs  tIME  FB*IDATc a ܪU[  #PJ`d'vsIENDB`xfe-1.42/icons/kde-theme/gif_32x32.png0000644000175100017510000000316211444154372014246 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/deb_32x32.png0000644000175100017510000000264011444154372014233 00000000000000PNG  IHDR DsRGBPLTE ./->@=AB@ACAJLJNPMOQNPROQSPRTQTUSUVT+%-&--.'/.[]Z15\^[^`]ac`bda;DhjgC=ikhFEmolnpmoqnMLqspNGrtqOMsurPNuwtvxuy{xWUXV[U}|^W~`Y`^e_gajkkllglmmhmnninoojoppkurvsxz{t{z}v~|}~ԫtRNS@fbKGDH pHYs  tIME!VO`IDAT8}O`Goxb[<x>Ax+jjOaY#Og]'[kI>ϯRc*.?zDB||oS\D&TXo\2N 8BWKp @է7xɠY29WS_Y?$t B\`.2Ё_&Mz^e";d4D?B D]H )P<eH0S@_{-}IENDB`xfe-1.42/icons/kde-theme/fliplr.png0000644000175100017510000000035611444154372014132 00000000000000PNG  IHDRRsRGBPLTECq}MdtRNS@fbKGDH pHYs  ~tIME E130796;8F6:F8KB?M@B?BBUBFSEFNHHQGKXJKSMJYLMUHOaPPdSP_OSkRUcTThVVjTXfRZa\YhW^e_\lX_r^_g__tZbic`pbbw]dwbgicgtifvhh}bj}gkngkyjktjjemtllfnmnwko}nnpphsqqjumtptkvvs|unzqyuz|xx|xvz|z~v}y}t:6]ax~z|z}_hħģƦͪìɫīШ˳ǶͮǬ~Њʳı˴ѮѸ̲̰ӳͳٶӱԴµϾոջ϶гִ׸ҿҶټٽͺӾջʼ֪ѲݽƾٿXtRNS@fbKGDH pHYs  tIME.IDAT8c`eeuUu [c) nݹsɓ-EQP{ٳݸ{֓'O.ܴYEAd--CS+@3&>yE\<Bb\25 >9pęW~yǞE2 G[n݊dC,kjn۶mO]3sݓͅ /YܹeÇN;{֢%7!+PZ3oۖm=3Ovt LO^ ƕ{.auog^}µ#S8mXsg#^=y{|? ^:z'oZ/ o޻vOk{Tmx?{?.\;y&Φ 6OΞv!:o#'O _VS舢$ RƌP<Pץ)5IENDB`xfe-1.42/icons/kde-theme/core_16x16.png0000644000175100017510000000127211444154372014435 00000000000000PNG  IHDR(-SsRGBPPLTEw !!!%%%'''+++---...///222666777999DDDFFFJJJRRRUUUVVV\\\cccjjjssstttvw{Μ|tRNS@fbKGDH pHYs  tIMEL$IDATc0E &j"\쬬lL@@?OWG{;Ksg@>'FgCԍ<޾:,Y` 'c]UNF4$#XHL&HJTNY(8!$+  IUbdd1H a҄:=?=MCQQS@jBrLXBzi,u:d z;QkUIENDB`xfe-1.42/icons/kde-theme/delete_big.png0000644000175100017510000000301711444154372014722 00000000000000PNG  IHDR DsRGBPLTE9JWT g#n$_*u/} 37= 6C<@&?ANKK+L.LQU W7S6V^)^[[?\?^jj?`el4i7hr-mEfy=pSm}&w~>w}MtZsG{$&?+8-"f~4Cg6Q+9JP-Ux[{ <)CGOEHCRpIwy,.IPO||}ʕ+W`T|ׯ__]j~`͏׭߼ywZ~I/k( wt k`ϗMi/͍  IZi $yuHHl $-nM@( (#H \\%yd kn!$ BKyDۻzBSYFWJy<77Gv-TUʅɮMgw7xƻd#)н~d)m YI! ).^IH ԯoZhv[iV|PPHwJK* Kں*BCB\>I`CR zŒ܌҂#BCgEV mMYA^!@Ay;Ìc={q˶L; Q{ӯ_wK 5L;ѣg?|K̏X]|l[# "`'@S^-IENDB`xfe-1.42/icons/kde-theme/filedelete.png0000644000175100017510000000143211444154372014740 00000000000000PNG  IHDR(-SsRGBPLTE$!-U7Ci8Dj/MoNT>Yw/YCc%eTh,s#tPr"}[z+7Y8.f1-33,L51606tu77879:;=><@?>?@B?AHDDnHHLdXZVt]^`cvdf{oruvvvy{ڊP\tRNS@fbKGDH pHYs  tIMEzDLIDATc`X[!H8yro?//\?yBcU +D{?6GnIms"u"|<\lllv@l\ 1-#55)6Ǘ$D;0(44<<2L"+/8* D죽<}|ܜ]<  9 .ݪ&sB_1;"ծ:3 ,r8"2 &n-e6)|fp"ħd=n`#)+. >zO!Y6^>|,,EfyNn˪OK;{.UUJQL.ID1?pf*$W @9` w1+d=28'xU6HӾ58$"a(mMԁhI$̱O67<-|_WW@xD_`Sӿg|9+,=h4(@t~~l 7i=X$~3foQ.CÙBqMNIENDB`xfe-1.42/icons/kde-theme/epub_16x16.png0000644000175100017510000001104212430674345014437 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭW(S,@s-w3߾cAUBRLk)C 'lF#t[o .[~'o.j͕-EA!gW?I:/迓|2YcK]7F۹p~ܙ|[ si?gN]+H-`*ԵȻsZ%g-Vގ =Q %Ae{ v+[[;lUQpѰkEhUpvcstW)bFi Ơ|mhDG\SQr'e^xAA>i`>2QnrXN( 0nOGcSC"Or-Pm#3 D;seZ I.C,#>‡2; GN >pAŒQYxa "%I.1D1M!SHbRL)E3Lgs_"%TrT_*5Ts5[jS+u߹.= 78[5U]5z(jM9Nn-rNxjŬ'(.SfG$Tnjv$COqMŠdyVW ?~SL ̔N{Tlewl䙝nBjnY~E3y$T:[gk1ԻNrƏ{~ ku6HP{޺⟣6 M깫˵Eҵ\φ'бǔ8n"{*/XuQX@=9QjV5\(Yo|v;t]N^Ȣ.ݽy|ll޵ЭQԲc.J֦Z$!iRͯ6S!uqBy: t(WBEi%j/"]ޞ&y)8]7ZڵTj?!]Z VH`9'v.?+SpJJERHrTz I;Up}XDZY(;ءiU=l2ս(cڧЗ?DT3Iݳ{eD.-rB]arzp;f)Hj,3!G׿%-D7񾇶)ՠNx*W vS>V%#g9>f98.k3wVY]Q&n/tQ RH%srԽAwY{ڴ}%GRIߪ?4/ђT2KazTXtRaw profile type iptcx= 0 @Y:'۸eihLNO(O GmΧ&h?u0ߔ jiTXtXML:com.adobe.xmp @PLTEfij j k l mmmnnnoos"y:dhio{}}|}Âԫճششٽ۴޿LtRNS@fbKGDH pHYs  tIME $"IDATc`0 b""~~~HD+ ,6Z, Rk a 0 bc-x%"cMZA\⑱ Fv`(5FX3Q=XAB4c y"fx+ƀ\<9Txd<.n,N>Q {[W-Gg{{A!\10MIENDB`xfe-1.42/icons/kde-theme/gz_32x32.png0000644000175100017510000000312511444154372014120 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/midi_16x16.png0000644000175100017510000000121711444154372014426 00000000000000PNG  IHDR(-SsRGB>PLTE)>>>GGGHHHKKKMMMOOOPPPWWWXXXc[[[\\\bbb$lhhhiiikkk/sqqq:zxxxyyyC{{{N݆Yጌd撒j藗񸸸ͽtN3tRNS@fbKGDH pHYs  tIME;-IDATcPD Vʲ"B|\ oOd'llm- z斺r`)]m'_5-)s;?')X[TP̅"l `1  McHK*kjH %* "3 i`a #9=g@:9sYIENDB`xfe-1.42/icons/kde-theme/maphost.png0000644000175100017510000000204511444154372014312 00000000000000PNG  IHDRa~esRGB:PLTELIXQRZVSbZT^[Xg^XcYZcifvhighhqlixlnkko}tsksurzyqy{xw~zxǪDzóʵˬŹƳƼƻɯȰŻƳͱԷԻϹ¿к׾ѹҵʹ޾ҿtRNS@fbKGDH pHYs 􊲉tIME 8~WIDATOQgww*va'Ɯ݉ͰPg̉yn (; !(O?@RUs{Oohi0 =ƫk!֓T\޾!%R5ʊqg˽\)q,ZLF*`no˕д$ŽZ~R vM7@hۿ3I˂WJkzJq=k}qI$a H PZ,Dj?%<"y<^spvsvtu͋+HaEu] A˕Eӓ řhnv~ ~M|)IENDB`xfe-1.42/icons/kde-theme/bigfolderopen.png0000644000175100017510000000271611444154372015463 00000000000000PNG  IHDR DsRGBPLTEM(n (u*~/{66}5<:AtA@A=A CJJEG"CIHJDQQGNPPT(PUUVV UZ0U\%\_`*]a[0^#c$c(aj(`?b+gf/a&iDho'p)px-t yIl&t3w8qIs;uJvAx1z!Qw0?5,L<:ECU?:;>8U\?;L`HHPC`KP{bXrOU^fVAN\NSiZVRb~ecU`o`\nfxckhr`qk|hpulh눰tp~zr||wڀ✾Ӕϝ֥ҎՑٟ۪bttRNS@fbKGDH pHYs  tIME !"Ρ=IDAT8c`…͠⸥<op1 ;ڱ`z[E,#Ф)v3l^RίX& \Z.:VP(TN"Vs~'o\(HuY)/%'/?}~`BM^r2`)`uA@/{S9 NPH޳>'>YVD`sSb@ $D$ ZQdHwV+(y@>g }}1_ vg^Rl$ {YYhkg)+ѴsR,ݗoVugOX1,>ªءK! Uɍ3;7'z$|X83XAK?ޘ[Xaq9̥7o\<6ރ;7븙 HGo߱⋧Z"'- 3~j?~:M %*Ս#^zJT0+πac2 FR}O} Ta mJVŕ]lo/ s i^ŀh1)ukQ= IENDB`xfe-1.42/icons/kde-theme/ace_32x32.png0000644000175100017510000000312511444154372014230 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/info_16x16.png0000644000175100017510000000142111444154372014434 00000000000000PNG  IHDR(-SsRGBPLTEZ [abd'b'f$i'i"k"l%l/k$m'n1l0l+o+q+r,r-r2q/sGp>z:z=~?~@~N|BGZWYPVRb\ctnffup΀||xsꀤ΄Є܁ہ܊·фӉяǕDŽܨۚȑϘϛؔ۟͘Ԩѡ۪ϬӭԮԟ⭿ޭ޳ҥٶٻUtRNS@fbKGDH pHYs  tIME,YIDATcA :iё| 憮ܬ̒<@_z`pp_\[G;D 3"׹,c^ԟo6w2P ȫ(k:12Ex9 9YR\.fbȥP 3xbJIZIENDB`xfe-1.42/icons/kde-theme/bigfileopen.png0000644000175100017510000001525212572310636015126 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭk sYA.s,?({gL2v%SIBnWL$ZrjqRuy߿Py=7Mx>txmoqSXA90B¾ ӻ 61f) ZBb 4`$ďB 5dQ)RSf㨦QfU-ZXRRji5IU]-X1ucO]zK g!#efq3Ou:PZiKWYuMӖnoT 5C, 5U_Sx1@,$j0O)rUI!Լ8b /7'o9g9AW~ڴ7bwO!c װҬ>&Ʊ^snrmb{UVgrrt{:ZܒWϳV6ɼ*>Kk$VܾQvrejemK:ggo VU@=)}kI# }=}s6!|U =ea`Ֆ:."PqDCNYp6uf3{HkBt+-q'GmRl[UV!!YI|#)M~p\ gs2krCI#n<<5mdZt00!d;7ӨmVa\3՜o6¤BĻtGd32p’x,b~m6hlN GOF"%(`6Ј(ruVqId[5OEW{fT󜻠n\ mDx+w_`)eI@7[,L!0c'$2B:Lrf^r> 3,R[ 3.Be0H8؎b 3#}LyYu -[_¡ W3@8$;HlF]SE+7ND<~0P\!X#!)Xp݃ʽTN[&A+<j- 4qLےVBR8]K$i*-%7#,@^B>%Pr}lEh[0k19mR'$_ؤ 'qIQ#{w'J fZ5T){D`dWLxXRr*aq6DMɪcuF6pN0V|ɑta b(R՗@\=NA2[(̿w^+HZ&Kt_E*:uH$&ZT!0K.oHNeܶu U,I SХ25>!3{J3:̉Dۋ59PZCU CgGxkrS UL,on7)`aԁxdMͣT#x#RRo %eKdi^e3,1(aҔ!'3"Tss:$֭.1dT^}RRk; `9b/YFj< uAg /!xzj}=+ckAckOP†LuE)}Pwd dP_wV,Wewٻ\43 FYpZؖ$Φ4>Jۣ6OxL@ >D? SGoBc<)i(r6}A2xl6sN$.k7C05שc2/r%!j8Nk@>-"E-̟o5j><-nu\}JG㍶g4\h>,Zm!1/ F&kEbz$ֹ%rJR*w #h?|_bz*9-/?@s]/ WxfZ%>lƞƓ C^E5K5F-mųnjk>  byRĺF+fYc|AGMf0H;)pY[ ݤuiI]Q mJfE{5/Zf&w3eA LK~D{ADOQUbzTXtRaw profile type iptcx= 0 @زeihLv+F'v G`Uwȡ71]Jl jiTXtXML:com.adobe.xmp @PLTE? 2 37:AGBI&JNOQ&S(Y-Y2\7b9c-h/i=f@h=l8m6q8rDnCtEvQsGwA|K{QzWxO~Qc}ZSVWf_jad_^Pd_r[aYkewm`{Ȁz{w〛䁜傝كz}w݉~`ދhkј皪~vzɟ܁鉶څ܌敽ە߷ݧȨæްDZFbtRNS@fbKGDH pHYs  tIME  *"aIDAT8c`*xUTtt%@2BR .) cP` PQ{2Pp̣behP0edPP+WP)AV0@RWpf+ .mXhh; (8*ehhhbnaff$ bGOo;+i0O.[]~ˋO__?ٯj=lPxqoz޽;OmiKDRq[;˽/{ RwH~۷oc{f KW{G&Ϸ{G NIzqI StV,)޶5Y^Y9'&i)+xieLw+PJKL ֲrsSuLqEDVahz%RD:Zkjs:rRHeef`f EqE=]E!(/eZV|y՛W|t߿$̈́GAx/^259AHo@%/:IENDB`xfe-1.42/icons/kde-theme/tgz_32x32.png0000644000175100017510000000312511444154372014304 00000000000000PNG  IHDR DsRGBPLTE\bhi(e$negdghflgf+rikh-rkmjlnk1vmol5x9|;|؀vj?K~Dڂ}|H݀VہR[V剎b⬍of沑mbjkZPbhv齛^ȠdǠjĢd͢Z̢`ʢfϣTΣ[ɦbE֨L֨SͪlܨU׫c׬j٭e߯Sűհ\ƴdkZaݸs@ոٺ˼_RTֽhzn]PuOjXZ~mŅ[EtƟu]ǁLJOeˉXfYmaiρϓάpcҔ]j҉rӅmҵҪԻzՀzmՓuՂהuփ}؏~څyیۼ܀۟݌݇۸߁ݾߛޕ޹ߐ tRNS@fbKGDH pHYs  tIME# IDAT8˅}P q%aB)/yCNr#đC8]d+7)qٺus3v~ui?|gvgo>{xr|O _g]Z vTq¸Ç 8oݺvjʥl BD^m\]]Z)--,,(,Q*IIǎOڬV+EYMA-GI zRT?i0'PS`\wkkW@pqW؇4X駿ʁ2c{ cN#on۰he4цDE:E2%+ЉRVo!JD" rkV|@plw_>2M;x;y,uԈf' -(b<@"SO`7ەkr `PIMaqaT.? sD"IF"xXX˃ ϣO/f3@ОdZ1W% dAL$M)$'wD7غ "4kJ?dy=0[#,-6S655`f>c`b2s68796Kl`wNh9ǃۿY=YA4];4IENDB`xfe-1.42/icons/kde-theme/switchpanels.png0000644000175100017510000000140411444154372015341 00000000000000PNG  IHDR(-SsRGBPLTE5:ACF KNQUS2W2X5\]`9b%j'i>i AoIm.tQoEu2uI{8`{=>a|Mb}c~efAQhjJUKUTM`\^ke{㊫jt聼鍻ꎽ␿ힼ識 ۬ݿްߵRD mqtRNS@fbKGDH pHYs  tIME)ۢIDATc`@fľ &VzRB|\L 6iq1a~>b FͮFUZ n F#骊RMfB#(.+Vcp(,,l4jE "^@PhTDTE (D(35x@HA"msH]sJHA^usSHMcr `e+$#)*, ,<dIENDB`xfe-1.42/icons/kde-theme/gotodir.png0000644000175100017510000000127512205344140014300 00000000000000PNG  IHDRabKGD pHYs  tIMED_JIDAT8ՓOSa-`PB4$&bbbhLM8蠃@*Zb[h~Px4hV;99R.}G(jK»Ye+d 8*]PŁ BVhBF59&&?RUMNt4o|~#hLOIV r ks)NgNo@Cws:/^b1)/dhU"@h*N4.k 6N!!te yXYjYb*uj&JSpr r# cNͺ*)>J2qRΩ~'XXBuf ky-`f,Lk[ icB]G L]` ]7YfBK "E&GHIENDB`xfe-1.42/icons/kde-theme/bak_32x32.png0000644000175100017510000000152511444154372014237 00000000000000PNG  IHDR DsRGBJPLTEFFFSSShhhrrruuuxxxzzz~~~YZ[[\]`aefjotuyz~"@atRNS@fbKGDH pHYs  tIME :NFwIDAT8}W[0^bڝԈ8kJhݞ9mR|8?;=9>: u20735162 tyuw0p}uyq~vzr|tHlmF)?] (8/mbbd蚦m+C5UtX @eFȠs9' @U${@ʤ9@>r6 X@PA]] npPK7 pGҭ6w]X &U"Wc@QdEQiJ(z|dry #\_aJȤB&3 hox|Ai0@o+aVU[@X9>@1 \N6°@* 9k4IENDB`xfe-1.42/icons/kde-theme/make_32x32.png0000644000175100017510000000314711444154372014421 00000000000000PNG  IHDR DsRGBPLTE[b]g*fk m%nfgewkge+qhjgt }jli-tkmjlnk%ymolnpm4w9|;|#?8D-:H&=@؁X݂,냈녊#]35=QU" %M`Ꮡ4X`ؒeF-<2PTShpDHW;>fA[+e6@"U8SzZr唶?PBiWVyKrSqQxtRNS@fbKGDH pHYs  tIMEqL[IDAT8c`Sk3kSS3SScc3cc} 0e``ݻ}|ѣG۽gV XA >ܪi*HHp013B۴nѪyVFUHKHr21AqƩcG6lXf p J>‰`㌩=߾}ӧ ~|S=Կ޾}GlښSU׼zO/O\CRڝ#-Ȁ&$q%h;ik'_ hG[ڷ=40:߾ۧ]C(U]\{ϯ_Ϫmq1k_q 6ۗ/__,Ә;OÑ=?`||Bd˭G:3Wtu:Jlu <G(xQA:AZZʺ)* lOT'([+K,~/`B@Fĵ/)*3h+`}'f}CR˧o7c'd3 ( |)g9o_|z8D0`'P˷o>_"R|yTCw. ~9~\E3` SAL|[IENDB`xfe-1.42/icons/kde-theme/filerestore.png0000644000175100017510000000170211444154372015161 00000000000000PNG  IHDR(-SsRGBUPLTECc!-ULM? M-Q)7Ci8DjY/MoN;S;Tg>Yw/Y?h?EfE%t)1p8%e.w3XhX2x6ThDqY7}9,sNvN#tPrA}jI}dJS"}TpQj[zJJ+7Y8.fYm1-33,L5160ww6tu77879:;=><`e@?>?@B?AH^aDDnqHHLdhmXZVt]qp^`cvdfm`{oruvL5vvy{ڊǑr{eƲdCzp܌[%zStRNS@fbKGDH pHYs  tIME $>IDATc`9 0yر Rd!| ޼f1D xǾcX+9豽L\P=86DY, 4$fkJ],+_얔 ֵwgd4we8NZxàpޭťDe\=! (Ktt7ׂ:] 1=%ÿ|Th%};Uc̀lPDĹڨhIENDB`xfe-1.42/icons/kde-theme/savefile.png0000644000175100017510000000161411444154372014436 00000000000000PNG  IHDR(-SsRGBPLTE$ #%(*,$/030679 2 ;9GAF?AIAB CCEGLI'V12g+7e5:d=@s?@t9Ds>Ky4OIL}EOyCTQQEUOXLYTWI[ZZ^`Yb[fdd[hTk[nikdmbpnn^uhxsvoyyyn|k}s}m{|{ďޞáġÖţãȣØʦʧɨʡʜ̞ΫάЬɡѯϮ˰ɱѧвҦҧնն׫֬ׯسջؼݸط{tRNS@fbKGDH pHYs  tIME."PIDATc`iI^6*b Rͧl.<@l'z턀VW f^l񂹳ft'6dƅZhrt956lXjɓ9F=Nk-,e 7-Rl, ͛\+Pv+Jc (xvgń{)1Ed$ED1=0HIENDB`xfe-1.42/icons/kde-theme/help_32x32.png0000644000175100017510000000224511444154372014432 00000000000000PNG  IHDR DsRGBPLTEidddefgh j#k"k$l&m'n)o/p+q-r4r/s0u2v4v8v6w;w6x8y9z;|=}?~ADFHJNKRMUSRUY[TV]Z[\^cfe]k^_cknecknmhfgmrrrujmq|s}{{x|{|}z|~ꀩ葬䌭舰6$tRNS@fbKGDH pHYs  #utIME&J\g}}󝧾|Mle[m|'J޿]{㼿I| c 7StqoxVI I\?Gs/%vϡp/1zsn(XUz.DP_GHr_+_WU9$B 1$B+p¾&[qGޫIc&%+$fT$opmw*+,^O739|Ċ}E ۰"!1rp%6AaL1$VyNt"6sƨ!J~:;~ WpܤTHN6pFmDQRuHV~4W0%Iv"RDJ^REJ)ZL&*ZTj^SUjZkm&4uzgԝowF>H#e訣>Sf:l҂,u(ek'|䔣v'koVZ%sZxfwU&'b9#c12-ger[ZK 12wr'w?2׼9(o?eYs7sY[VBOa;Ia댔R)cK}վlHq!.fR]}s\4S;t/q]#Yy1G1G;KɡmSv*\'-)O9vKc#潵΅Hd -ovë̽$5m籫D+T a\tA=HmғyBDNRf3j9zS2EMRp ac E&02WoPx~V0eCL`We6rԄdV#| hEDM? u`_XE v'29(Ƥp`N[BGFDC?I4iKC3E=x9 i߰A֢Q%_7р ~';8ߤ-sٲX}!Yd =AIbeB:a))NkM,Mrn^4]]ck<$ '=4 w)9PlӠ-Htp\qƨ>1 !PaK{R;.4k>fõGp'<BB5S@0 pdu-ESp`J @|PLTE,BCEF GHJKLMNOTV PU#R$S'TX)Ub*V [-X.Y#]1[2\(_m5^+ap8aq;bs=d?e@f?gBh@kEkEj9ozLjDnzOl{PmSoKrJs,NtVu39Xy!]|V\()8ccbS-;:dᢦ= Rbizab(C@ ڱ!dLlv-#ݚf26!jeE']`TF!9W`)!UO zj >|%m{.V 2h l#nҐ ,I 1 oIYYR쀾23:obAV9)oĝ6'gfE sJ U ;_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/jpeg_32x32.png0000644000175100017510000000316211444154372014426 00000000000000PNG  IHDR DsRGBPLTEa B ?#"%,-+;65:<91>_K$TRTQ\b]U\dg*fjk%nVffgeghf+q+rikhjlikmj0ulnkmolsom5xds9|;|vxu?HxzwK~y{xz|yC{}z|~{}|~}H~R؁W܂X݃\ቋT㊌uY񌎋da协rc㑓uؚyq¾ÿޭªðůȲѼ̿ξإ tRNS@fbKGDH pHYs  tIME wIDAT8c`wgGGG;; r2+3)_q_se9G\m u4Ue%Dxy :7m[5yia&:jʊ"‚PϞtn_tGݻkK׾*ôǏϟ't?ӧ޽~%޻wܸԄ+MO\sKlٸq5K/Yr`ŃmܷoK6xOXS} o\|glɍ)[,`vmiQANAJd5Jo}=\̚ܤ_be+^ߵfM UŅ9ىofKd-+:eR-)/=bb++]hf '=99&3礕<# kki=*h/X勵y mMNZϡ ڀ.H ^rc㾃K ^@4gGG3kk /| mܸdS&6T L3^J3|&xz_ ޽"M/޽cWp-Vܸ*A !Ah ^hg.[e޷IENDB`xfe-1.42/icons/kde-theme/bignewfolder.png0000644000175100017510000001515012573275415015315 00000000000000PNG  IHDR D zTXtRaw profile type exifx͘[8EY1;%ۙU=1v%K v?V/^1˥,R.^:'__|Wxnu9ky@s}|d>gkh+j1(<ӗdo>)n.[rΠ's݃q jBl :vZէuto>4^pMX_ *WmoGު( "[^Ḻs[g囫Z?X*3KyO[vyJ[{| Da]K;fUC\:6b֖f#!N%g-)={%H쥍4V*2oDijB1J9-i|@hW29SXK7X{ D^zI˯L"U 8*KN9>Esg:~Nm_ü*eJ5\ _#\9WXD5I'\z5f=bfp7ṇ"mD'8w:EѠ\g#MFgeg,=)Wc\ð4GJ'/4jàA jI0(2Eico>į+nkˀ!AQ`f J(Aa 0UcSz6)G瘙"T|s4TA7_R5Pn$QYۑc-Ajd锐dpzfT)n92Be"8 ,R"&k(a9`̱JIgd޻9 1h\LXcA=">'79P'ΕYx%")֒v CS. j {9DxK-BHs^6V0WX&feN k-r4ZKϽ 1Qpa8 `x_(-^Rrh8 L}]l@,b)mQ;*r$$YaHEчoZoy}г6LI7 !XOTunFsb#ʔ\"M[ُ@FFMzaɛp}l3[|^ܬޘ*3#(i2Wҏ4:9BE3R;1,Bjrz_rH#=(دώgDSQ2+2 cmDk1RղzN%ݰr$z!ѩ(gu95| rv)o=IL/${l%*n~H-`j abⓍ.Oc1dHkk{0ğI {చVhIM4e `h z3fA3@H\p s EL0¦5/j5 wEFot=p'= ye/<.9e!?Ś/8WY"%*f1M`}q1|˄p[S,ϧcÙ'hf* O;a,JL4McT'>h::?5 7C>/΋8[QfV5ܤ+4?۪+oNHBk$"UKctZAY/i~|Bl5v,Մ;!}tj ˋ9 /ߪA^+[ˀI( -1ܭ 7i}B]%w(ZWxm>>(BxR{1~eيjBz`۸#0u*׽/N8Dh={S[)*+F#$)u$Al Amh)Bjaa}.rR Rv!Fm~N. MBFRb1 $$g&,$A SX~;DNث˺B}T> u$]|ɭ%]U="`cG>6w}'f[eGЯ~Snj񌸖aюo\-bJO0cwvB! ?C2%z3QL}gJ̀x1= *U|#`OᤴچI]mZY4bzq! MBl.B`{2nf~#IjДI Ҥ~1LC o׆P'@QfqazTXtRaw profile type iptcx=I 0 {`$GWQ{=eЙNG(O4Ŏ#pʇSz.N)-W2iO jiTXtXML:com.adobe.xmp @PLTE 2 37:AGBI&JNOQ&S(Y-Y2\7b9c-h/i=f@h=l8m6q8rDnCtEvQsGwA|K{WxO~Qc}ZSVWf_jad_Prdr[Ykewm`{Ȁz{w怜〛䁜傝كz}w݉~`ދhkј皪~vzɟ܁鉶ڔ̅ʩܓ歹ۣɕ˞ߪYeݧe % %%% ް ѮXڲ0+%Gls wa "0"NXG?Bnb Gsnp(- cFN#~$)br9rcNsΒw% K"U&e*ZP"J\-ԊM+]Qk -Ը&M[i#|zs:ˆ?7tQ'MLg2uYbmŕd*Y/526ckh %UEMut{l]U)Q4ΤH:Yz廐W}w̢@+hVxwpmc.!syTFN/jxd5ѮS[=9#4띟 At4V=qW @{9Vy`ֆMv8׆+)P.Rp`Wx8f>+|:8rG4Ec1̛+W-`ݮ:ܕʁ.=~ f.S7kĵ8Z c!_H]`lZWEUI(xf\gSn\(Hݼ*^ʺ=A팼Okv(klh횸J&q*/3=HE~Bi1@K;JP iz+nE1(Ɯ*>f\oA d &w2,f4WA:K#,JD8"P$! ;Hc6<,Bj#9߁ 0DV&Hrr{{JjQxcq$b8:ޡ#߬˕ʼnv#9P`q#Mo.?ՀGV]Pq]- nv,SnQ)xtU `zʎEOȉ {0r}? MI*`/1ޖ] jiTXtXML:com.adobe.xmp @PLTE $&;5"$@FDowjX}`k iQao/?LÄʀ҂ф׋ɤLϣBè][^ͩPSqĞ۶d$ûdfځmdŌ7yj}nȯliЃрӇӄԑԋҘ٤׌gّچی߉ߜ߶3tRNS@fbKGDH pHYs  tIME 9|IDATc`@|"S6Z(G[gFDF3H:&K 2(W''8jdX3ڈ 33p304X$;r곃mPjLnl (46i566BT(6VU474+JK+**jrp dcaV&L/=ΦIENDB`xfe-1.42/icons/kde-theme/m_32x32.png0000644000175100017510000000176211444154372013741 00000000000000PNG  IHDR DsRGBPLTE+1678 =?DGJ#N#rrrR)U*X0yyy\2}}}_7c9f>k@lErHtKyOzSVY`tusz{{·øĹźƲǽɾtRNS@fbKGDH pHYs 􊲉tIME 1IDAT8}iW@FY\eDJ)KTB)а*ML$&3$m3ܯ=d>qM,FYv^wzaݽ6^,ly?ٓG TU*!Bћ\yK px~6 aAə#MUlFP-/#(YGD1) t p BQJ'Ƈtknbs[mNGB&xXfodUOZI@^?%ic\VqrzjRa;$ɞ7!ͷ6 ʆWg]LKKCD=F4$π{yu~A}w }.b4h^IENDB`xfe-1.42/icons/kde-theme/minibrokenlink.png0000644000175100017510000000135611444154372015656 00000000000000PNG  IHDR(-SsRGBPLTEB F G HIJLOPPR!T&W'X%Y,[l5bpp8bqq5es>e=f?gAi wEixxFjyyIkJlLmSsRy._}jjlnLφЎؚ̕՚ԤڏtRNS@fbKGDH pHYs  tIME . FJIDATc`G HPAܾ85!:"8841EAܱ1Lø1"' fgh x( JrALդ=yl*#!j vZ%E=5͚2¼\#$'z"i鉱Q `s ۤ 7T[8T'dž{[3H02())**K q:@=@A?CEBFHEMNLRTQVXUZ\Y]_\_a^ac` dfc(xhjg$0"kmjnpm)2rtq-)tvsvxu m)BIy{x%/K3 NW|~{'~}=ڀ5)3^_?*RW-GU6!G%.(a{wo]ڻ8}ci+T_2'yzObI5 ->w&E- _Pm@>2&rQ[@舛bY1a P ;3MagOO@h_j x >)e ª5ʀƽBP.vdzJʮM;7sX 6 Jʼnޑk:0A/(CW4qH?w^xKt2|kJo\ xQ X,' j8 h`Y.)5*hSrc.vVE+|IENDB`xfe-1.42/icons/kde-theme/doc_16x16.png0000644000175100017510000000055711444154372014257 00000000000000PNG  IHDRabKGD pHYs+tIME e#tEXtCommentCreated with The GIMPd%nIDAT8˕R0}Y kX͌1?I[] HXXH"afw|(>6D$O1;$'4DdEIB!1&U"y(0heF/p((˿B0B1'QB~I*"@Ӫqse+1p *WOpxnDYܾg6$afzQg;+;&hD\IENDB`xfe-1.42/icons/kde-theme/odf_16x16.png0000644000175100017510000000204011444154372014247 00000000000000PNG  IHDR(-SsRGBsPLTE  $$$$$%%%%&&&sstvvvxxxyyyzzzĽյŷƿɻʼ˿߾̾ݿObtRNS@fbKGDH pHYs  tIME 7eigIDATcu up31g`0^hbP[J~҅ g/dp3o QUX:AND0AD4}A !\ +L,d$g;L'?`g`IENDB`xfe-1.42/icons/tango-theme/0000755000175100017510000000000012746115270012555 500000000000000xfe-1.42/icons/tango-theme/minilink.png0000644000175100017510000000124211444154372015014 00000000000000PNG  IHDR(-SsRGBPLTE wtRNS@fbKGDH pHYsMMFh tIME /IDATR0FkiUZ7ܵ 1JE4VRDqgΙo.ati`D'gKQJ7"2|Wף,Մ׌ـj}E+y|c>{S37dE8`ymziu@*$䠽5w~Q\TH~hy=a@B8?=S üT2(z1 IVll:u\bU4L4pIENDB`xfe-1.42/icons/tango-theme/Makefile.in0000644000175100017510000003766112634035433014555 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/tango-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/tango-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/tango-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/tango-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/tango-theme/bigcompare.png0000644000175100017510000001440612425635366015327 00000000000000PNG  IHDR \Ss zTXtRaw profile type exifxڭYDq [a9+=cíh@,YY m(/X};vvi 5]/x&{rt0:[y1)G wXAqu\m`bg<| -vk(Mw-FwDsE=df?>cg{]k1dMrF1̿ϧ)L3@l.ֹ7Xbgbm%d_Aπ1M(1-쟵3o= Wy:zz`7~5/grǩ(^929+>)^lA9a.l~ Ž΁~bWj<s 䂸l>;G 4VCl !N:7dwzW3R@CVr,pIhD$I"UZ )&I)r1KN9kn%XK)!aRSͦZkkLvGkczqH#2h0If6:r *dWYu vqN;njN/o5w/Q9ND3сxV Wlq1zEN1ՓA͉3"q9/=ؽ#nF_B(tBw#+nAm܍ؕS6¶% u*mFu ţέ5l"n>qX*R_pwkA1`C7-Uc!"U@{3S_0;9Hz͇g5w=wiϻ?$bRFZ]'N?=̒zJ5bcWdc=nhl}@ֻXD6ɪaskh9^Ac{u־(9u:M?Ӹ{yf9 k!I"^~e}3R+mNwKgrsJew);^p?^qaQFa셊-#{^Dvqu:_Wօ#Qd^ӔfXAeGcQ5^LKҘ)C1Yb*͔&ERdK:iPbHy@7Ѥk; IW:B>"Wڐ6vB [sYYo %ťi\d'>tsJ̙ mVn%®Y^Bn`SdCV:whPJ^ ؉,|iݢ>jz[jnsQގ>0KÅyi8Y-oޭOm nZz~kkPfjĭ ꬉ E s\cUH} -Jki~6/,p;\Y@Ҥ9[_It҃⏠%hkPaGnJdJʄ@1SjqA\˙FƝ dִ$3 ^jD`-‘ʄ:@[1aCes!_RT3 NӡTJG㐫t)RXS17Ύ($f#,[ v'Iar Rx(z) S 54=M3T#DшPQ%'IKŷEJЈS>VMaQϤ٠0L;ln)>邧TLi@5go vU-in=oœx1{# dD_Ku}7w"ZnLf`/c ;`1YX1÷]ϚIk4==QV"MΑ9>'6Dw蝨ĠȕJvԅK穉pB jt@OP~fsNOx$ LéNwNWʕ W YYN~{PР]Ⲍ?DMK]9ǗDZ"Okd4|=f T(^] |%;&P,qjgh]}/YE09^Z*%Rp%Fh88@3@8c#|_YX$ٟ]!Aj9l8^-fMZT!Od~̖&fݲr&F*ʌ>\հ>#8W{L8-"5_ְp-3Fڑ />+C0V667r }e6"A瀍hWo뻙@azTXtRaw profile type iptcx=A@ }Oh ؽx#n`miLS3@jXE}߲t0ۏ:c jiTXtXML:com.adobe.xmp @=PLTEO:N8P:Q;U?U@VAWBWC]HaMbNcPeQjWkYlZn\r`sbtcvexg¿¿Ae#tRNS@fbKGDH pHYs B(xtIME  XNIDAT(}s`׫Z{{ܹ,e8Pu#Z C* !4ҠԿ `~[>>^YK0`PUO<ߡfqs}J޻oR$aKpsl?aUeIlJߕ<PzSaRx0YrGOOwG3LニR|i?:P_Lit3|6&i2 %fV?}q>w[tN ; r:?:VkbHO)Ku eIf&MQn7r99v́E.CH$)1& OxF_"JBm%p3=}0 h$x#_JȉAB&IV(Fɍ^xGeV G:"s?t^ٯF4.M'~u.py\?yђ2iV[Xud NE"YAɧ/_1g]%{vT;oݲiًߢdn_kIENDB`xfe-1.42/icons/tango-theme/bigattrib.png0000644000175100017510000001231412577741340015160 00000000000000PNG  IHDR DzTXtRaw profile type exifxڭWYv9 )@r9,Ɋd"=kPh'f]&-(T> >ۯ}ⵄӼ/DL% ˺ |wY- 7?-v'=x' R]N\6챂/g6xv?\h!";0# ㊌6Ɓ\M[Joؑtܒr%ؽ3ħ{7'A{+C+0C_ a_1%}o A)|p+ gw @ ̷# )f@,Ybk9*roIARpfPĀ`^!w>7Gp?C)t9]} jS0NjL}6P%Vђ<'a0ء &m#\} rgbQ-lC:u66m7/aJ(ۨQYNJkqqK6u (g4Yݠc*QKOߪLZ;hjLZUkC<#i6'K'&?Z={,axsbkqLcYJ4'ג׌27R3 ?9e@g퐱3( HkIqV-+PrvH2zuRA>5@4=!Ъ` (ȒJ2-XN"ƈ5(MtM LfBT'3p[WRiz46gZUVuPs_4ա{TbҢuLds g _C]UZD>F%kwTrʭTT/0ZC4|΋֝PlDa\n F\2\ÔSN7DGlsV.3L@Ю ݏaC)y:fiJoL5CO|MQ{ڽh.rL_޺Qeh>Z71F*+ƿu[K|azTXtRaw profile type iptcx= PCL@1.<lHMO)F ARp( ;sې"9*bx7U1hاz jiTXtXML:com.adobe.xmp @>PLTELLLQQQXXX^^^hhhnnntttzzz{{{)LtRNS@fbKGDH pHYs  tIME **$IDAT8˭is@q,$@Cт𨭷("澖k0Haɻ3IDazlTeL&cmwJt:SP|S$@QdTdGmDl ]+ e!0689t}H&e [ӯؖI Kdb*MZ\G Ad(V@|8uaL}`PT`v~4}7/U mhzx˗`Y[ŚBQzϗj͚:a*4EEG"2Byil֫tT5΢ H OpkkkCsBtnnnVrppperqqqbtIxIxLxsssKyRxK{vvvwwwyyy`}xz}zzz\{{{|||WW~~~aeoffgYic‹`Ɍnkbbcdˊiij͓jkqmΕpΗpuqΘrrrϙsϚtuϛvМwНxОyz{{{|Ҡ|}~~ӀӁӁԂԤ҂ԃԥԄզէ׍حٓړڔڲڳۚڙَܶ tRNS@fbKGDH pHYs~tIME 5/IDATc`+f@%Y `*P  v 2 (aԃB 88",firPP55UUU)Y e`TjkhhښcB#=ܜ̌Ԕ >pmm PrRRw6PEEY( $Ju K|<=NєHL A +PXF#6twwwuu9\DLlmmllAœ<f``jjjb '#? dmITV٤IENDB`xfe-1.42/icons/tango-theme/bigfolder.png0000644000175100017510000000252211444154372015141 00000000000000PNG  IHDR("k9sRGBgPLTE=iBIPIJHLNKOQNQSP7XUVT4\VXUWYV[]Z]_\/g^`]1g2h;gac`l@kfge?mAlghfSkAnMlHmCnBohjgNmIn;qRnjlicnzlnkapVrnpmRtoqnKwkszqspG{surquxOzH|tvsJ}vxukzd{wyvxzwZ~y{xz|y{}z|~{}|Q~}Xz~YZZņac‰eċǎb͍hcΎdϏojʐlˑqm̒n͓oΔpϕqprїq͘y͚rz{ϛt|Мu}ѝ~ҞwӟxԀԠчѣ҂ӉӥԦէ֨ӈڔԉ۬ݑذٛڕۖݝݗ޶ڞۥ۟ܛ⺼ݻ߼ཿ¾ÿõrtRNS@fbKGDH pHYs B(xtIME (: WIDAT8c` 8ή՝:}ı#8Ϯq*>66??4e:f;;DDCCCCFFGpJJUPNNPPSSVVS}YYfa[ccsggZrpll~qrr~|uuyyyÚƛԑғ֦Űڮٸ!tRNS@fbKGDH pHYs B(xtIME  IDATc`4*g#ņ, oi%-0TSy;$DBNV*]!J"@P Մ Ӧ%J s30hN:uꔉ9҂  &N4q U2, M]---qqQL@[]=b"KMqqqI1-NtKt/*4{Ej{Zr"Iyyٙ@&?5IENDB`xfe-1.42/icons/tango-theme/dirforward.png0000644000175100017510000001445012574013037015347 00000000000000PNG  IHDR zTXtRaw profile type exifxڭir#;s$5bn0ǟ,jʹî $lmſhC41%g˿(Q|t6ׇO) Ǽ1Ļn7e{AW{D_lq_W'91o ¯V xkKvxϷ/nMal;/6]zocO}6첯^l{t-f,}Q(3,SM#T8@lyvMv<l1 Oֶ?(Q` <s/+g*+OGO1ۏyO~=HO[/^69K/qi:=?o 1sk܇os_+4\qAQ/a >}l !N6c;}}W3)PSbŇZ )RN%$cN9璕Z %Tr))kZ&^$K1RE5mLZ=SϽڥ8ȣ:dg̳Y̶•V\iUV]vqwunOnT? 3jFM_@RS8ċ"C{VW3+H\RpS@0.vO>7_QF;noPAB b[mK [}%74%;!R*Xp\{y+`g!0i^2&i6牶^<*Y%uN5s&x Y=ql!dY1ꉾs R1~ aIeY#ul{ {<: Ͷ 9clC䦅K㐲G;4t[R4m6Y2yM(ޢjbF Fb~tV"-~1UZ&r'-jmv:"ʑss5hx֔ELT-(%b$6nhת'ʞlz_?k4]xmo`{6ܟvcm൏|)S/[S H2ۏfs+gDԑPRkF!. Cp𰥚6J[cœɉZQǢϴΞ"$HeB. iLPFH !]vgN"vLS(s=͍\x|, ,TZa 9֔ aoFhɓb/b(TLtma׻'@-*vGaHfw0˨RW3 @;k6彔#8 7 Ωddqz-t+kHDEtνj! QLb@xJwߜl(*<|ǃuM, .e۔"^bSGo܊ioxJtbGDcppڌ2[:ʔ[VO! Ba7fj毐&^f9 U0o2?́bTX/A/3iNЗurj`JJjuGmR ̔\am v yEf. .X1I%/b`SH4gom$\-4&!oްjWs uÉO:mӵ\{N[&! :rOר3*'Dl ɬ YbUdQ&KAǼ9iڕ0V?xLS+P-j Y>Y̆-Uf5 Á@T:Y,L$Fpl?U0<Y֡ߝF@)ʜPA^$X沖JIxkSش\DQGDG;4pbs]צ!5s ZO>'4ٶ+q^7oszI%Lq\Ni94͟fRj3i6^lVPeK"`̛_4E /\Xiv$AX9IbXN*b` A9mrI8u2:xP8$cϥ:ю".eZ q,sS<GQjڦzRE[G FKb@5ҭkF!V dl5j0Z_DLKc]SVpu^B1QڸJWh:\uT.BF^n90@T ^'դP$Z> +x˒$7iϳbNN+1 JYS48 6mH)nWMvQCS#;ܑ *%(LEPBۘêl8$dN9v4W8 %6>.~aa\#_I~dG)Siɑvߦte,|۔i#Ds%˸ع !S&4^ANQ tqg-n5?o$SZ\Al\d^牱Dx3K!7}KQ Q]D+[ XAӘT$^hD;4} 8pP~GƮL<4H +Aq ֙"Th ;r>tIH'nBaV&xV趫k&ËN3~R8SɼThi4z)p榪% r-Y}ߛ\u!qꣽ$Tjr qiGu+5B}& uLz|o$G@F_LRf4v,>`#5H*đaAʌ[b@~r(J2uQC0Ft',[TF@C-ܵnZ#6rj l 8IcRuIUd>Eԏ7UgPo ُ"wXm(?,o5€\xl͘U4׋E{+]BnP:u4UqZ`ȣslOKA-Q 7(>B'XDž)r"tvK?M#6&U,cYƴ채AqaקJfN[qLNACq6ǐ@R\ћ?uW so ea_D_}L&$-| (g]]u22B?WqM;\,{$WdE i8|OFW9*EcR'kR Nn\_Hopb)1 /c7<_bzTXtRaw profile type iptcx= 0 ;v>_J`+keRsxʿbD9x6-R"VV1G0 jiTXtXML:com.adobe.xmp @PLTE@ B B B C D D E F F G G H G H H H I K LM M N O P QP RSS S [Z ^^^ _baccefhijjmmopqtuwy{!d-tRNS@fbKGDH pHYsY\tIME MqIDATc`FF4"τ&ªȎ*¬eKDDTX":CZ<@ICd e jdL@d)pT5s P@v3/x-DPk$wn 6"LIENDB`xfe-1.42/icons/tango-theme/copy_clp.png0000644000175100017510000000143411444154372015015 00000000000000PNG  IHDR(-SsRGBPLTE Q/PtRNS@fbKGDH pHYs B(xtIME (!s}IDATcp؄Ԓ,@_4746upt Ćs%g:1$e@l; r_Ii9yI_sO0[[{[X3H[k K+Spĺ8Iq1QJjM ueEW=X/wWlCȨ⨈6!ksà y٘ YMm`#U)Y%5 f<LpFÂ{ˀIENDB`xfe-1.42/icons/tango-theme/cut_clp.png0000644000175100017510000000117611444154372014641 00000000000000PNG  IHDR5sRGB5PLTE        ! !##"##$##5-%%''**-,,-=5--Ȃ|þ÷[tRNS@fbKGDH pHYs B(xtIME 3dPoIDATMe[ჀtwJt(t( 2blc/pCsmJl[ɶJӟL%7ME0Dw,{OѫrkІr60I FW0t>}@SLp8kgs0IENDB`xfe-1.42/icons/tango-theme/Makefile0000644000175100017510000003754212746115270014150 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # icons/tango-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/tango-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/tango-theme abs_srcdir = /home/test/xfe-1.42/icons/tango-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/tango-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/tango-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/tango-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/tango-theme/copy_big.png0000644000175100017510000000240411444154372014776 00000000000000PNG  IHDR \SssRGB+PLTE¿¿VstRNS@fbKGDH pHYs B(xtIME &5>"tEIDAT(}_`S.˲C404t0c.y=@!(??zm6W`2s.[QVъ]ACM3eq|pwUwlY>$mI.OG\-VtM٣)˝i6,HʝT}}hc"h$C0^t|IgjY E 4pMS~+{:mX7aZisK/9!u >-}y:=>9n@~ƻwnP,N׷޽9 >P,W'iDZnYv,tt"LRTusψII`冔 o1tL&=yU3菠vaD ˆ{^)1#%F" 91wttֶ'KaA/d|'v=giBRՍCf-`q_;g^4'-.ٷ|GB>0(g.m[ EMׯ[r?DIENDB`xfe-1.42/icons/tango-theme/compare.png0000644000175100017510000001111612424414573014632 00000000000000PNG  IHDR(-S{zTXtRaw profile type exifxڭWm#' )rHq|/7# {J@P ]lmdUőSnFs,{.Z2UQ0҆7sx#Wuxwe7`VDG}JX6-v]x9ӳz'r^uuǐ?¦ï)ʔ#Ο)W85rϨiYu+,R9pwIFJHc\"T$S6\q Êqśg9{bzTXtRaw profile type iptcx=;0 C#8:K7/J`IؼmIa PO[ TXOsyb|0Oi jiTXtXML:com.adobe.xmp @qPLTEP\,ݴtRNS@fbKGDH pHYs B(xtIME  8;?IDATcȌ8@_\RVpwRQ415T GFF%$d3Dg@xcbowl'F fdtjq6221244 eˋed)f- +pTg)w*CpIatNm_@ƨ*ak}0H]߻P''@1{L˕Z[=J [nSAi"l#eD _E{ E@ErXnt /U:]TD<.?|y\7Yh w3s-'o90ܮ(zm0g^p˞ӼlSb @)X*v?10G+F0TGB4HuwsCF@7Lrw&1ٰ{ѯ&e,-#m?hunIENDB`xfe-1.42/icons/tango-theme/dl_16x16.png0000644000175100017510000001050712435036001014437 00000000000000PNG  IHDR(-SzTXtRaw profile type exifxڭWYg0F0ؕLc @$QC #Iݟ}'+<5q9FA*xcLZzWIV:0Žl7-hDVo`1 3&s@_˼č}!_0+̶l[l♱[1vv"0-d@6: +`w7䨛'Z(- sj. K#~(b({bG>8H!fʑDCQcYYE4'%̧IRJ3DgXsq_BEK*"|T_CUk BiK-w.cמzCaġ#|vX}=5:Mdoa:Kr'g` 8@@əUqəMIX#?i4A7wo}˛#W̙I93;}{u1pbjyu4;ͣ3fwۻ9t%OgZ.YVqYѳh 7-QB 6;$ b5Ƶ޻gbJ{sbo~ȠoRr%Tk 5_j5l1 ؕ`q2.@\"tMkXkvm1\hxwivvtxo{ 0Y\.θZb 2'鴥֖ g3sd Gc`=Z62} AX͉j8ptgFIANo{I5Ms >5F5pͯ}k~.wG)S`E0ǚ9\mUjw'r9<CIDA>B@b)y}qe`yJڱRU3/ʳcwPU6vD`@],#Zy[:l4.E'>*.W`_ٌs1a<\pk:U'Bτ\]& Bɶ4T̤sz2`hjO( qXTa<_ֶl~ܛVI8Tg/=!ۿt(+cvtՙYqor;)ay1s49 - v`'Q\ y*S]ma޵/΅o_%BazTXtRaw profile type iptcx=I 0 g FHb:x*-˗)dp?bDyTlH8By_O鹴w-!?,W1;ܸeV jiTXtXML:com.adobe.xmp @PLTE_``a a'x'{'~.}.}.~.'=.=*..==1<566EFfosnrzuztRNS@fbKGDH pHYs  tIME IDATӝP E'v7{@\{7$9DdINb3Jy̗f^p_^ ׳/EAgliG}~_??h\I6ykyv&rIENDB`xfe-1.42/icons/tango-theme/printbig.png0000644000175100017510000000211111444154372015014 00000000000000PNG  IHDR zsRGBPLTE\^[]_\_a^`b_ac`bcacdbhcbdecefdfgekmjlnkmolopnpqovxuz|y{}z|~{~}~¿ޝitRNS@fbKGDH pHYsHHko tIME "B>&)IDAT(}W`PYaHq(u JdkDXkݎƁ} &WL'Y+a$eڑ_%j*,8TgՄiAFqc_,Ts$J, Věפ fY %I ()rUmN}EQCxM@FrPnhFkrPO U0B 0Zqovs'P>Bܫ/yRQ"XW%$tjqGQqb>Ε` K_{<nfp,˿$(\  Inx{T? K_u/sdJg M4livhK^t7 ;[߅olh \4lkxa◫ˋB$EI .29+8[ YA)ǟ2T PW+FG<;V^<>;&@j1DjLABLBBHG@6Io]IDAT8c```HN``HLv7TQ``Qc8XAn`ѸDV V[0XeɒK̘4._+mXc҅Npp|`M+k K *[/Y$Xŋ/&<-xlEffuy΀s羘œY E*=?U m} }?]{vߐ s13Š_YA̱sl`g"λ}}՟P<O1z}N~A}_}}g{ݻMmB0JVx r^We5S|k~u 1A\Zd/tZ?3𕙧sǗz 3bźqer'\ O+Ch܊uJS| D̝Y @>I A'|:+1smN 67?׆H @X X)e#¡cN.\[%Tr)EiT(IҤXS͵T[h ˭4qzgН;WA&ZTj>H#2dFaI2:/ʫ,Yu7\qwٲnP{P5 QjX:;jy›d B .U`fW $E況3!ia܏ ;A@tr_qiuo,^q#lRg' ndJֿ]Y@Զ^4kѲ{ǵ칯ҵ!{- 5\>P)[!C*j @{?k:R *rJg=SbA,$Uؙ*gͱer2v em$W412TV wC0ZZ[D@Fsptz-U#dCDau0},A(`9͊0D*$fn2,Mr!Q+΋2:bR`E]TsvRrݪ^v65]fkSKm8j/RɤSItՕI8 ,E)h6na ԁq!ΤBYFa3 ŃNq=*$MU!i%T sSD-:(*X٨LQWVcC~ؙV8r{ZS^p-U(JbTOBt ϩǾÇDZ@"NRqNXж@Snݑ@RЉ4CM#`ݯz=h|++|ZWV!H,^T[D!6; @#X{ic"i\ULr֠:Hr#ޫR61ɬSw (v)P,$7vR{e\}ckT|aidB݂P){yw~\aNASbUS)To&4*}gYZ&1>>iJi\0dx\bЉl#d oh3 AZIw]:.[ BMZ[EzB|22. Jw10% ;/&1j݃X3 ւDhF$"p&_g:$ #[|WX_AGhb)w7|a[T0Ⱥ9M7mPӼK͜9f3D2 (kI4};,lgJ1y,tYX%}~ŷN}h׬[FRE18QXb碡#ZQ<=):1>֦?(MB䅇= r7é>aE24[uD0Q7Yڍ'QOnW<=);֦ո@?ܽID}NӺ]̔k)İGlY ŞZ'VN h5Ie.P;wl-k«i8j~ ?&C2,_]76+MA7"؅"oqJmXiUFtt'5y?x:}r˛#TwSKPᒏrE 3ſ=Y0z, 3mK}j]Ύ fu>Lhd&Lq;w%~ <o OO(T,jR"ʎAn|'a4h=yM-6WՍ܏TH:Gr;)bgv͍nDУb(ύܸz|diOpsE\]5&*>O(n# ?iM!0tH4ù܏nїW2+i;L?VŘbfyMvV״mMkN8SVV6,t9h׋usok٬eZHAo@SdFVXǺ%PxJMQȗ#yqAHҪ-׾xT3i1 ;'n th6DI~}<҅3 <}5!kĈ>jPkdQ!\Ӕ%{6_r 3azTXtRaw profile type iptcx=A@'~GxcwmC2rOɶ./k+u °3ǼE3S*/2)Q jiTXtXML:com.adobe.xmp @PLTE@ B B B C D D E F F G G H G H H H I K LM M N O P QP RSS S [Z ^^^ _baccefhijjmmopqtuwy{!d-tRNS@fbKGDH pHYsY\tIME 'N?sIDATc`64/*eh,gh˅*4"RvUMHIQ.ba&($bi$,Q$ QN-vQq I)YA&"a+tIENDB`xfe-1.42/icons/tango-theme/newfile.png0000644000175100017510000000164011444154372014635 00000000000000PNG  IHDRqsRGBPLTE9ùSטRrw3dY{PH00+\/4WqF'Y-=gIn C0=?C. o,7ZB7,3:vr+r&u? QWs{Uϱ~8xei{>9]ؙ{ݰy3Ɔ=!0rMnn 7>~5Vt  e0y7\J"B,`>[ %brJ:*pscE\MYtʉ[ bq\ vӴW(r%d2ŠOy%u)}8Vy>Pt@L|e>L#X*rgy귫4HV`[ 90`RYc?3$•L7y9[ P$q^?#r(oD$J$94=*SAU&E%1s䰅I IM)a4Cu9|rCx#OEJ(ZbI%WkjjF |R]]zcO=_mVYs߳F5UO41u0=g61B r* ooy3793̙Af3o/XW&c ullMB yw u^7H 9W3;ҪV3R_e{J 7F1C]c^R*>s07ϫ-G E-G;b;4Pcc-&[W\q7²_[ gČ,Z񮦰si8y߸dJxZM{K\ˉт!>h>{Z[#E{&ə6= v?-ga*pm}J-8cAo;*VhF kd?Ž೅D֟ j)ڕA'~U"kR_ŢJ*`+J1ُ>^ONGfERW {I) gjtaFyT5kߩtd_rkE3QOVx{bzTXtRaw profile type iptcx= 0 ب:~<_J`˖˶%398Qh G`Wȡ/26xz jiTXtXML:com.adobe.xmp @PLTEUWSE]yY[W>`?`4e]_[ac_ceaCkgiejlhSqmokXvazcdeefhhijjkklmnnpϖprϖvК|ҁԅզ։֧׊׋שؔۚޛݜݦξV„tRNS@fbKGDH pHYs B(xtIME   `IDATek@7aəXS춳M{P9B@R_GA%4Tϲh(Q<+h|EE[#ŭbBwGVݑWvfZΧ^TΓ9]j6S9f! IENDB`xfe-1.42/icons/tango-theme/bigfolderlocked.png0000644000175100017510000000317411444154372016327 00000000000000PNG  IHDR($$sRGBPLTEAVwEGDIKHNPMQSPUVTWYVT[c[]Z,e6e7f_a^2h:hskmjolnkFsPrnpmRtsrcrJv`s\tt TvrtqNyvtvsrzSlwo{^qxtx{yzfwyvS~uz}RnmyRz|y{}zv~X|Uq}|}RzS`c\`xzu`[ǥo]ɏlbtǎlgbͲfudϏplˑq}mtp$oηpϕu'uqzp̗zvDŽ"zΚxɆt|м/}ѝ&v҄ǃ̻(ӟxԅ3zå,Ŧ#ŧ7Ӄǩ0ð*؈ñ4ګԉƳ-Ԗ֌ݮȶ9ܵϼ?ߙฺDݺ>P=Ti ^> +D2*PD0]3Ri9]s`|ŸDBtRNS@fbKGDH pHYs B(xtIME "7IDAT8c`Xfի@`٪eI;;75Zӓk 󲲒q*L:jٜ]`ŅyQ8F+ - 0@⢢ YiΝ{?lpB 㢀Uš(Tڟ䪦"+++@ @JMk׮m`f(V(7)N̺p`h2X@w+`I9>?BIa 3{ˇa:Yrr7: 4o]FQD% pT pY͙ٳ?S}Iݴ35ΞXHLs`lgN9bCVI@u g Y ͞_p@e G %g=;Ilfoo[[ 0 %[f}UW.5";2 .!s ?w/_>{p{z,x9[|ݒ+}}wn]vbB|L[)@R"b5;ƥq)\ QߜIe-J8Xh Uh&>hŒ8蔇\%ʂh sR5sS3~ݽyDJ*$A.?4ӈu_:u[NѵMD 1@bgg >1!χ\Ȁ.~~^YY/}IENDB`xfe-1.42/icons/tango-theme/dirback.png0000644000175100017510000001451712574012776014620 00000000000000PNG  IHDR zTXtRaw profile type exifxڭir:sqHk`?(f\Q%Dv?_+%$'/#ןF)rF?<~[OFgOG1vyyA3/}:z2ƘB1bQ"3zk۽ol^_:b=)ܥFOmw,k#{>nY^ZR,YRk'T>%<6?5>xmoqSX!s axJ̡qw8fXo?3/]?:{ܑT^b^04sS8Ǧr{>nxP lW߱#ɕu109=v,1Sx71*)ϳA 3!tpVJ~r*`IDD%K*M&Ujr)K֜s5K*RRJ-0Z6nxzKמ{鵷|F2tQFm'?uf7ˬ-JKʪmN[ˮx5xS-͖g?ҋ*Ypvfql>|-4sO`=5X]mq`X,>]589ȼ?ݏFO֫33X{V1ٴk7ʢ"q|T{>du%O/w42R}r[pKS6-iI %`Muۃ!& )q:rf8kd"HDsұs5] tNG/4 ^؅kkCf Q&Ϝl50Z>oat*Xy=<Ȥ$ht˚ӵI\G iM9~&|'{ϞҘumgw [0OR0pOC{9pPR Hs0Y.uL_VsuU܇ɳHB r| '`pfp1z`fsЀ퀂3 OxF.8"Ƈvv}.IuM2kGu6@ȧh&,P[7s7/ao]]+e I۳bTwJkI.&bQsl> gQ% +I5"F&Dت g%y` ݶnI_Fp /xxI(w"W%(i˖C߯ ^Ų_rZaw@MOImaz j#)^"0y3~hs㘝 :9jA}h h>h\0ӛ@letQ-BtBW2R*t~h/L; A!{fi9 :2mi!#x”ٹ=gzt²,EOF"Ҿkp-AOL]7/v4h2y#Bh%HzPMEYL(@{z3:qp{jfZe%ͬP]Cdi$ȎFϦv~ =IYr&`@G`dt* 3`^NrDԚY6.J{P GI!a*WudEMf2 (wE~lr[}f̒VA:\ j0!f`}Kk: =D~k˲q2-vZU%f%+؎(9;:$B !^ `0E/Tr,A͕d,"5Ig?`茺yfte( ŕu&-BM ݰn,orύe< 2h}8o R({ު eW2FSJ9҄un 42dL#g"HaoGt)B$GA͡3S" `D1Z)Ha4?$05u_|)V.!),sN~})+ʗ0Q24O峟>$;vaջanb$̌y!&6iԀvMj%SQlI)R`UtEn43&eS nt8:}1 yefTn >&"OE: ?δ̓‹U72B Y޳MC_OV'xSFYn<ΚRDqex(=mA+6oÜ4ײIdwKjg8a!UyFfIFYDU2܌`$5JBG?o 39{s@$,'Yok3#[!oXgSPvH-f+A򧂬5+'ۓᑌ@h֠LMvR/Q/3nHO2J%svĤaM`u2 |+;']iEpvRxU>#Gic1~6jӭć ݪ7Cl !@ӣkn1S86wCI3v Z0SI?J!4me0n~0w݇ 1fKjGOu\-a=0ajB1h-h1uj8b]:6­HA͎^\9Mя(6#j#!_u 5#,0Hm/N.d2]Y@FCƤ]j6J6,H|6wIF~6J#GRA7kJM YHcbׄdle]gpC;1Y9(}fl[4p.a](m͚VP!B :JNFl_ ]Eյod`ćy_e @PLTE@ B B B C D D E F F G G H G H H H I K LM M N O P QP RSS S [Z ^^^ _baccefhijjmmopqtuwy{tRNS@fbKGDH pHYsY\tIME P,vIDATc`FFT$ς*Š"Ό, )' `Vm p( 8PGK H00"Iac$ 2_dvq",= @P'J[XpK̒BF" P$-"MIENDB`xfe-1.42/icons/tango-theme/paste_clp.png0000644000175100017510000000154111444154372015156 00000000000000PNG  IHDRmsRGBPLTEfhhjmAkk ll nBl m mm n n!n n!o uupp p!p!q!r!r!s!s"u"u"v"v"|}zw#x#y#xy#y#ta|k~~~undeµ¶ĶŶ÷ƷŷǸȹɹʺо¹/tRNS@fbKGDH pHYs B(xtIME  :EIDATc`aa752`abd`PINL0`P梭 :SCD#M*+A JZAb/?bΦƆ~^iYYi^ rӚ 򋻺dֵu92MLMIs`fP1q-3GkC]MMYUf =mgGZ13u͘=BAA44 00XDYDH [J2D2IENDB`xfe-1.42/icons/tango-theme/font_16x16.png0000644000175100017510000000121611564504741015020 00000000000000PNG  IHDR(-SsRGB5PLTEI7h?m=nCpFrCsIxIxO~TZb``ÈffiskwktqqẑʈăЈьЏҐؓחٟԠաա֢֡רѢ٧ئۤާݮ޾%QtRNS@fbKGDH pHYs  tIME+>IDATc`G H H?M+U+E#I_):*"(/,ĭÃ`~IpX@#1>6JW3,+rzbÔ=ux=1ёFB|\`H{9'gGS637@DE +X DOcfs K{{0ӐȻ/9CIENDB`xfe-1.42/icons/tango-theme/sla_16x16.png0000644000175100017510000000054011444154372014626 00000000000000PNG  IHDR(-SsRGBoPLTE ]XRa\Wd_YUcyWd|id`midnid]l]m^o^ornjtpltqmuqn{xt{xux~dFtRNS@fbKGDH pHYs  tIMErAG]IDATӅ @Q{ GmQiӒ s,0l `b6kdc0qFo<@'W IENDB`xfe-1.42/icons/tango-theme/minifolderup.png0000644000175100017510000000163111444154372015701 00000000000000PNG  IHDRPsRGBPLTEXXXZZZ]]]ddd>kjjj@rCrCsEuGtGtHuHuHvUt,jUtIvqqq-jJwKw-j.k/m[v\v^v[wLy[w\wIz]xew]y^y^z_zny`|yyyb~|||v}}}}YsW(H,N(HRdm!8\&Yraˎbmfɏ-L c^*G`h̒0wh;d,Lj͓Rl̔jWuopc|qΘtr|Ùi{u}rwϝxxz{{Ϡ }}ҡӂԤէ֩ۘۘۙܙܞ✄tRNS@fbKGDH pHYs B(xtIME ./7vGIDATc`9ur$0wĶ6]$Is]M윜]buivVf&I bc-ueEi9U5 NNH ,pE-^xI׬>(f0tW9!"ϠmU5}B{#Hh=QYo3 S2ZBtKL#(a).DY4Q(* 1 (~aj.9}+#"XMF#"@ajцFN56ڀ\%S=mȀ\1G'C\0>:'RFцOC4}mR٣8Bh'l>u?V׻8Xh|{izu]k8Hh5I,]Z, @Fe|6b= 2~6=iA@ z=  /6<ψ91`}U}}nA qM"ϦJ͔b7L 9=nymxO&2tRNS@fbKGDH pHYs B(xtIME 9"IDATc`!~^`VI ws0 KT}RNYUPU_EAVJB\31X^4 52A[: E">1)i 28_'1h5P%00Y2!J200 hiiilegdEkKjOkQjGlMlhigTlNmikhMo=rbmyPo_nkmj@umol npmlpsHuTsoqnatmt|_vrtqNyVz)uwt!wyv=xzw'TUy{xn}z|y'$"8(O{}z|~{;+Vt}|-s~}9rR'.^~YT/T1B]0_b>k]ɊF~`fŋǎb͍mcΎSb[lˑm̒`n͓soΔeqЖwrpnyrrnÀts{}ѝwӞ}ӠzxѣӄՄħש҇؏ڐڔԬܐחٚٔ۲ڗޙ࠼๻ܼ¾ttRNS@fbKGDH pHYs B(xtIME 0,z>)IDAT8uӋWa5-V#,"^х$ m"saf+[hV4o--FN64LQVU/<}y~sy_b)h4Z4pSП}(7.jk\T`WR)d7YIH qCFm5f#+ v Yv$Sp+b0p}BE8(F ccck-@%dru$n*I%߫/bih)΄OPd2ٟd4#{g,k7clt*&[OmL6/QZs :>gGuZwn*j̾+OBY2x@#+G;_0EΏjZWV5  ތЕŰ$0+c}[d+þ݆ dCI?p76f߲*İN!txo/aw89)úC[1$8X ͞!E1dψKf"JFm'XoML斳[lsR{>~y82ݾs?^(?>7eԻ#g? td=$ڴߖs,|~.oƟF uhdC;_ؙ xlP F}0ӌkOFݾް{սZ]sFC8o/q^η 3al N.[L1zӇs⛟7)|2 >&ng.xUF^љ_滛}:[%V˫2oL|͛nӁnHpxK6{m W1vb2;:]H.;[/΁c}~K/g6܄!zw;m}m"Rȡ@ bLĊz )RN%R!ǜr%GJ,RJ-jZj[R˭V[k3h۝?ˆ#<ʨ>ό3<ˬ; *fV'HI$RJ;.g~fݬ)c+/ָ]GN$)g0棃 hbʜrfgS$k.)9)c0݋y3)owQn~֖<]P1aclr=b'= 01V#&9j?tDt2gakWdOUMҾ\.1kتxF(*.kG")4(mӁTRpRtfyYW-&2:arG_tYY-֢ĺ{)0z^c}MU79Y#  ~'j/ 6jɮ*iAOfaT}7svh}d؅ђ90ZMk,ƵPQJ $ƬS#,ֻ,F^^Ԧ[*e @xDۨxUn]IL?eD-l0p)fzYOA7>O]D]򎶲Č,4x[fb]Ҙn܂QAh=;z?U]U#oa[zAU˟$?l 6 {G][Iz ¡jVr{<xD^ր ,+1{ig>[c3+ F]-123?g#XԲHWX7ߕALG)TF'Hma8 ~_C_pwQhT]ɇI1҄wfIx &_T˹K\5ЏמKm_psה)E)3B;H ̂RVGbK~̛aYR%u I2wٜNFSK{'1\=s?!6 !-Tz߇}2e_-r4[:H< =PE!TqGm< >4@wuhڍPp7vz FVho@\{k̷IVU"=*/*{- "&b$E.HQ!3~TP6@ݥUn$7 &+J=_׍1[\:Zwut>> 6_r "@vKj)Ǔ#ࡲiѨ"#숭0"̂t zRa6/k@%](Vףx0sH-1U\N&Jc/; Fi>&R%3q?ZSpNڃ@ %FȠ"2v OWO[uHb\^Wa ZFd1kK BY]hn(->ZFab65 "U{kOazTXtRaw profile type iptcx=A@ }Oh ؽx#i`캟4 &'S+@{9ϦXo 0נ jiTXtXML:com.adobe.xmp @PLTE_ c"e&f(h*i,k'w'w(w'x'z-y*z*z*z*z'{.z*{1z*|*|'}*}*~'**'**(==44,))4=44*4+*4+-:=44,=.4.;4=.4<.<4<40>><3>>6<3>?6?4>>????9?8:@9ACC;=CDBCC@AAQXTUW[XY^Z[^]]]`__aaccdfjkfjgkhhioopuntolmvuvstqqst{x}}}r=tRNS@fbKGDH pHYs  tIME IDAT8c`F Lb"ƒ|<= KʫjZ Y*SB t5kڻ]|ƭ7U0+JUtLxm:oP#s~7'ׁg&YzC/\9%HϟgA\yp5PAvL/P}۷*Ȋw+)xWpBB  )j/CV퇻( %N"lї>)X@6#XD 0 db@+T_xCT Kto:x*b (KCւx`r2H$-S{zFH׀) Oaet+`ƑgsvLFpȍwu63SUQi>oɪw4m㢣"C*[zK_!z fIENDB`xfe-1.42/icons/tango-theme/minifolderclosed.png0000644000175100017510000000134611444154372016531 00000000000000PNG  IHDRl"sRGBnPLTEWWWZZZ\\\ddd?kiii@pEpAqFqGqPpGrHsHsIsItFuJuVtqqqFxZuGy[v[vsss`v\x]x]y^yhx`{ozR~a|yyyTw}~~~tkbqabˎgh̒whiipǓl̔{opΗtpqΘ{zssϚuvy˜{wНxОyz{|}ҢӣѦէԩ؎ؕڛݟ tRNS@fbKGDH pHYs B(xtIME ' qIIDATc` 򲳳QJ 3#Qs|m-5uttt q^fFz:&6v`A]%9)Iqqq)YyUNNaE92Ta`06@eB ZNYb1 jbE@ڡp\J6075)!(@,ʱi Tɬdd<\]]]\\@^xF+++K$ '/77/@UK4` IENDB`xfe-1.42/icons/tango-theme/font_32x32.png0000644000175100017510000000210311564504733015011 00000000000000PNG  IHDR DsRGBPLTE!Q}P~Q~RSTVVX[]___`eabcddfemghmjnÑmntrtrw~|y}}y}̀˅ʄ̆ʊǥϧϗȖ˗ҜӢУңՠףԤծӯҭٲӰٲֱٱٳطټڹܼFrtRNS@fbKGDH pHYs  tIME,]ȂIDAT8ˍiW@Mdq, n@@JXvDp7Eٱ eӁ!҆:6hOsd&%]eUf Ef*9IiG"p(>5]LDFG!MSUEx1A2%C:x$jOTno?B:!6?$K0^ʋFGEP:^,`-&kP.<#m<5O/&}7¶:y8G SJ N?ZhqWיܱ x=wp v}ؕ~טh<@¼Y{!_[^ZY%{+LPH4CxǗ w7,H P>Y0`ZS39(_Ԕv^@Yw(zxBrϜ~V1qN k5™w3?_=a>*IENDB`xfe-1.42/icons/tango-theme/minifolderlocked.png0000644000175100017510000000202611444154372016515 00000000000000PNG  IHDR[sRGBbKGD pHYs B(xtIME %GIDAT8EoUUk}n[>( 41F'5q&N9CЉ1q& 8 " m-q{s5}Ko'LXr '{G=Y~8 kmcG8|T339Dq㺜9*<¸ 7Ulqq)ErnM,#Ι sn,_=_5u]3*B P4MFs;9GQ\z~'_Xwwp51R"i{{t:%j<&'?v D. f(YF,U$H#T7K[9<Y+ϿxO뤘[#a [&>xjH/xaymĴ_뤴FLz,MD`6ٌM3'D`4я$sw' ӽRՉ#o B )񥇬l*Y'm{f9V%Qs`2%T&% bD$!BΙ;g/*xs,s9gԔV~ P$à/+? ^?4Nt\DZWE>} ^D5VL۳C8OLʖfv?5k"VϷG u@\~$5EkpkkkCsBtnnnVrppperqqqbtIxIxLxsssKyRxK{vvvwwwyyy`}xz}zzz\{{{|||WW~~~aeoffgYic‹`Ɍnkbbcdˊiij͓jkqmΕpΗpuqΘrrrϙsϚtuϛvМwНxОyz{{{|Ҡ|}~~ӀӁӁԂԤ҂ԃԥԄզէ׍حٓړڔڲڳۚڙَܶ tRNS@fbKGDH pHYs~tIME 5/IDATc`+f@%Y `*P  v 2 (aԃB 88",firPP55UUU)Y e`TjkhhښcB#=ܜ̌Ԕ >pmm PrRRw6PEEY( $Ju K|<=NєHL A +PXF#6twwwuu9\DLlmmllAœ<f``jjjb '#? dmITV٤IENDB`xfe-1.42/icons/tango-theme/newlink.png0000644000175100017510000000162711444154372014660 00000000000000PNG  IHDRqsRGBPLTE _N-" +,uS,-gEh8vtRNS@fbKGDH pHYs B(xtIME &)IDATc`b"B@JtO{goWGkCuJf@hXxEe ^!QqI AMRC3 beBҋK*jjJ&2&k*p+WNd)Vedbfթ-`SlΪpBqDrAuIuFvGvHwDxExDyEyHyEzLyKzMzJ|L}M~N~NR~SSTY[[\\S^_`_UV]cXdYde[^_ijiabbddifjqkvuwxtwyxwryzrst|u{}|vz~ӀӊΉϊΈϋϋЇӌЌцٍъц֍щՈ֋זהۖۗۘܙܚۛݟߢޣߧntRNS@fbKGDH pHYs B(xtIME +IDATc```P  pV`ֆښlu [!2މAE^D= +2#‰QNK:(3<ˍC jn܄P//8A;D4%))!_12$痚L qyE Nr;CtqI 23Ctg"P&.qI1^ 1)4;IENDB`xfe-1.42/icons/tango-theme/minikeybindings.png0000644000175100017510000000125411444154372016370 00000000000000PNG  IHDR(-SsRGBYPLTE J!J!K"K#L$M%M%M%M%N&O'O(P)P)Q.T/U/V/V0V1W3Y4ZľltRNS@f pHYs  tIME4IDATc`NVp-Rҳr34""az&&I`>pi4# ``2 rxY Rbc xuŴ A (cd"%`oU5%m $hIA8;P O?"&*.Ί(P_X]dW6^)-8Вe`cD w(e\cIENDB`xfe-1.42/icons/tango-theme/bigbrokenlink.png0000644000175100017510000000233611444154372016027 00000000000000PNG  IHDR DsRGBPLTEFJJ Ulfrz  `    t 0'" $&2,D?-., 468Ad\d]R;R5U-Y3YC\At\tY{a~jgkc1tRNS@fbKGDH pHYs``$tIME  ' IIDAT8ˍ[P(CEDTpā{ܖpP*Ђ4izJϹi{<7g.q#7yt]O;э0/^;4X$2:0\{;o.) E{/]L3G1^tB +X)6tw( ܼf CH X}nJ篪Y2$*nضE'AP*q 3@be+]X* IƢ⢢%xнG#2DA L64_#"]!(H܍# ? ! kY BHiC{n~`@[WxƓcElDrzO"Jiqӡ*9:zMc-': E}&Γgbr?CgHCEg~M ^s"L}&S_ $Aeٖef =vֶ8OKA6p +@ܖ:{mdr2d >2 aÿ:Mop+݁;sErkmjcnzlnkUqmolnpmHuCwoqnqspLxWvVxkvOztvsM|exuwtvxuwyvxzwUy{xhr~{}z|~{mRY}|n~}o~pYr\]Zņ{bhci`ˋǎgb͍hcΎoÐlˑqm̒n͓oΔtȕqЖprїqy͚zst|Мu}ѝv~ҞwӟxԠyաzׂעѣҤӥԦՅֆשت۬֒ܮדٲږݵ߶ݼ¾įƱԄ{tRNS@fbKGDH pHYs;tIME 3./IDAT8}_ap\ 3ײiKV -04T0AR9diYZ6DljS[Wsyw^g|%T(?_Ʒ4tDKLtԋ> y|IbBEq6'򼍷E')"&;au~|ɽ'+I$' ǘ98}`>_XI v+O 2 ٵ_ljq{ڿ<2UVS]t҉6ɕyV׼$7 ҼeXɖefmdcʾYaU\OU&Mo+_8ĸKMM/3Hr=>NM~vuKKwш;FsY# ,] hIENDB`xfe-1.42/icons/tango-theme/bigfileopen.png0000644000175100017510000001406712572306137015477 00000000000000PNG  IHDR DzTXtRaw profile type exifx͘Y8E^'pXszdYu?ΰ 0(Ͽj2Qr,Xc s]|/y \u֭uqSuНU!}o=sX3}SX/xWk Ƶu$"3/|glWWnGo9{AvχeuYbSFL9`Ùf9o[0qش<U]E7]sۭsnp\>~ n ӄV9;ֳpC;s5;gsy4P-q67 l_Ktqons@Ol4 .bo0.MP%g9Xqr;8?`BuodwtkR@CVr,pIhD$I"UZ )&I)9cr%J(HI%Rji@ j6Z[cҍ ֺ.=K 3␑FeѦa3lfuTZqJ+j㖝venT!Ǩ5E,F_K8M'ij"bf+rjN1yf$%3 9M{ vEԆMb[>KӒ۫ 9vb4ĄInuGꌒVis,G:g)Rf?ӥGVaBm+.*Ƶ ]ֲ z:v`%6U2*.[`1|VI}Gg6#klP=5߂c;T Ĺq+CJ_~\eG&ʹI&u1̪ᚕMXyuCGsz&zDpRl]aL{"T([V[Q6{VYT e[.9\P9^rdQxZ1cˆ~BRgW\VRbQ*yYmJBi65 % 4bV_dwK:/,45D`I!@N2ҦWN1ZƘIyE:SDD-\)u bgi}R+LuOEvczUEfE 8 Q,FV;ʍG$h1q^t&[/Rb$"mr.~*#N:K8{Qams i¶`z ql3ƶOeUPЄ^ї囪wucۇ~_+>@<YaiOz.@79Aa VJ^Tm.*.(ɔPShړ/ɽ2Gxf-=B5l=x-$1uS&RV%AEDǝ<c$5$w:Fȶd sPd{`4jfБs/X{gøųdW# _;$m:ZEJnJv/GjeMtNiJ5K]2 IDWC#S.!^ELPm02(VM8eQqǐF{UAv2d [^E.VhHvqcXwh &gRtRIeRV'*wuh?y!B\aLNm8&iH'݁E꫘Akc[8֓ vչAmb;b@kxjXr-GZW)ldFR~ؐ]Y&^TJOԔ\ 9}<)K vjUriQvr: 0I~ pK!= 7 ܀f>SiDZ5I :R(*khōhZ:l-3e}̸Nyl? TZU3=e9>2q ˣj=^$MkTϟL?6l{g߳ͷTg:\$PmwWKA}a8x_;p!5WdO8(`zTXtRaw profile type iptcx=I @ 3#1ICw sزGyl pGk+8GxhXsrWU20"` jiTXtXML:com.adobe.xmp @PLTEJJJKKKMMMNNNOOOPPPQQQRRRSSSUUUXXX2`ZZZ[[[?`\\\]]]4e^^^5e6e6e5f___6f7f6g```Cfaaa8h7i7ibbb9i9i:i7jMf=j\eqddd;lfff=m+@MuUeeE e*rebϚXU bE_k*`.@DAMfffzAbbR642\dS 66::: <% XUá ,,,`YQHH0 hUT;IENDB`xfe-1.42/icons/tango-theme/print.png0000644000175100017510000000146711444154372014347 00000000000000PNG  IHDR5o#sRGBPLTE^^]__^eeciidkjfllhmlhonlqqnssptspwvryxtzzu{zw{zy.ntRNS@fbKGDH pHYs B(xtIME  b+IDATc```-NMJLL.eԤԲRHEiazEjvu%T"[AV6bB5TmB 0]=ݦ5&BD<|uCÃ| RRҲrb] fpOjoikkn-6as% <7;KC}]-u5UMkE訰/W'[q@'{;ks3#C}&6.>~^nNvVfF~C~"IENDB`xfe-1.42/icons/tango-theme/gotodir.png0000644000175100017510000000143512205101023014632 00000000000000PNG  IHDRoPLTE *C[7Yx?eAlEoiii>pkkkCsBtnnnVrpppqqqbtIxIxLxsssKyRxK{vvvwwwyyyPzzz\|||WWo[ffgY_c`kbbcdˊiij͓jkqmΕpΗpqΘrrrϙtuϛvМwНxОyz{{{|Ҡ|}~~ӀӁӁԂԤ҂ԥحΒٓښϓڔڲЕڳўљܶӤկڲ۵ܶ*tRNS@fbKGDH pHYs~tIME  ɸIDATUG[P;"콀=؉VPhT;`T,u&7lxb3hi-UECr6'oYGeBeit2 3: yZ])(o(Ͻ Pd./E9?+tGMgt,|P %y0d9XV D"v 'H6>6t҂ FO41|>^`I*3$\D>C&Rs/|MϿx;P5<~9>.(u||=n|i[A=䫡ٴu=~MȽ_νV◵;Yl^&;N$F12?r?)N"$Nq-qN7b^>c5AqLDba>wm*=/Ǚј?淃{C(ŝbzP;5Mw}y?6t2nH#sdOi^ D DfReg9ֱIr?K/g !7w?)!X1&JR4)JC9KFJ,RJ-jZj[R˭V[ki՝3z~GyQG}>34,6+,U̪&vi]vmCpI'riGկQs"Qs)bW>Rޚp1/ 3[]^SlED%g9E|:=v˸U"gq%jK7oĞ*ԚppTi4 &qlHslYFAcZjbeDN3ީr>1Ϟ}Cz_;BNYtmq2L_}OϜᲸ?e'p֕yޖ{8wd{< ıi{;W}3 5+FOo]zePI]j6wtğ6lֱn8ԘmO|։l99%.'vg~o~5}e74~=+nRԼe5vy&t3X0@$$TwCInPHa3iK^RX+1'i&wۻX#P;IaZO FhQ5ey:j0o7-*.RP9av-$N6M8ϝkvQI]mp#3{gf |4 ܲ#KdIBhtO؁|B*}V.n9 oi3@y5rJ~qrL68h63׼IL=, 4KޑU$նW7.B:8ɨ$WN%1t(t^P4Ÿ1 -+_H6hpK2S#b0V )d7 P')9`'yt(7^&&zo@ބ&$ ֥rCH{5bøIt"cr`,GɚFCdsR8`SOwepaLl͕:A0T9GDD2 _7 eRࣶ j9Y y@p; ް ̘Wc*!xS ,DYtn!HY+ZXZBOQM!9{_sBy! d4nt) 6[LcIՎd &󦼈0E> آg(6QO 5|,a@pc9;mo<w %ЬIu]vbr@E{ѰWbJn:\7,[ PM8jΙWۡ?vO% chHG3yJٗcܮH-_s JH:!3U #&)Jب&w+\.FS:,)] \8QE[ 4"<%JO-++a(+k`R!f%='̳ 5a܎⒬Nk|5}6oNu*Ê,C팏deHr?] #RǬOnSC8 ӛU6Qy0<**?muwFidk-p'uy~0?*pK -'9)~e-~*$*JS8-fێ]FBz11`5dTQʏHF*^?ELD!r9Ú☪LE!=i rZ>F5WĂSXlZ40I{@oy569rh??T3N){:=k!keFhebO%'*4x? ˏPA{L (Pm,+Vi{'hoNɧtXs[3q;f ~D2@ h5*= ULXP`;T] @70=%cL_u "C|;[\qIPȭ!_Eʅ\Y^@݄r^=nd[b%. ʷO)Jhp\ u@d}vO#R d~ Fټ"\]AlD]' yU44j1c Rjt|OHxB2Cv9I3|#@9,d'w 9RpyZq9>qLpо/>"r`l1JGFF 7i١6`!΃RܽaXW+7!e7\bXPXT*Q3}t)vG5Ay[PwZFrQhBSCS D=Шe,ӛnk8ï*;6h5-/Ͷ cb,"﵃DCm+>CnO3'.o]LjDmm.眲EQc@(y!9F=+iRP".#|,D26T7/rB2vSQ^4܍i㌒#D.tG >k:CBrAw^C75gF{~#,f1.8Yp!E@̒JL, n hȴv[FeTyȧә۹ӿUiy \s&FT8աs%rŌAWftVto O6Jlҽ4a|Tuvܵu6rjU)[݋AF Ǘvk*+w+9F:\$|s;=mB7 i; {4q~}{!X0 @5QlW3NUdT Ý*9ЗD-O"mmf0%ׄR9C\*;;dkUkp |b2һ)ӗzv!cFB IG?? ZfLAo![_:}`~@|q i/?o jDbgSo x,M{KSesP3Q;? ~$@A$m&Uߒn괹1 e,n6"bo!426>`z&*} ;HWj _IyG:XZck;J&4 E'RA4߭;An]s굪 "[92.[ g*X2)׊*y0EVY6_gi MSI'p2ur S Zi]ovd&!0fдmrt!~c $TD8WMQۡߤfѠ Ih4vL"6iDp&g## OasiiÞvDݒurРw'ͮ5{ªYJ2DXZ=8r Tg1r'7m͔ `CY%2 @vY rozC ځb [ c1]Tc{I,EԯdچJvKq88 HCrLR_8uo$%(;O:kuӭ8%!`*~J/&빆T~|sc[B-X $絿6>lOyt9oh XO#@xr7R&uP9;0˨;5Ga64_eBV2W lBqi!S.K-oRxUdp N{/<`N;觚 XD" FD@ m\psvPk:!d17G6T;cs/&-tn8h2Q.a.mYb}mB^okRBkvf74Z 5zGn>*ǾM65z>ao?#zя:oֈ!͏Ɇ?9[iV_1/3b3Dg+F_+꾺ۖs>9OG)!4Mǫ!)[sLY+Apy.j`"-^7hGAYR?=kJ}:h1>VF> Bݕ{CJ`31?v ʰeJiJhXPj H"lL_|kټ?ޖ1j}og?:6wcJZݞ'3zl37\>:6f6g3vyЗj}|)^T,vi{4}7GQFdTYMgGdڮ}{HG zZ=wUp q-wՊq y4'oOedQaz k~czTXtRaw profile type iptcx= 0 @ͧ?/J(-1,j~y@2˻ K-E}'`/1Rh jiTXtXML:com.adobe.xmp @PLTEBIPIJHLNKOQNQSP7XUVT4\VXUWYV[]Z/g]_\1g^`]2h;gl?mAlfgeAnSkghfMlHmCnBo;qNmInCphjgRnjlicnzlnkapVrRtnpmKwkszRyqspG{OzH|quxsurJ}tvsvxud{kzwyvZ~xzwy{xz|y{}z|~{Q}|X~}z~ZuZŅzacˆeĊr~a̋b͌hǎwc΍oÏlːqm̑n͒oΓqЕprq͗yzΚtЀ|u}ќ~ҝwӞxԟԟϠчсңӉӃԥզЅ֧ӯUڪԉ۬X“ݓٰږݗ޸zڞۥۨ—ܛ⺼ݻཿʦ¾˅ÿU@rhَ`Wi(:--G01:bttRNS@fbKGDH pHYs B(xtIME 8I EIDAT8c` 8#.՝pǎ۠vC'_yK;tvvo-\Qm8im'п`PYgKzBTWe;q)@ Sí|dBdG=p+/_L7U+tOdQY;xOqRKMmN܆0rIENDB`xfe-1.42/icons/windows-theme/0000755000175100017510000000000012746115270013137 500000000000000xfe-1.42/icons/windows-theme/Makefile.in0000644000175100017510000003767112634035433015140 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = icons/windows-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ icondir = $(datadir)/xfe/icons/windows-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/windows-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/windows-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/windows-theme/minifolder.png0000644000175100017510000000035511444154372015720 00000000000000PNG  IHDRRPLTEapcΜʜtRNS@fbKGDH pHYs  tIME 5 ޱNIDATc`FAA0C%T,(((I @eBPRH8T(Pd F$10(A  `IENDB`xfe-1.42/icons/windows-theme/filedialog.png0000644000175100017510000000034411444154372015665 00000000000000PNG  IHDRfWPLTEtRNS@fbKGDH pHYs  tIME2j%NIDATu̱0 CQ! p'cJ :nsrO~i,&_Oh1Z1X`^OpIENDB`xfe-1.42/icons/windows-theme/Makefile0000644000175100017510000003756012746115270014532 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # icons/windows-theme/Makefile. Generated from Makefile.in by configure. # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/xfe pkgincludedir = $(includedir)/xfe pkglibdir = $(libdir)/xfe pkglibexecdir = $(libexecdir)/xfe am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-pc-linux-gnu host_triplet = x86_64-pc-linux-gnu subdir = icons/windows-theme ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_$(V)) am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = ${SHELL} /home/test/xfe-1.42/missing aclocal-1.15 ALLOCA = ALL_LINGUAS = AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AUTOCONF = ${SHELL} /home/test/xfe-1.42/missing autoconf AUTOHEADER = ${SHELL} /home/test/xfe-1.42/missing autoheader AUTOMAKE = ${SHELL} /home/test/xfe-1.42/missing automake-1.15 AWK = gawk BUILD_INCLUDED_LIBINTL = no CATOBJEXT = .gmo CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -O2 -Wall CFLAG_VISIBILITY = -fvisibility=hidden CPP = gcc -E CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/freetype2 CXX = g++ CXXCPP = g++ -E CXXDEPMODE = depmode=gcc3 CXXFLAGS = -O2 -Wall -I/usr/include/fox-1.6 -DHAVE_XFT_H -DHAVE_XRANDR_H=1 -DSTARTUP_NOTIFICATION CYGPATH_W = echo DATADIRNAME = share DEFS = -DHAVE_CONFIG_H DEPDIR = .deps ECHO_C = ECHO_N = -n ECHO_T = EGREP = /bin/grep -E EXEEXT = FOX_CONFIG = fox-config-1.6 GENCAT = gencat GETTEXT_PACKAGE = xfe GLIBC2 = yes GLIBC21 = yes GMSGFMT = /usr/bin/msgfmt GMSGFMT_015 = /usr/bin/msgfmt GREP = /bin/grep HAVE_ASPRINTF = 1 HAVE_POSIX_PRINTF = 1 HAVE_SNPRINTF = 1 HAVE_VISIBILITY = 1 HAVE_WPRINTF = 0 INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s INSTOBJEXT = .mo INTLBISON = bison INTLLIBS = INTLOBJS = INTLTOOL_EXTRACT = /usr/bin/intltool-extract INTLTOOL_MERGE = /usr/bin/intltool-merge INTLTOOL_PERL = /usr/bin/perl INTLTOOL_UPDATE = /usr/bin/intltool-update INTLTOOL_V_MERGE = $(INTLTOOL__v_MERGE_$(V)) INTLTOOL_V_MERGE_OPTIONS = $(intltool__v_merge_options_$(V)) INTLTOOL__v_MERGE_ = $(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MERGE_0 = @echo " ITMRG " $@; INTL_LIBTOOL_SUFFIX_PREFIX = INTL_MACOSX_LIBS = LDFLAGS = LIBICONV = LIBINTL = LIBMULTITHREAD = -lpthread LIBOBJS = LIBPTH = LIBS = -lfontconfig -lpng -lFOX-1.6 -lX11 -lfreetype -lXft -lXrandr LIBTHREAD = LN_S = ln -s LTLIBICONV = LTLIBINTL = LTLIBMULTITHREAD = -lpthread LTLIBOBJS = LTLIBPTH = LTLIBTHREAD = MAKEINFO = ${SHELL} /home/test/xfe-1.42/missing makeinfo MKDIR_P = /bin/mkdir -p MSGFMT = /usr/bin/msgfmt MSGFMT_015 = /usr/bin/msgfmt MSGMERGE = /usr/bin/msgmerge OBJEXT = o PACKAGE = xfe PACKAGE_BUGREPORT = PACKAGE_NAME = xfe PACKAGE_STRING = xfe 1.42 PACKAGE_TARNAME = xfe PACKAGE_URL = PACKAGE_VERSION = 1.42 PATH_SEPARATOR = : POSUB = po PRI_MACROS_BROKEN = 0 RANLIB = ranlib SET_MAKE = SHELL = /bin/bash STARTUPNOTIFY = true STRIP = USE_INCLUDED_LIBINTL = no USE_NLS = yes VERSION = 1.42 WOE32DLL = no XGETTEXT = /usr/bin/xgettext XGETTEXT_015 = /usr/bin/xgettext XMKMF = abs_builddir = /home/test/xfe-1.42/icons/windows-theme abs_srcdir = /home/test/xfe-1.42/icons/windows-theme abs_top_builddir = /home/test/xfe-1.42 abs_top_srcdir = /home/test/xfe-1.42 ac_ct_CC = gcc ac_ct_CXX = g++ am__include = include am__leading_dot = . am__quote = am__tar = $${TAR-tar} chof - "$$tardir" am__untar = $${TAR-tar} xf - bindir = ${exec_prefix}/bin build = x86_64-pc-linux-gnu build_alias = build_cpu = x86_64 build_os = linux-gnu build_vendor = pc builddir = . datadir = ${datarootdir} datarootdir = ${prefix}/share docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} dvidir = ${docdir} exec_prefix = ${prefix} freetype_config = freetype-config host = x86_64-pc-linux-gnu host_alias = host_cpu = x86_64 host_os = linux-gnu host_vendor = pc htmldir = ${docdir} includedir = ${prefix}/include infodir = ${datarootdir}/info install_sh = ${SHELL} /home/test/xfe-1.42/install-sh intltool__v_merge_options_ = $(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY)) intltool__v_merge_options_0 = -q libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale localstatedir = ${prefix}/var mandir = ${datarootdir}/man mkdir_p = /bin/mkdir -p oldincludedir = /usr/include pdfdir = ${docdir} pkg_config = pkg-config prefix = /usr/local program_transform_name = s,x,x, psdir = ${docdir} sbindir = ${exec_prefix}/sbin sharedstatedir = ${prefix}/com srcdir = . sysconfdir = ${prefix}/etc target_alias = top_build_prefix = ../../ top_builddir = ../.. top_srcdir = ../.. xft_config = icondir = $(datadir)/xfe/icons/windows-theme icon_DATA = *.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu icons/windows-theme/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu icons/windows-theme/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-iconDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/icons/windows-theme/Makefile.am0000644000175100017510000000007511444154372015115 00000000000000icondir=$(datadir)/xfe/icons/windows-theme icon_DATA=*.png xfe-1.42/icons/windows-theme/dirup.png0000644000175100017510000000032311444154372014706 00000000000000PNG  IHDRRPLTE+tRNS@fbKGDH pHYs  tIME4'0:IDATc`@ P)Pu+B.FJ !AA#AA*#bJJPKƛIENDB`xfe-1.42/icons/windows-theme/bigfolderlocked.png0000644000175100017510000000130211444154372016700 00000000000000PNG  IHDR DPLTEstr42      Ѻxd|В9@/*tRNS@fbKGDH pHYs  tIME ( 9W*IDAT8˽V0 F)Аe7eC\Ǯ/בNrtI:&OIYm$2;ThiN?,6?h&pDc4(D -AR44S7[˗+nE#4{ǟ7yT ~`r (?~<|@{j sؐw|}3vTZڨqBos<γ"L@/AGJքc\w} tw v󕮤l9a :$ofhfL6r 2贿UsgL': +n&GKƙ1t~;uNwbӦk(?h=݌jBZsk-W۩Õ9#0fnx?7 p UuQN*%XDˍ#sa3iG.;^,*Und>m7N}4W'v|y3GGp v1 wL݌|];` t3&[flUz;I"v0 N0 Ol,g @q%Ձ1GhEFk!PrYN\p%o{/~$F8"$J &B!E-EEcL JD'NH)s6f}r̩ }-"%XRj*ʿ*kjԐJ6|Zl#׺鶻cO'j+jFm f'PYAcK@\Hh@@n`#(5rJ1 htbwC[ܔƯSm:ν2[U8bMGcN=ls6~w[A4&G d'1csz%3wL(:rƤԢ4?IHHuQ cRS|d{칍p%ƥs9T6 Q8uL^T6Qzͬv\yaX*Ť^A)>CT1ʐq)=>X&Sګ9l3It*pF+2AzihTS . ƞvn#Rp_9vAF7sBcaRgfϪͻQ N(pyo%S,=V}g'֪crhM[gAqˊœ.nMAͮp({;hEôkt/5W?- ͊+>{W\-uzl# uukn+i}~+3.*/^QҮU?Tg{sqF7&nSo nZk%ܝ{oKwZr}FˣlY]@VszagKp! @PLTEcΜntRNS@fbKGDH pHYs  tIME -UIDATc`FAA0C%T,(((I AP*aBP5E@{xxI JFIENDB`xfe-1.42/icons/windows-theme/newfolder.png0000644000175100017510000000033111444154372015547 00000000000000PNG  IHDRRPLTEtRNS@fbKGDH pHYs  tIME  ujCIDATc`@ &"F !agG!)220:#H j "@]H uI˼cIENDB`xfe-1.42/icons/windows-theme/bigfolderup.png0000644000175100017510000000056411444154372016074 00000000000000PNG  IHDR Tg!PLTE42Ѻxd|В:tRNS@fbKGDH pHYs  tIME )|(IDAT(ϕ1 @E6UGv?AZbS:I6.? zTӮI=srlG\5"cE(ZJDO+R&&^; QRC sH2bG!\&n|"WL0)8|v&nDzk)I鄈;#e &]?_|fIENDB`xfe-1.42/icons/windows-theme/minifolderclosed.png0000644000175100017510000000035511444154372017112 00000000000000PNG  IHDRRPLTEapcΜʜtRNS@fbKGDH pHYs  tIME 5 ޱNIDATc`FAA0C%T,(((I @eBPRH8T(Pd F$10(A  `IENDB`xfe-1.42/icons/windows-theme/minifolderlocked.png0000644000175100017510000000041211444154372017074 00000000000000PNG  IHDRR*PLTES0_abcΜ ZUtRNS@fbKGDH pHYs  tIME -LZYIDATc`fcc0nC@yyy8]|z72!JJ`F%]E0c%0 8c&%DA`k)K.IENDB`xfe-1.42/icons/windows-theme/minifolderopen.png0000644000175100017510000000036211444154372016600 00000000000000PNG  IHDRRPLTED cΜ1tRNS@fbKGDH pHYs  tIME  6VIDATe 0DO%a hؠWP/|FddJ%"*nC賗}x0j7k=K9Fn =?^(IENDB`xfe-1.42/icons/windows-theme/bigfolderopen.png0000644000175100017510000000061311444154372016404 00000000000000PNG  IHDR Tg-PLTEdΜWg1 -HltRNS@fbKGDH pHYs  tIME  IDAT(ϕ1@E7\acٚWv`% = ,K27?%E`}}f&"m&@r*Nfěɀ@8x PaZSIpi|<*C|W0]`'@9R7d+B"}e9[rM5.%ښݟ#RH, f pjH򘝶Y:ؑ2M%om-=IENDB`xfe-1.42/icons/windows-theme/gotodir.png0000644000175100017510000000042012205374333015225 00000000000000PNG  IHDRR$PLTE >>>cΜ*tRNS@fbKGDH pHYs  tIME )! ReIDATc`r\f@*FEA鍫Vjd޽{xyuD#7!p5KrBi.fld`( Q 0h! IENDB`xfe-1.42/icons/windows-theme/bignewfolder.png0000644000175100017510000001327612572256613016251 00000000000000PNG  IHDR D zTXtRaw profile type exifxڭi8snr 󁒝vgLK( Ͽ ޚ(kqQ}>vi 3]n&{rtx tfFs-,Zɣ17~ʿf X$4|G-k9-gxϫovw(Mw gBnf}`,{ku-&J^c)犎(X :0:E7]sۭsn`bgN[ W?Sn _ hO[ܙ+<=c0?ρVlvy% f^8S9üƾ86A90l⾸Fc/<c\6Augwc>:<ګlq1zVOPkN9ө`\vO}y~3iѼ5r5 sc[H|̈́ ]8n=rYݡܘkX+Ƹ.Pڑz-2|{9{JBEY!l,=\'e3` IkYw o"(I9QH`;€ "vY*Q̗^1=Xz%(g7zsʟq}^+<}ӛcJ]F{=nT!.:A|0B@{11Lč#  aJ=OV'xTt6 膅J$8MSf':c!1/eg!aو;6m-#chag)P˕9&jE -pD`4-#D|J"fm:NۋjtF+NI|̉O N'A0{ۋhص!^ K[oR Se ^t" !VmKgL=.^4l:U8 PpU!E (dUJ*M+uB QwIXF Pƭ;X!uұ2*fk2{122 %VApu N7 f֘]H-EROn a$״!i "166UTD*vuͳQ _ˡFs#@'ΗY<1f:J Þ GU%,N\ $jTT2=nT'*E>quBHNQQi }K:…Dː"oُD!:5#`Dr-grDȊy\ܪ W!-_jUpX47`QWx^^q݂+A߱Ո9/GLZ [dO.1*p Ћ!dٮ*%Gm|,_Tyц\|d+,X)#re͟Đ֧٢?bBA܆8ڸ?R,`}M ^qwRBBVA ~? klZd4[_6L#i;v)hyj}2hnhPɉKU`qgkt5ʹnxGCHE SukQ`o0[{n=lO~jA^ac{0εc]54g12{ޙqʇ|ʇb0[eG:!ߡ0_X aQz㬶cF@Q яqHniiO)^tu楇I7{<7w·tHb T/f`td{ 1铉uy㵝XP0Y_to7eڈlU͔I3(WING, -Q=}/r⨹ @`PLTE*AW42'AK9@I6AL7AK8AH8AI5BL9AJ@AAAA@AAAKA'KA(HA8IA8IA9JA8KA7LA6IB9LB5TB,Ѻxd|ВtRNS@fbKGDH pHYs  tIME ;7'IDAT8˽mo0CWUVڋZh0rwVma_@xfuzZwR 5\GrΟO;7BշZK^^Vp kD&`&] 0~L@%?l(D :kІ*qÿJH pz[ۚd[ҳdp`[SW݁e_lJnYhPv3_nSv8zzBš(ȂqѷG *@J!OSoCIENDB`xfe-1.42/config.guess0000755000175100017510000012475312727535130011506 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2015 Free Software Foundation, Inc. timestamp='2015-08-20' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || \ echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "${UNAME_MACHINE_ARCH}" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; *:Sortix:*:*) echo ${UNAME_MACHINE}-unknown-sortix exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; e2k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xfe-1.42/xfe.desktop.in.in0000644000175100017510000000032411737065042012340 00000000000000[Desktop Entry] _Name=Xfe _GenericName=File Manager _Comment=A lightweight file manager for X Window Exec=xfe Terminal=false Type=Application StartupNotify=@STARTUPNOTIFY@ Icon=xfe Categories=System;FileManager; xfe-1.42/AUTHORS0000644000175100017510000000033512216766031010222 00000000000000Author of the current X File Explorer: Roland Baudin Author of the FOX Toolkit: Jeroen van der Zijp Author of the original X Win Commander: Maxim Baranov xfe-1.42/st/0000755000175100017510000000000012746115271007661 500000000000000xfe-1.42/st/st.h0000644000175100017510000000024312633751153010377 00000000000000/* Guard C code in headers, while including them from C++ */ #ifdef __cplusplus extern "C" { #endif int st(int argc, char **argv); #ifdef __cplusplus } #endif xfe-1.42/st/config.h0000644000175100017510000004777512634027304011236 00000000000000/* MIT/X Consortium License © 2009-2012 Aurélien APTEL © 2009 Anselm R Garbe © 2012-2015 Roberto E. Vargas Caballero © 2012-2015 Christoph Lohmann <20h at r-36 dot net> © 2013 Eon S. Jeon © 2013 Alexander Sedov © 2013 Mark Edgar © 2013 Eric Pruitt © 2013 Michael Forney © 2013-2014 Markus Teich © 2014 Laslo Hunhold Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* * appearance * * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html */ static char font[] = "Courier:pixelsize=10:antialias=false:autohint=false"; static int borderpx = 2; static char shell[] = "/bin/sh"; static char *utmp = NULL; static char stty_args[] = "stty raw -echo -iexten echonl"; /* identification sequence returned in DA and DECID */ static char vtiden[] = "\033[?6c"; /* Kerning / character bounding-box multipliers */ static float cwscale = 1.0; static float chscale = 1.0; /* * word delimiter string * * More advanced example: " `'\"()[]{}" */ static char worddelimiters[] = " "; /* selection timeouts (in milliseconds) */ static unsigned int doubleclicktimeout = 300; static unsigned int tripleclicktimeout = 600; /* alt screens */ static bool allowaltscreen = true; /* frames per second st should at maximum draw to the screen */ static unsigned int xfps = 120; static unsigned int actionfps = 30; /* * blinking timeout (set to 0 to disable blinking) for the terminal blinking * attribute. */ static unsigned int blinktimeout = 800; /* * thickness of underline and bar cursors */ static unsigned int cursorthickness = 2; /* * bell volume. It must be a value between -100 and 100. Use 0 for disabling * it */ static int bellvolume = 0; /* TERM value */ static char termname[] = "st-256color"; static unsigned int tabspaces = 8; /* Terminal colors (16 first used in escape sequence) */ static const char *colorname[] = { /* 8 normal colors */ "black", "red3", "green3", "yellow3", "blue2", "magenta3", "cyan3", "gray100", /* 8 bright colors */ "gray50", "red", "green", "yellow", "#5c5cff", "magenta", "cyan", "white", [255] = 0, /* more colors can be added after 255 to use with DefaultXX */ "#cccccc", }; /* * Default colors (colorname index) * foreground, background, cursor */ static unsigned int defaultfg = 0; static unsigned int defaultbg = 7; static unsigned int defaultcs = 0; /* * Colors used, when the specific fg == defaultfg. So in reverse mode this * will reverse too. Another logic would only make the simple feature too * complex. */ static unsigned int defaultitalic = 11; static unsigned int defaultunderline = 7; /* Internal mouse shortcuts. */ /* Beware that overloading Button1 will disable the selection. */ static Mousekey mshortcuts[] = { /* button mask string */ { Button4, XK_ANY_MOD, "\031" }, { Button5, XK_ANY_MOD, "\005" }, }; /* Internal keyboard shortcuts. */ #define MODKEY Mod1Mask static Shortcut shortcuts[] = { /* mask keysym function argument */ { ControlMask, XK_Print, toggleprinter, {.i = 0} }, { ShiftMask, XK_Print, printscreen, {.i = 0} }, { XK_ANY_MOD, XK_Print, printsel, {.i = 0} }, { MODKEY|ShiftMask, XK_Prior, xzoom, {.f = +1} }, { MODKEY|ShiftMask, XK_Next, xzoom, {.f = -1} }, { MODKEY|ShiftMask, XK_Home, xzoomreset, {.f = 0} }, { ShiftMask, XK_Insert, selpaste, {.i = 0} }, { MODKEY|ShiftMask, XK_Insert, clippaste, {.i = 0} }, { MODKEY|ShiftMask, XK_C, clipcopy, {.i = 0} }, { MODKEY|ShiftMask, XK_V, clippaste, {.i = 0} }, { MODKEY, XK_Num_Lock, numlock, {.i = 0} }, }; /* * Special keys (change & recompile st.info accordingly) * * Mask value: * * Use XK_ANY_MOD to match the key no matter modifiers state * * Use XK_NO_MOD to match the key alone (no modifiers) * appkey value: * * 0: no value * * > 0: keypad application mode enabled * * = 2: term.numlock = 1 * * < 0: keypad application mode disabled * appcursor value: * * 0: no value * * > 0: cursor application mode enabled * * < 0: cursor application mode disabled * crlf value * * 0: no value * * > 0: crlf mode is enabled * * < 0: crlf mode is disabled * * Be careful with the order of the definitions because st searches in * this table sequentially, so any XK_ANY_MOD must be in the last * position for a key. */ /* * If you want keys other than the X11 function keys (0xFD00 - 0xFFFF) * to be mapped below, add them to this array. */ static KeySym mappedkeys[] = { -1 }; /* * State bits to ignore when matching key or button events. By default, * numlock (Mod2Mask) and keyboard layout (XK_SWITCH_MOD) are ignored. */ static uint ignoremod = Mod2Mask|XK_SWITCH_MOD; /* Override mouse-select while mask is active (when MODE_MOUSE is set). * Note that if you want to use ShiftMask with selmasks, set this to an other * modifier, set to 0 to not use it. */ static uint forceselmod = ShiftMask; static Key key[] = { /* keysym mask string appkey appcursor crlf */ { XK_KP_Home, ShiftMask, "\033[2J", 0, -1, 0}, { XK_KP_Home, ShiftMask, "\033[1;2H", 0, +1, 0}, { XK_KP_Home, XK_ANY_MOD, "\033[H", 0, -1, 0}, { XK_KP_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0}, { XK_KP_Up, XK_ANY_MOD, "\033Ox", +1, 0, 0}, { XK_KP_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, { XK_KP_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, { XK_KP_Down, XK_ANY_MOD, "\033Or", +1, 0, 0}, { XK_KP_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, { XK_KP_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, { XK_KP_Left, XK_ANY_MOD, "\033Ot", +1, 0, 0}, { XK_KP_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, { XK_KP_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, { XK_KP_Right, XK_ANY_MOD, "\033Ov", +1, 0, 0}, { XK_KP_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, { XK_KP_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, { XK_KP_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, { XK_KP_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0}, { XK_KP_Begin, XK_ANY_MOD, "\033[E", 0, 0, 0}, { XK_KP_End, ControlMask, "\033[J", -1, 0, 0}, { XK_KP_End, ControlMask, "\033[1;5F", +1, 0, 0}, { XK_KP_End, ShiftMask, "\033[K", -1, 0, 0}, { XK_KP_End, ShiftMask, "\033[1;2F", +1, 0, 0}, { XK_KP_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, { XK_KP_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, { XK_KP_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, { XK_KP_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, { XK_KP_Insert, ShiftMask, "\033[4l", -1, 0, 0}, { XK_KP_Insert, ControlMask, "\033[L", -1, 0, 0}, { XK_KP_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, { XK_KP_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, { XK_KP_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, { XK_KP_Delete, ControlMask, "\033[M", -1, 0, 0}, { XK_KP_Delete, ControlMask, "\033[3;5~", +1, 0, 0}, { XK_KP_Delete, ShiftMask, "\033[2K", -1, 0, 0}, { XK_KP_Delete, ShiftMask, "\033[3;2~", +1, 0, 0}, { XK_KP_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0}, { XK_KP_Delete, XK_ANY_MOD, "\033[3~", +1, 0, 0}, { XK_KP_Multiply, XK_ANY_MOD, "\033Oj", +2, 0, 0}, { XK_KP_Add, XK_ANY_MOD, "\033Ok", +2, 0, 0}, { XK_KP_Enter, XK_ANY_MOD, "\033OM", +2, 0, 0}, { XK_KP_Enter, XK_ANY_MOD, "\r", -1, 0, -1}, { XK_KP_Enter, XK_ANY_MOD, "\r\n", -1, 0, +1}, { XK_KP_Subtract, XK_ANY_MOD, "\033Om", +2, 0, 0}, { XK_KP_Decimal, XK_ANY_MOD, "\033On", +2, 0, 0}, { XK_KP_Divide, XK_ANY_MOD, "\033Oo", +2, 0, 0}, { XK_KP_0, XK_ANY_MOD, "\033Op", +2, 0, 0}, { XK_KP_1, XK_ANY_MOD, "\033Oq", +2, 0, 0}, { XK_KP_2, XK_ANY_MOD, "\033Or", +2, 0, 0}, { XK_KP_3, XK_ANY_MOD, "\033Os", +2, 0, 0}, { XK_KP_4, XK_ANY_MOD, "\033Ot", +2, 0, 0}, { XK_KP_5, XK_ANY_MOD, "\033Ou", +2, 0, 0}, { XK_KP_6, XK_ANY_MOD, "\033Ov", +2, 0, 0}, { XK_KP_7, XK_ANY_MOD, "\033Ow", +2, 0, 0}, { XK_KP_8, XK_ANY_MOD, "\033Ox", +2, 0, 0}, { XK_KP_9, XK_ANY_MOD, "\033Oy", +2, 0, 0}, { XK_Up, ShiftMask, "\033[1;2A", 0, 0, 0}, { XK_Up, ControlMask, "\033[1;5A", 0, 0, 0}, { XK_Up, Mod1Mask, "\033[1;3A", 0, 0, 0}, { XK_Up, XK_ANY_MOD, "\033[A", 0, -1, 0}, { XK_Up, XK_ANY_MOD, "\033OA", 0, +1, 0}, { XK_Down, ShiftMask, "\033[1;2B", 0, 0, 0}, { XK_Down, ControlMask, "\033[1;5B", 0, 0, 0}, { XK_Down, Mod1Mask, "\033[1;3B", 0, 0, 0}, { XK_Down, XK_ANY_MOD, "\033[B", 0, -1, 0}, { XK_Down, XK_ANY_MOD, "\033OB", 0, +1, 0}, { XK_Left, ShiftMask, "\033[1;2D", 0, 0, 0}, { XK_Left, ControlMask, "\033[1;5D", 0, 0, 0}, { XK_Left, Mod1Mask, "\033[1;3D", 0, 0, 0}, { XK_Left, XK_ANY_MOD, "\033[D", 0, -1, 0}, { XK_Left, XK_ANY_MOD, "\033OD", 0, +1, 0}, { XK_Right, ShiftMask, "\033[1;2C", 0, 0, 0}, { XK_Right, ControlMask, "\033[1;5C", 0, 0, 0}, { XK_Right, Mod1Mask, "\033[1;3C", 0, 0, 0}, { XK_Right, XK_ANY_MOD, "\033[C", 0, -1, 0}, { XK_Right, XK_ANY_MOD, "\033OC", 0, +1, 0}, { XK_ISO_Left_Tab, ShiftMask, "\033[Z", 0, 0, 0}, { XK_Return, Mod1Mask, "\033\r", 0, 0, -1}, { XK_Return, Mod1Mask, "\033\r\n", 0, 0, +1}, { XK_Return, XK_ANY_MOD, "\r", 0, 0, -1}, { XK_Return, XK_ANY_MOD, "\r\n", 0, 0, +1}, { XK_Insert, ShiftMask, "\033[4l", -1, 0, 0}, { XK_Insert, ShiftMask, "\033[2;2~", +1, 0, 0}, { XK_Insert, ControlMask, "\033[L", -1, 0, 0}, { XK_Insert, ControlMask, "\033[2;5~", +1, 0, 0}, { XK_Insert, XK_ANY_MOD, "\033[4h", -1, 0, 0}, { XK_Insert, XK_ANY_MOD, "\033[2~", +1, 0, 0}, { XK_Delete, ControlMask, "\033[M", -1, 0, 0}, { XK_Delete, ControlMask, "\033[3;5~", +1, 0, 0}, { XK_Delete, ShiftMask, "\033[2K", -1, 0, 0}, { XK_Delete, ShiftMask, "\033[3;2~", +1, 0, 0}, { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0}, { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0, 0}, { XK_BackSpace, XK_NO_MOD, "\177", 0, 0, 0}, { XK_Home, ShiftMask, "\033[2J", 0, -1, 0}, { XK_Home, ShiftMask, "\033[1;2H", 0, +1, 0}, { XK_Home, XK_ANY_MOD, "\033[H", 0, -1, 0}, { XK_Home, XK_ANY_MOD, "\033[1~", 0, +1, 0}, { XK_End, ControlMask, "\033[J", -1, 0, 0}, { XK_End, ControlMask, "\033[1;5F", +1, 0, 0}, { XK_End, ShiftMask, "\033[K", -1, 0, 0}, { XK_End, ShiftMask, "\033[1;2F", +1, 0, 0}, { XK_End, XK_ANY_MOD, "\033[4~", 0, 0, 0}, { XK_Prior, ControlMask, "\033[5;5~", 0, 0, 0}, { XK_Prior, ShiftMask, "\033[5;2~", 0, 0, 0}, { XK_Prior, XK_ANY_MOD, "\033[5~", 0, 0, 0}, { XK_Next, ControlMask, "\033[6;5~", 0, 0, 0}, { XK_Next, ShiftMask, "\033[6;2~", 0, 0, 0}, { XK_Next, XK_ANY_MOD, "\033[6~", 0, 0, 0}, { XK_F1, XK_NO_MOD, "\033OP" , 0, 0, 0}, { XK_F1, /* F13 */ ShiftMask, "\033[1;2P", 0, 0, 0}, { XK_F1, /* F25 */ ControlMask, "\033[1;5P", 0, 0, 0}, { XK_F1, /* F37 */ Mod4Mask, "\033[1;6P", 0, 0, 0}, { XK_F1, /* F49 */ Mod1Mask, "\033[1;3P", 0, 0, 0}, { XK_F1, /* F61 */ Mod3Mask, "\033[1;4P", 0, 0, 0}, { XK_F2, XK_NO_MOD, "\033OQ" , 0, 0, 0}, { XK_F2, /* F14 */ ShiftMask, "\033[1;2Q", 0, 0, 0}, { XK_F2, /* F26 */ ControlMask, "\033[1;5Q", 0, 0, 0}, { XK_F2, /* F38 */ Mod4Mask, "\033[1;6Q", 0, 0, 0}, { XK_F2, /* F50 */ Mod1Mask, "\033[1;3Q", 0, 0, 0}, { XK_F2, /* F62 */ Mod3Mask, "\033[1;4Q", 0, 0, 0}, { XK_F3, XK_NO_MOD, "\033OR" , 0, 0, 0}, { XK_F3, /* F15 */ ShiftMask, "\033[1;2R", 0, 0, 0}, { XK_F3, /* F27 */ ControlMask, "\033[1;5R", 0, 0, 0}, { XK_F3, /* F39 */ Mod4Mask, "\033[1;6R", 0, 0, 0}, { XK_F3, /* F51 */ Mod1Mask, "\033[1;3R", 0, 0, 0}, { XK_F3, /* F63 */ Mod3Mask, "\033[1;4R", 0, 0, 0}, { XK_F4, XK_NO_MOD, "\033OS" , 0, 0, 0}, { XK_F4, /* F16 */ ShiftMask, "\033[1;2S", 0, 0, 0}, { XK_F4, /* F28 */ ControlMask, "\033[1;5S", 0, 0, 0}, { XK_F4, /* F40 */ Mod4Mask, "\033[1;6S", 0, 0, 0}, { XK_F4, /* F52 */ Mod1Mask, "\033[1;3S", 0, 0, 0}, { XK_F5, XK_NO_MOD, "\033[15~", 0, 0, 0}, { XK_F5, /* F17 */ ShiftMask, "\033[15;2~", 0, 0, 0}, { XK_F5, /* F29 */ ControlMask, "\033[15;5~", 0, 0, 0}, { XK_F5, /* F41 */ Mod4Mask, "\033[15;6~", 0, 0, 0}, { XK_F5, /* F53 */ Mod1Mask, "\033[15;3~", 0, 0, 0}, { XK_F6, XK_NO_MOD, "\033[17~", 0, 0, 0}, { XK_F6, /* F18 */ ShiftMask, "\033[17;2~", 0, 0, 0}, { XK_F6, /* F30 */ ControlMask, "\033[17;5~", 0, 0, 0}, { XK_F6, /* F42 */ Mod4Mask, "\033[17;6~", 0, 0, 0}, { XK_F6, /* F54 */ Mod1Mask, "\033[17;3~", 0, 0, 0}, { XK_F7, XK_NO_MOD, "\033[18~", 0, 0, 0}, { XK_F7, /* F19 */ ShiftMask, "\033[18;2~", 0, 0, 0}, { XK_F7, /* F31 */ ControlMask, "\033[18;5~", 0, 0, 0}, { XK_F7, /* F43 */ Mod4Mask, "\033[18;6~", 0, 0, 0}, { XK_F7, /* F55 */ Mod1Mask, "\033[18;3~", 0, 0, 0}, { XK_F8, XK_NO_MOD, "\033[19~", 0, 0, 0}, { XK_F8, /* F20 */ ShiftMask, "\033[19;2~", 0, 0, 0}, { XK_F8, /* F32 */ ControlMask, "\033[19;5~", 0, 0, 0}, { XK_F8, /* F44 */ Mod4Mask, "\033[19;6~", 0, 0, 0}, { XK_F8, /* F56 */ Mod1Mask, "\033[19;3~", 0, 0, 0}, { XK_F9, XK_NO_MOD, "\033[20~", 0, 0, 0}, { XK_F9, /* F21 */ ShiftMask, "\033[20;2~", 0, 0, 0}, { XK_F9, /* F33 */ ControlMask, "\033[20;5~", 0, 0, 0}, { XK_F9, /* F45 */ Mod4Mask, "\033[20;6~", 0, 0, 0}, { XK_F9, /* F57 */ Mod1Mask, "\033[20;3~", 0, 0, 0}, { XK_F10, XK_NO_MOD, "\033[21~", 0, 0, 0}, { XK_F10, /* F22 */ ShiftMask, "\033[21;2~", 0, 0, 0}, { XK_F10, /* F34 */ ControlMask, "\033[21;5~", 0, 0, 0}, { XK_F10, /* F46 */ Mod4Mask, "\033[21;6~", 0, 0, 0}, { XK_F10, /* F58 */ Mod1Mask, "\033[21;3~", 0, 0, 0}, { XK_F11, XK_NO_MOD, "\033[23~", 0, 0, 0}, { XK_F11, /* F23 */ ShiftMask, "\033[23;2~", 0, 0, 0}, { XK_F11, /* F35 */ ControlMask, "\033[23;5~", 0, 0, 0}, { XK_F11, /* F47 */ Mod4Mask, "\033[23;6~", 0, 0, 0}, { XK_F11, /* F59 */ Mod1Mask, "\033[23;3~", 0, 0, 0}, { XK_F12, XK_NO_MOD, "\033[24~", 0, 0, 0}, { XK_F12, /* F24 */ ShiftMask, "\033[24;2~", 0, 0, 0}, { XK_F12, /* F36 */ ControlMask, "\033[24;5~", 0, 0, 0}, { XK_F12, /* F48 */ Mod4Mask, "\033[24;6~", 0, 0, 0}, { XK_F12, /* F60 */ Mod1Mask, "\033[24;3~", 0, 0, 0}, { XK_F13, XK_NO_MOD, "\033[1;2P", 0, 0, 0}, { XK_F14, XK_NO_MOD, "\033[1;2Q", 0, 0, 0}, { XK_F15, XK_NO_MOD, "\033[1;2R", 0, 0, 0}, { XK_F16, XK_NO_MOD, "\033[1;2S", 0, 0, 0}, { XK_F17, XK_NO_MOD, "\033[15;2~", 0, 0, 0}, { XK_F18, XK_NO_MOD, "\033[17;2~", 0, 0, 0}, { XK_F19, XK_NO_MOD, "\033[18;2~", 0, 0, 0}, { XK_F20, XK_NO_MOD, "\033[19;2~", 0, 0, 0}, { XK_F21, XK_NO_MOD, "\033[20;2~", 0, 0, 0}, { XK_F22, XK_NO_MOD, "\033[21;2~", 0, 0, 0}, { XK_F23, XK_NO_MOD, "\033[23;2~", 0, 0, 0}, { XK_F24, XK_NO_MOD, "\033[24;2~", 0, 0, 0}, { XK_F25, XK_NO_MOD, "\033[1;5P", 0, 0, 0}, { XK_F26, XK_NO_MOD, "\033[1;5Q", 0, 0, 0}, { XK_F27, XK_NO_MOD, "\033[1;5R", 0, 0, 0}, { XK_F28, XK_NO_MOD, "\033[1;5S", 0, 0, 0}, { XK_F29, XK_NO_MOD, "\033[15;5~", 0, 0, 0}, { XK_F30, XK_NO_MOD, "\033[17;5~", 0, 0, 0}, { XK_F31, XK_NO_MOD, "\033[18;5~", 0, 0, 0}, { XK_F32, XK_NO_MOD, "\033[19;5~", 0, 0, 0}, { XK_F33, XK_NO_MOD, "\033[20;5~", 0, 0, 0}, { XK_F34, XK_NO_MOD, "\033[21;5~", 0, 0, 0}, { XK_F35, XK_NO_MOD, "\033[23;5~", 0, 0, 0}, }; /* * Selection types' masks. * Use the same masks as usual. * Button1Mask is always unset, to make masks match between ButtonPress. * ButtonRelease and MotionNotify. * If no match is found, regular selection is used. */ static uint selmasks[] = { [SEL_RECTANGULAR] = Mod1Mask, }; xfe-1.42/st/arg.h0000644000175100017510000000554212634034520010522 00000000000000/* MIT/X Consortium License © 2009-2012 Aurélien APTEL © 2009 Anselm R Garbe © 2012-2015 Roberto E. Vargas Caballero © 2012-2015 Christoph Lohmann <20h at r-36 dot net> © 2013 Eon S. Jeon © 2013 Alexander Sedov © 2013 Mark Edgar © 2013 Eric Pruitt © 2013 Michael Forney © 2013-2014 Markus Teich © 2014 Laslo Hunhold Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef ARG_H__ #define ARG_H__ extern char *argv0; /* use main(int argc, char *argv[]) */ #define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ argv[0] && argv[0][1]\ && argv[0][0] == '-';\ argc--, argv++) {\ char argc_;\ char **argv_;\ int brk_;\ if (argv[0][1] == '-' && argv[0][2] == '\0') {\ argv++;\ argc--;\ break;\ }\ for (brk_ = 0, argv[0]++, argv_ = argv;\ argv[0][0] && !brk_;\ argv[0]++) {\ if (argv_ != argv)\ break;\ argc_ = argv[0][0];\ switch (argc_) /* Handles obsolete -NUM syntax */ #define ARGNUM case '0':\ case '1':\ case '2':\ case '3':\ case '4':\ case '5':\ case '6':\ case '7':\ case '8':\ case '9' #define ARGEND }\ } #define ARGC() argc_ #define ARGNUMF(base) (brk_ = 1, estrtol(argv[0], (base))) #define EARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ ((exit(EXIT_FAILURE)), abort(), (char *)0) :\ (brk_ = 1, (argv[0][1] != '\0')?\ (&argv[0][1]) :\ (argc--, argv++, argv[0]))) #define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ (char *)0 :\ (brk_ = 1, (argv[0][1] != '\0')?\ (&argv[0][1]) :\ (argc--, argv++, argv[0]))) #endif xfe-1.42/st/st.c0000644000175100017510000027176012634036316010406 00000000000000/* MIT/X Consortium License © 2009-2012 Aurélien APTEL © 2009 Anselm R Garbe © 2012-2015 Roberto E. Vargas Caballero © 2012-2015 Christoph Lohmann <20h at r-36 dot net> © 2013 Eon S. Jeon © 2013 Alexander Sedov © 2013 Mark Edgar © 2013 Eric Pruitt © 2013 Michael Forney © 2013-2014 Markus Teich © 2014 Laslo Hunhold Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* ChangeLog RB * - added the _XOPEN_SOURCE directive to allow compilation * - changed the default font in config.h * - changed default foreground and background in config.h * - scale the font size by dpi/72 in xloadfonts(). Added the getdpi() * function, found on the web (author ???) * - add of an extern "C" instruction to st.h, to compile with C++ * - replaced the main() function with a st() function, to allow st * to be called within a program * - removed the usage() function */ #ifndef _XOPEN_SOURCE #define _XOPEN_SOURCE 600 #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "arg.h" char *argv0; #define Glyph Glyph_ #define Font Font_ #if defined(__linux) #include #elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) #include #elif defined(__FreeBSD__) || defined(__DragonFly__) #include #endif #include "st.h" /* XEMBED messages */ #define XEMBED_FOCUS_IN 4 #define XEMBED_FOCUS_OUT 5 /* Arbitrary sizes */ #define UTF_INVALID 0xFFFD #define UTF_SIZ 4 #define ESC_BUF_SIZ (128*UTF_SIZ) #define ESC_ARG_SIZ 16 #define STR_BUF_SIZ ESC_BUF_SIZ #define STR_ARG_SIZ ESC_ARG_SIZ #define XK_ANY_MOD UINT_MAX #define XK_NO_MOD 0 #define XK_SWITCH_MOD (1<<13) /* macros */ #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MAX(a, b) ((a) < (b) ? (b) : (a)) #define LEN(a) (sizeof(a) / sizeof(a)[0]) #define DEFAULT(a, b) (a) = (a) ? (a) : (b) #define BETWEEN(x, a, b) ((a) <= (x) && (x) <= (b)) #define ISCONTROLC0(c) (BETWEEN(c, 0, 0x1f) || (c) == '\177') #define ISCONTROLC1(c) (BETWEEN(c, 0x80, 0x9f)) #define ISCONTROL(c) (ISCONTROLC0(c) || ISCONTROLC1(c)) #define ISDELIM(u) (utf8strchr(worddelimiters, u) != NULL) #define LIMIT(x, a, b) (x) = (x) < (a) ? (a) : (x) > (b) ? (b) : (x) #define ATTRCMP(a, b) ((a).mode != (b).mode || (a).fg != (b).fg || (a).bg != (b).bg) #define IS_SET(flag) ((term.mode & (flag)) != 0) #define TIMEDIFF(t1, t2) ((t1.tv_sec-t2.tv_sec)*1000 + (t1.tv_nsec-t2.tv_nsec)/1E6) #define MODBIT(x, set, bit) ((set) ? ((x) |= (bit)) : ((x) &= ~(bit))) #define TRUECOLOR(r,g,b) (1 << 24 | (r) << 16 | (g) << 8 | (b)) #define IS_TRUECOL(x) (1 << 24 & (x)) #define TRUERED(x) (((x) & 0xff0000) >> 8) #define TRUEGREEN(x) (((x) & 0xff00)) #define TRUEBLUE(x) (((x) & 0xff) << 8) enum glyph_attribute { ATTR_NULL = 0, ATTR_BOLD = 1 << 0, ATTR_FAINT = 1 << 1, ATTR_ITALIC = 1 << 2, ATTR_UNDERLINE = 1 << 3, ATTR_BLINK = 1 << 4, ATTR_REVERSE = 1 << 5, ATTR_INVISIBLE = 1 << 6, ATTR_STRUCK = 1 << 7, ATTR_WRAP = 1 << 8, ATTR_WIDE = 1 << 9, ATTR_WDUMMY = 1 << 10, ATTR_BOLD_FAINT = ATTR_BOLD | ATTR_FAINT, }; enum cursor_movement { CURSOR_SAVE, CURSOR_LOAD }; enum cursor_state { CURSOR_DEFAULT = 0, CURSOR_WRAPNEXT = 1, CURSOR_ORIGIN = 2 }; enum term_mode { MODE_WRAP = 1 << 0, MODE_INSERT = 1 << 1, MODE_APPKEYPAD = 1 << 2, MODE_ALTSCREEN = 1 << 3, MODE_CRLF = 1 << 4, MODE_MOUSEBTN = 1 << 5, MODE_MOUSEMOTION = 1 << 6, MODE_REVERSE = 1 << 7, MODE_KBDLOCK = 1 << 8, MODE_HIDE = 1 << 9, MODE_ECHO = 1 << 10, MODE_APPCURSOR = 1 << 11, MODE_MOUSESGR = 1 << 12, MODE_8BIT = 1 << 13, MODE_BLINK = 1 << 14, MODE_FBLINK = 1 << 15, MODE_FOCUS = 1 << 16, MODE_MOUSEX10 = 1 << 17, MODE_MOUSEMANY = 1 << 18, MODE_BRCKTPASTE = 1 << 19, MODE_PRINT = 1 << 20, MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\ |MODE_MOUSEMANY, }; enum charset { CS_GRAPHIC0, CS_GRAPHIC1, CS_UK, CS_USA, CS_MULTI, CS_GER, CS_FIN }; enum escape_state { ESC_START = 1, ESC_CSI = 2, ESC_STR = 4, /* DCS, OSC, PM, APC */ ESC_ALTCHARSET = 8, ESC_STR_END = 16, /* a final string was encountered */ ESC_TEST = 32, /* Enter in test mode */ }; enum window_state { WIN_VISIBLE = 1, WIN_FOCUSED = 2 }; enum selection_mode { SEL_IDLE = 0, SEL_EMPTY = 1, SEL_READY = 2 }; enum selection_type { SEL_REGULAR = 1, SEL_RECTANGULAR = 2 }; enum selection_snap { SNAP_WORD = 1, SNAP_LINE = 2 }; typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned short ushort; typedef uint_least32_t Rune; typedef XftDraw *Draw; typedef XftColor Color; typedef struct { Rune u; /* character code */ ushort mode; /* attribute flags */ uint32_t fg; /* foreground */ uint32_t bg; /* background */ } Glyph; typedef Glyph *Line; typedef struct { Glyph attr; /* current char attributes */ int x; int y; char state; } TCursor; /* CSI Escape sequence structs */ /* ESC '[' [[ [] [;]] []] */ typedef struct { char buf[ESC_BUF_SIZ]; /* raw string */ int len; /* raw string length */ char priv; int arg[ESC_ARG_SIZ]; int narg; /* nb of args */ char mode[2]; } CSIEscape; /* STR Escape sequence structs */ /* ESC type [[ [] [;]] ] ESC '\' */ typedef struct { char type; /* ESC type ... */ char buf[STR_BUF_SIZ]; /* raw string */ int len; /* raw string length */ char *args[STR_ARG_SIZ]; int narg; /* nb of args */ } STREscape; /* Internal representation of the screen */ typedef struct { int row; /* nb row */ int col; /* nb col */ Line *line; /* screen */ Line *alt; /* alternate screen */ bool *dirty; /* dirtyness of lines */ XftGlyphFontSpec *specbuf; /* font spec buffer used for rendering */ TCursor c; /* cursor */ int top; /* top scroll limit */ int bot; /* bottom scroll limit */ int mode; /* terminal mode flags */ int esc; /* escape state flags */ char trantbl[4]; /* charset table translation */ int charset; /* current charset */ int icharset; /* selected charset for sequence */ bool numlock; /* lock numbers in keyboard */ bool *tabs; } Term; /* Purely graphic info */ typedef struct { Display *dpy; Colormap cmap; Window win; Drawable buf; Atom xembed, wmdeletewin, netwmname, netwmpid; XIM xim; XIC xic; Draw draw; Visual *vis; XSetWindowAttributes attrs; int scr; bool isfixed; /* is fixed geometry? */ int l, t; /* left and top offset */ int gm; /* geometry mask */ int tw, th; /* tty width and height */ int w, h; /* window width and height */ int ch; /* char height */ int cw; /* char width */ char state; /* focus, redraw, visible */ int cursor; /* cursor style */ } XWindow; typedef struct { uint b; uint mask; char *s; } Mousekey; typedef struct { KeySym k; uint mask; char *s; /* three valued logic variables: 0 indifferent, 1 on, -1 off */ signed char appkey; /* application keypad */ signed char appcursor; /* application cursor */ signed char crlf; /* crlf mode */ } Key; typedef struct { int mode; int type; int snap; /* * Selection variables: * nb – normalized coordinates of the beginning of the selection * ne – normalized coordinates of the end of the selection * ob – original coordinates of the beginning of the selection * oe – original coordinates of the end of the selection */ struct { int x, y; } nb, ne, ob, oe; char *primary, *clipboard; Atom xtarget; bool alt; struct timespec tclick1; struct timespec tclick2; } Selection; typedef union { int i; uint ui; float f; const void *v; } Arg; typedef struct { uint mod; KeySym keysym; void (*func)(const Arg *); const Arg arg; } Shortcut; /* function definitions used in config.h */ static void clipcopy(const Arg *); static void clippaste(const Arg *); static void numlock(const Arg *); static void selpaste(const Arg *); static void xzoom(const Arg *); static void xzoomabs(const Arg *); static void xzoomreset(const Arg *); static void printsel(const Arg *); static void printscreen(const Arg *) ; static void toggleprinter(const Arg *); /* Config.h for applying patches and the configuration. */ #include "config.h" /* Font structure */ typedef struct { int height; int width; int ascent; int descent; short lbearing; short rbearing; XftFont *match; FcFontSet *set; FcPattern *pattern; } Font; /* Drawing Context */ typedef struct { Color col[MAX(LEN(colorname), 256)]; Font font, bfont, ifont, ibfont; GC gc; } DC; static void die(const char *, ...); static void draw(void); static void redraw(void); static void drawregion(int, int, int, int); static void execsh(void); static void stty(void); static void sigchld(int); static void run(void); static void csidump(void); static void csihandle(void); static void csiparse(void); static void csireset(void); static int eschandle(uchar); static void strdump(void); static void strhandle(void); static void strparse(void); static void strreset(void); static int tattrset(int); static void tprinter(char *, size_t); static void tdumpsel(void); static void tdumpline(int); static void tdump(void); static void tclearregion(int, int, int, int); static void tcursor(int); static void tdeletechar(int); static void tdeleteline(int); static void tinsertblank(int); static void tinsertblankline(int); static int tlinelen(int); static void tmoveto(int, int); static void tmoveato(int, int); static void tnew(int, int); static void tnewline(int); static void tputtab(int); static void tputc(Rune); static void treset(void); static void tresize(int, int); static void tscrollup(int, int); static void tscrolldown(int, int); static void tsetattr(int *, int); static void tsetchar(Rune, Glyph *, int, int); static void tsetscroll(int, int); static void tswapscreen(void); static void tsetdirt(int, int); static void tsetdirtattr(int); static void tsetmode(bool, bool, int *, int); static void tfulldirt(void); static void techo(Rune); static void tcontrolcode(uchar ); static void tdectest(char ); static int32_t tdefcolor(int *, int *, int); static void tdeftran(char); static inline bool match(uint, uint); static void ttynew(void); static void ttyread(void); static void ttyresize(void); static void ttysend(char *, size_t); static void ttywrite(const char *, size_t); static void tstrsequence(uchar); static inline ushort sixd_to_16bit(int); static int xmakeglyphfontspecs(XftGlyphFontSpec *, const Glyph *, int, int, int); static void xdrawglyphfontspecs(const XftGlyphFontSpec *, Glyph, int, int, int); static void xdrawglyph(Glyph, int, int); static void xhints(void); static void xclear(int, int, int, int); static void xdrawcursor(void); static void xinit(void); static void xloadcols(void); static int xsetcolorname(int, const char *); static int xgeommasktogravity(int); static void getdpi(int *, int *); static int xloadfont(Font *, FcPattern *); static void xloadfonts(char *, double); static void xsettitle(char *); static void xresettitle(void); static void xsetpointermotion(int); static void xseturgency(int); static void xsetsel(char *, Time); static void xtermclear(int, int, int, int); static void xunloadfont(Font *); static void xunloadfonts(void); static void xresize(int, int); static void expose(XEvent *); static void visibility(XEvent *); static void unmap(XEvent *); static char *kmap(KeySym, uint); static void kpress(XEvent *); static void cmessage(XEvent *); static void cresize(int, int); static void resize(XEvent *); static void focus(XEvent *); static void brelease(XEvent *); static void bpress(XEvent *); static void bmotion(XEvent *); static void selnotify(XEvent *); static void selclear(XEvent *); static void selrequest(XEvent *); static void selinit(void); static void selnormalize(void); static inline bool selected(int, int); static char *getsel(void); static void selcopy(Time); static void selscroll(int, int); static void selsnap(int *, int *, int); static int x2col(int); static int y2row(int); static void getbuttoninfo(XEvent *); static void mousereport(XEvent *); static size_t utf8decode(char *, Rune *, size_t); static Rune utf8decodebyte(char, size_t *); static size_t utf8encode(Rune, char *); static char utf8encodebyte(Rune, size_t); static char *utf8strchr(char *s, Rune u); static size_t utf8validate(Rune *, size_t); static ssize_t xwrite(int, const char *, size_t); static void *xmalloc(size_t); static void *xrealloc(void *, size_t); static char *xstrdup(char *); static void (*handler[LASTEvent])(XEvent *) = { [KeyPress] = kpress, [ClientMessage] = cmessage, [ConfigureNotify] = resize, [VisibilityNotify] = visibility, [UnmapNotify] = unmap, [Expose] = expose, [FocusIn] = focus, [FocusOut] = focus, [MotionNotify] = bmotion, [ButtonPress] = bpress, [ButtonRelease] = brelease, /* * Uncomment if you want the selection to disappear when you select something * different in another window. */ /* [SelectionClear] = selclear, */ [SelectionNotify] = selnotify, [SelectionRequest] = selrequest, }; /* Globals */ static DC dc; static XWindow xw; static Term term; static CSIEscape csiescseq; static STREscape strescseq; static int cmdfd; static pid_t pid; static Selection sel; static int iofd = STDOUT_FILENO; static char **opt_cmd = NULL; static char *opt_io = NULL; static char *opt_title = NULL; static char *opt_embed = NULL; static char *opt_class = NULL; static char *opt_font = NULL; static char *opt_line = NULL; static int oldbutton = 3; /* button event on startup: 3 = release */ static char *usedfont = NULL; static double usedfontsize = 0; static double defaultfontsize = 0; static uchar utfbyte[UTF_SIZ + 1] = {0x80, 0, 0xC0, 0xE0, 0xF0}; static uchar utfmask[UTF_SIZ + 1] = {0xC0, 0x80, 0xE0, 0xF0, 0xF8}; static Rune utfmin[UTF_SIZ + 1] = { 0, 0, 0x80, 0x800, 0x10000}; static Rune utfmax[UTF_SIZ + 1] = {0x10FFFF, 0x7F, 0x7FF, 0xFFFF, 0x10FFFF}; /* Font Ring Cache */ enum { FRC_NORMAL, FRC_ITALIC, FRC_BOLD, FRC_ITALICBOLD }; typedef struct { XftFont *font; int flags; Rune unicodep; } Fontcache; /* Fontcache is an array now. A new font will be appended to the array. */ static Fontcache frc[16]; static int frclen = 0; ssize_t xwrite(int fd, const char *s, size_t len) { size_t aux = len; while(len > 0) { ssize_t r = write(fd, s, len); if(r < 0) return r; len -= r; s += r; } return aux; } void * xmalloc(size_t len) { void *p = malloc(len); if(!p) die("Out of memory\n"); return p; } void * xrealloc(void *p, size_t len) { if((p = realloc(p, len)) == NULL) die("Out of memory\n"); return p; } char * xstrdup(char *s) { if((s = strdup(s)) == NULL) die("Out of memory\n"); return s; } size_t utf8decode(char *c, Rune *u, size_t clen) { size_t i, j, len, type; Rune udecoded; *u = UTF_INVALID; if(!clen) return 0; udecoded = utf8decodebyte(c[0], &len); if(!BETWEEN(len, 1, UTF_SIZ)) return 1; for(i = 1, j = 1; i < clen && j < len; ++i, ++j) { udecoded = (udecoded << 6) | utf8decodebyte(c[i], &type); if(type != 0) return j; } if(j < len) return 0; *u = udecoded; utf8validate(u, len); return len; } Rune utf8decodebyte(char c, size_t *i) { for(*i = 0; *i < LEN(utfmask); ++(*i)) if(((uchar)c & utfmask[*i]) == utfbyte[*i]) return (uchar)c & ~utfmask[*i]; return 0; } size_t utf8encode(Rune u, char *c) { size_t len, i; len = utf8validate(&u, 0); if(len > UTF_SIZ) return 0; for(i = len - 1; i != 0; --i) { c[i] = utf8encodebyte(u, 0); u >>= 6; } c[0] = utf8encodebyte(u, len); return len; } char utf8encodebyte(Rune u, size_t i) { return utfbyte[i] | (u & ~utfmask[i]); } char * utf8strchr(char *s, Rune u) { Rune r; size_t i, j, len; len = strlen(s); for(i = 0, j = 0; i < len; i += j) { if(!(j = utf8decode(&s[i], &r, len - i))) break; if(r == u) return &(s[i]); } return NULL; } size_t utf8validate(Rune *u, size_t i) { if(!BETWEEN(*u, utfmin[i], utfmax[i]) || BETWEEN(*u, 0xD800, 0xDFFF)) *u = UTF_INVALID; for(i = 1; *u > utfmax[i]; ++i) ; return i; } void selinit(void) { memset(&sel.tclick1, 0, sizeof(sel.tclick1)); memset(&sel.tclick2, 0, sizeof(sel.tclick2)); sel.mode = SEL_IDLE; sel.ob.x = -1; sel.primary = NULL; sel.clipboard = NULL; sel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0); if(sel.xtarget == None) sel.xtarget = XA_STRING; } int x2col(int x) { x -= borderpx; x /= xw.cw; return LIMIT(x, 0, term.col-1); } int y2row(int y) { y -= borderpx; y /= xw.ch; return LIMIT(y, 0, term.row-1); } int tlinelen(int y) { int i = term.col; if(term.line[y][i - 1].mode & ATTR_WRAP) return i; while(i > 0 && term.line[y][i - 1].u == ' ') --i; return i; } void selnormalize(void) { int i; if(sel.type == SEL_REGULAR && sel.ob.y != sel.oe.y) { sel.nb.x = sel.ob.y < sel.oe.y ? sel.ob.x : sel.oe.x; sel.ne.x = sel.ob.y < sel.oe.y ? sel.oe.x : sel.ob.x; } else { sel.nb.x = MIN(sel.ob.x, sel.oe.x); sel.ne.x = MAX(sel.ob.x, sel.oe.x); } sel.nb.y = MIN(sel.ob.y, sel.oe.y); sel.ne.y = MAX(sel.ob.y, sel.oe.y); selsnap(&sel.nb.x, &sel.nb.y, -1); selsnap(&sel.ne.x, &sel.ne.y, +1); /* expand selection over line breaks */ if (sel.type == SEL_RECTANGULAR) return; i = tlinelen(sel.nb.y); if (i < sel.nb.x) sel.nb.x = i; if (tlinelen(sel.ne.y) <= sel.ne.x) sel.ne.x = term.col - 1; } bool selected(int x, int y) { if(sel.mode == SEL_EMPTY) return false; if(sel.type == SEL_RECTANGULAR) return BETWEEN(y, sel.nb.y, sel.ne.y) && BETWEEN(x, sel.nb.x, sel.ne.x); return BETWEEN(y, sel.nb.y, sel.ne.y) && (y != sel.nb.y || x >= sel.nb.x) && (y != sel.ne.y || x <= sel.ne.x); } void selsnap(int *x, int *y, int direction) { int newx, newy, xt, yt; bool delim, prevdelim; Glyph *gp, *prevgp; switch(sel.snap) { case SNAP_WORD: /* * Snap around if the word wraps around at the end or * beginning of a line. */ prevgp = &term.line[*y][*x]; prevdelim = ISDELIM(prevgp->u); for(;;) { newx = *x + direction; newy = *y; if(!BETWEEN(newx, 0, term.col - 1)) { newy += direction; newx = (newx + term.col) % term.col; if (!BETWEEN(newy, 0, term.row - 1)) break; if(direction > 0) yt = *y, xt = *x; else yt = newy, xt = newx; if(!(term.line[yt][xt].mode & ATTR_WRAP)) break; } if (newx >= tlinelen(newy)) break; gp = &term.line[newy][newx]; delim = ISDELIM(gp->u); if(!(gp->mode & ATTR_WDUMMY) && (delim != prevdelim || (delim && gp->u != prevgp->u))) break; *x = newx; *y = newy; prevgp = gp; prevdelim = delim; } break; case SNAP_LINE: /* * Snap around if the the previous line or the current one * has set ATTR_WRAP at its end. Then the whole next or * previous line will be selected. */ *x = (direction < 0) ? 0 : term.col - 1; if(direction < 0) { for(; *y > 0; *y += direction) { if(!(term.line[*y-1][term.col-1].mode & ATTR_WRAP)) { break; } } } else if(direction > 0) { for(; *y < term.row-1; *y += direction) { if(!(term.line[*y][term.col-1].mode & ATTR_WRAP)) { break; } } } break; } } void getbuttoninfo(XEvent *e) { int type; uint state = e->xbutton.state & ~(Button1Mask | forceselmod); sel.alt = IS_SET(MODE_ALTSCREEN); sel.oe.x = x2col(e->xbutton.x); sel.oe.y = y2row(e->xbutton.y); selnormalize(); sel.type = SEL_REGULAR; for(type = 1; type < LEN(selmasks); ++type) { if(match(selmasks[type], state)) { sel.type = type; break; } } } void mousereport(XEvent *e) { int x = x2col(e->xbutton.x), y = y2row(e->xbutton.y), button = e->xbutton.button, state = e->xbutton.state, len; char buf[40]; static int ox, oy; /* from urxvt */ if(e->xbutton.type == MotionNotify) { if(x == ox && y == oy) return; if(!IS_SET(MODE_MOUSEMOTION) && !IS_SET(MODE_MOUSEMANY)) return; /* MOUSE_MOTION: no reporting if no button is pressed */ if(IS_SET(MODE_MOUSEMOTION) && oldbutton == 3) return; button = oldbutton + 32; ox = x; oy = y; } else { if(!IS_SET(MODE_MOUSESGR) && e->xbutton.type == ButtonRelease) { button = 3; } else { button -= Button1; if(button >= 3) button += 64 - 3; } if(e->xbutton.type == ButtonPress) { oldbutton = button; ox = x; oy = y; } else if(e->xbutton.type == ButtonRelease) { oldbutton = 3; /* MODE_MOUSEX10: no button release reporting */ if(IS_SET(MODE_MOUSEX10)) return; if (button == 64 || button == 65) return; } } if(!IS_SET(MODE_MOUSEX10)) { button += ((state & ShiftMask ) ? 4 : 0) + ((state & Mod4Mask ) ? 8 : 0) + ((state & ControlMask) ? 16 : 0); } if(IS_SET(MODE_MOUSESGR)) { len = snprintf(buf, sizeof(buf), "\033[<%d;%d;%d%c", button, x+1, y+1, e->xbutton.type == ButtonRelease ? 'm' : 'M'); } else if(x < 223 && y < 223) { len = snprintf(buf, sizeof(buf), "\033[M%c%c%c", 32+button, 32+x+1, 32+y+1); } else { return; } ttywrite(buf, len); } void bpress(XEvent *e) { struct timespec now; Mousekey *mk; if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { mousereport(e); return; } for(mk = mshortcuts; mk < mshortcuts + LEN(mshortcuts); mk++) { if(e->xbutton.button == mk->b && match(mk->mask, e->xbutton.state)) { ttysend(mk->s, strlen(mk->s)); return; } } if(e->xbutton.button == Button1) { clock_gettime(CLOCK_MONOTONIC, &now); /* Clear previous selection, logically and visually. */ selclear(NULL); sel.mode = SEL_EMPTY; sel.type = SEL_REGULAR; sel.oe.x = sel.ob.x = x2col(e->xbutton.x); sel.oe.y = sel.ob.y = y2row(e->xbutton.y); /* * If the user clicks below predefined timeouts specific * snapping behaviour is exposed. */ if(TIMEDIFF(now, sel.tclick2) <= tripleclicktimeout) { sel.snap = SNAP_LINE; } else if(TIMEDIFF(now, sel.tclick1) <= doubleclicktimeout) { sel.snap = SNAP_WORD; } else { sel.snap = 0; } selnormalize(); if(sel.snap != 0) sel.mode = SEL_READY; tsetdirt(sel.nb.y, sel.ne.y); sel.tclick2 = sel.tclick1; sel.tclick1 = now; } } char * getsel(void) { char *str, *ptr; int y, bufsize, lastx, linelen; Glyph *gp, *last; if(sel.ob.x == -1) return NULL; bufsize = (term.col+1) * (sel.ne.y-sel.nb.y+1) * UTF_SIZ; ptr = str = xmalloc(bufsize); /* append every set & selected glyph to the selection */ for(y = sel.nb.y; y <= sel.ne.y; y++) { linelen = tlinelen(y); if(sel.type == SEL_RECTANGULAR) { gp = &term.line[y][sel.nb.x]; lastx = sel.ne.x; } else { gp = &term.line[y][sel.nb.y == y ? sel.nb.x : 0]; lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1; } last = &term.line[y][MIN(lastx, linelen-1)]; while(last >= gp && last->u == ' ') --last; for( ; gp <= last; ++gp) { if(gp->mode & ATTR_WDUMMY) continue; ptr += utf8encode(gp->u, ptr); } /* * Copy and pasting of line endings is inconsistent * in the inconsistent terminal and GUI world. * The best solution seems like to produce '\n' when * something is copied from st and convert '\n' to * '\r', when something to be pasted is received by * st. * FIXME: Fix the computer world. */ if((y < sel.ne.y || lastx >= linelen) && !(last->mode & ATTR_WRAP)) *ptr++ = '\n'; } *ptr = 0; return str; } void selcopy(Time t) { xsetsel(getsel(), t); } void selnotify(XEvent *e) { ulong nitems, ofs, rem; int format; uchar *data, *last, *repl; Atom type; XSelectionEvent *xsev; ofs = 0; xsev = &e->xselection; if (xsev->property == None) return; do { if(XGetWindowProperty(xw.dpy, xw.win, xsev->property, ofs, BUFSIZ/4, False, AnyPropertyType, &type, &format, &nitems, &rem, &data)) { fprintf(stderr, "Clipboard allocation failed\n"); return; } /* * As seen in getsel: * Line endings are inconsistent in the terminal and GUI world * copy and pasting. When receiving some selection data, * replace all '\n' with '\r'. * FIXME: Fix the computer world. */ repl = data; last = data + nitems * format / 8; while((repl = memchr(repl, '\n', last - repl))) { *repl++ = '\r'; } if(IS_SET(MODE_BRCKTPASTE)) ttywrite("\033[200~", 6); ttysend((char *)data, nitems * format / 8); if(IS_SET(MODE_BRCKTPASTE)) ttywrite("\033[201~", 6); XFree(data); /* number of 32-bit chunks returned */ ofs += nitems * format / 32; } while(rem > 0); } void selpaste(const Arg *dummy) { XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY, xw.win, CurrentTime); } void clipcopy(const Arg *dummy) { Atom clipboard; if(sel.clipboard != NULL) free(sel.clipboard); if(sel.primary != NULL) { sel.clipboard = xstrdup(sel.primary); clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); XSetSelectionOwner(xw.dpy, clipboard, xw.win, CurrentTime); } } void clippaste(const Arg *dummy) { Atom clipboard; clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); XConvertSelection(xw.dpy, clipboard, sel.xtarget, clipboard, xw.win, CurrentTime); } void selclear(XEvent *e) { if(sel.ob.x == -1) return; sel.mode = SEL_IDLE; sel.ob.x = -1; tsetdirt(sel.nb.y, sel.ne.y); } void selrequest(XEvent *e) { XSelectionRequestEvent *xsre; XSelectionEvent xev; Atom xa_targets, string, clipboard; char *seltext; xsre = (XSelectionRequestEvent *) e; xev.type = SelectionNotify; xev.requestor = xsre->requestor; xev.selection = xsre->selection; xev.target = xsre->target; xev.time = xsre->time; if (xsre->property == None) xsre->property = xsre->target; /* reject */ xev.property = None; xa_targets = XInternAtom(xw.dpy, "TARGETS", 0); if(xsre->target == xa_targets) { /* respond with the supported type */ string = sel.xtarget; XChangeProperty(xsre->display, xsre->requestor, xsre->property, XA_ATOM, 32, PropModeReplace, (uchar *) &string, 1); xev.property = xsre->property; } else if(xsre->target == sel.xtarget || xsre->target == XA_STRING) { /* * xith XA_STRING non ascii characters may be incorrect in the * requestor. It is not our problem, use utf8. */ clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0); if(xsre->selection == XA_PRIMARY) { seltext = sel.primary; } else if(xsre->selection == clipboard) { seltext = sel.clipboard; } else { fprintf(stderr, "Unhandled clipboard selection 0x%lx\n", xsre->selection); return; } if(seltext != NULL) { XChangeProperty(xsre->display, xsre->requestor, xsre->property, xsre->target, 8, PropModeReplace, (uchar *)seltext, strlen(seltext)); xev.property = xsre->property; } } /* all done, send a notification to the listener */ if(!XSendEvent(xsre->display, xsre->requestor, True, 0, (XEvent *) &xev)) fprintf(stderr, "Error sending SelectionNotify event\n"); } void xsetsel(char *str, Time t) { free(sel.primary); sel.primary = str; XSetSelectionOwner(xw.dpy, XA_PRIMARY, xw.win, t); if (XGetSelectionOwner(xw.dpy, XA_PRIMARY) != xw.win) selclear(0); } void brelease(XEvent *e) { if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { mousereport(e); return; } if(e->xbutton.button == Button2) { selpaste(NULL); } else if(e->xbutton.button == Button1) { if(sel.mode == SEL_READY) { getbuttoninfo(e); selcopy(e->xbutton.time); } else selclear(NULL); sel.mode = SEL_IDLE; tsetdirt(sel.nb.y, sel.ne.y); } } void bmotion(XEvent *e) { int oldey, oldex, oldsby, oldsey; if(IS_SET(MODE_MOUSE) && !(e->xbutton.state & forceselmod)) { mousereport(e); return; } if(!sel.mode) return; sel.mode = SEL_READY; oldey = sel.oe.y; oldex = sel.oe.x; oldsby = sel.nb.y; oldsey = sel.ne.y; getbuttoninfo(e); if(oldey != sel.oe.y || oldex != sel.oe.x) tsetdirt(MIN(sel.nb.y, oldsby), MAX(sel.ne.y, oldsey)); } void die(const char *errstr, ...) { va_list ap; va_start(ap, errstr); vfprintf(stderr, errstr, ap); va_end(ap); exit(EXIT_FAILURE); } void execsh(void) { char **args, *sh, *prog; const struct passwd *pw; char buf[sizeof(long) * 8 + 1]; errno = 0; if((pw = getpwuid(getuid())) == NULL) { if(errno) die("getpwuid:%s\n", strerror(errno)); else die("who are you?\n"); } if (!(sh = getenv("SHELL"))) { sh = (pw->pw_shell[0]) ? pw->pw_shell : shell; } if(opt_cmd) prog = opt_cmd[0]; else if(utmp) prog = utmp; else prog = sh; args = (opt_cmd) ? opt_cmd : (char *[]) {prog, NULL}; snprintf(buf, sizeof(buf), "%lu", xw.win); unsetenv("COLUMNS"); unsetenv("LINES"); unsetenv("TERMCAP"); setenv("LOGNAME", pw->pw_name, 1); setenv("USER", pw->pw_name, 1); setenv("SHELL", sh, 1); setenv("HOME", pw->pw_dir, 1); setenv("TERM", termname, 1); setenv("WINDOWID", buf, 1); signal(SIGCHLD, SIG_DFL); signal(SIGHUP, SIG_DFL); signal(SIGINT, SIG_DFL); signal(SIGQUIT, SIG_DFL); signal(SIGTERM, SIG_DFL); signal(SIGALRM, SIG_DFL); execvp(prog, args); _exit(EXIT_FAILURE); } void sigchld(int a) { int stat, ret; pid_t p; if((p = waitpid(pid, &stat, WNOHANG)) < 0) die("Waiting for pid %hd failed: %s\n", pid, strerror(errno)); if(pid != p) return; ret = WIFEXITED(stat) ? WEXITSTATUS(stat) : EXIT_FAILURE; if (ret != EXIT_SUCCESS) { exit(EXIT_FAILURE); /*die("child finished with error '%d'\n", stat);*/ } exit(EXIT_SUCCESS); } void stty(void) { char cmd[_POSIX_ARG_MAX], **p, *q, *s; size_t n, siz; if((n = strlen(stty_args)) > sizeof(cmd)-1) die("incorrect stty parameters\n"); memcpy(cmd, stty_args, n); q = cmd + n; siz = sizeof(cmd) - n; for(p = opt_cmd; p && (s = *p); ++p) { if((n = strlen(s)) > siz-1) die("stty parameter length too long\n"); *q++ = ' '; q = memcpy(q, s, n); q += n; siz-= n + 1; } *q = '\0'; if (system(cmd) != 0) perror("Couldn't call stty"); } void ttynew(void) { int m, s; struct winsize w = {term.row, term.col, 0, 0}; if(opt_io) { term.mode |= MODE_PRINT; iofd = (!strcmp(opt_io, "-")) ? STDOUT_FILENO : open(opt_io, O_WRONLY | O_CREAT, 0666); if(iofd < 0) { fprintf(stderr, "Error opening %s:%s\n", opt_io, strerror(errno)); } } if (opt_line) { if((cmdfd = open(opt_line, O_RDWR)) < 0) die("open line failed: %s\n", strerror(errno)); close(STDIN_FILENO); if (dup(cmdfd) <0) { die("dup failed\n"); } stty(); return; } /* seems to work fine on linux, openbsd and freebsd */ if(openpty(&m, &s, NULL, NULL, &w) < 0) die("openpty failed: %s\n", strerror(errno)); switch(pid = fork()) { case -1: die("fork failed\n"); break; case 0: close(iofd); setsid(); /* create a new process group */ dup2(s, STDIN_FILENO); dup2(s, STDOUT_FILENO); dup2(s, STDERR_FILENO); if(ioctl(s, TIOCSCTTY, NULL) < 0) die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); close(s); close(m); execsh(); break; default: close(s); cmdfd = m; signal(SIGCHLD, sigchld); break; } } void ttyread(void) { static char buf[BUFSIZ]; static int buflen = 0; char *ptr; int charsize; /* size of utf8 char in bytes */ Rune unicodep; int ret; /* append read bytes to unprocessed bytes */ if((ret = read(cmdfd, buf+buflen, LEN(buf)-buflen)) < 0) die("Couldn't read from shell: %s\n", strerror(errno)); /* process every complete utf8 char */ buflen += ret; ptr = buf; while((charsize = utf8decode(ptr, &unicodep, buflen))) { tputc(unicodep); ptr += charsize; buflen -= charsize; } /* keep any uncomplete utf8 char for the next call */ memmove(buf, ptr, buflen); } void ttywrite(const char *s, size_t n) { if(xwrite(cmdfd, s, n) == -1) die("write error on tty: %s\n", strerror(errno)); } void ttysend(char *s, size_t n) { int len; Rune u; ttywrite(s, n); if(IS_SET(MODE_ECHO)) while((len = utf8decode(s, &u, n)) > 0) { techo(u); n -= len; s += len; } } void ttyresize(void) { struct winsize w; w.ws_row = term.row; w.ws_col = term.col; w.ws_xpixel = xw.tw; w.ws_ypixel = xw.th; if(ioctl(cmdfd, TIOCSWINSZ, &w) < 0) fprintf(stderr, "Couldn't set window size: %s\n", strerror(errno)); } int tattrset(int attr) { int i, j; for(i = 0; i < term.row-1; i++) { for(j = 0; j < term.col-1; j++) { if(term.line[i][j].mode & attr) return 1; } } return 0; } void tsetdirt(int top, int bot) { int i; LIMIT(top, 0, term.row-1); LIMIT(bot, 0, term.row-1); for(i = top; i <= bot; i++) term.dirty[i] = 1; } void tsetdirtattr(int attr) { int i, j; for(i = 0; i < term.row-1; i++) { for(j = 0; j < term.col-1; j++) { if(term.line[i][j].mode & attr) { tsetdirt(i, i); break; } } } } void tfulldirt(void) { tsetdirt(0, term.row-1); } void tcursor(int mode) { static TCursor c[2]; bool alt = IS_SET(MODE_ALTSCREEN); if(mode == CURSOR_SAVE) { c[alt] = term.c; } else if(mode == CURSOR_LOAD) { term.c = c[alt]; tmoveto(c[alt].x, c[alt].y); } } void treset(void) { uint i; term.c = (TCursor){{ .mode = ATTR_NULL, .fg = defaultfg, .bg = defaultbg }, .x = 0, .y = 0, .state = CURSOR_DEFAULT}; memset(term.tabs, 0, term.col * sizeof(*term.tabs)); for(i = tabspaces; i < term.col; i += tabspaces) term.tabs[i] = 1; term.top = 0; term.bot = term.row - 1; term.mode = MODE_WRAP; memset(term.trantbl, CS_USA, sizeof(term.trantbl)); term.charset = 0; for(i = 0; i < 2; i++) { tmoveto(0, 0); tcursor(CURSOR_SAVE); tclearregion(0, 0, term.col-1, term.row-1); tswapscreen(); } } void tnew(int col, int row) { term = (Term){ .c = { .attr = { .fg = defaultfg, .bg = defaultbg } } }; tresize(col, row); term.numlock = 1; treset(); } void tswapscreen(void) { Line *tmp = term.line; term.line = term.alt; term.alt = tmp; term.mode ^= MODE_ALTSCREEN; tfulldirt(); } void tscrolldown(int orig, int n) { int i; Line temp; LIMIT(n, 0, term.bot-orig+1); tsetdirt(orig, term.bot-n); tclearregion(0, term.bot-n+1, term.col-1, term.bot); for(i = term.bot; i >= orig+n; i--) { temp = term.line[i]; term.line[i] = term.line[i-n]; term.line[i-n] = temp; } selscroll(orig, n); } void tscrollup(int orig, int n) { int i; Line temp; LIMIT(n, 0, term.bot-orig+1); tclearregion(0, orig, term.col-1, orig+n-1); tsetdirt(orig+n, term.bot); for(i = orig; i <= term.bot-n; i++) { temp = term.line[i]; term.line[i] = term.line[i+n]; term.line[i+n] = temp; } selscroll(orig, -n); } void selscroll(int orig, int n) { if(sel.ob.x == -1) return; if(BETWEEN(sel.ob.y, orig, term.bot) || BETWEEN(sel.oe.y, orig, term.bot)) { if((sel.ob.y += n) > term.bot || (sel.oe.y += n) < term.top) { selclear(NULL); return; } if(sel.type == SEL_RECTANGULAR) { if(sel.ob.y < term.top) sel.ob.y = term.top; if(sel.oe.y > term.bot) sel.oe.y = term.bot; } else { if(sel.ob.y < term.top) { sel.ob.y = term.top; sel.ob.x = 0; } if(sel.oe.y > term.bot) { sel.oe.y = term.bot; sel.oe.x = term.col; } } selnormalize(); } } void tnewline(int first_col) { int y = term.c.y; if(y == term.bot) { tscrollup(term.top, 1); } else { y++; } tmoveto(first_col ? 0 : term.c.x, y); } void csiparse(void) { char *p = csiescseq.buf, *np; long int v; csiescseq.narg = 0; if(*p == '?') { csiescseq.priv = 1; p++; } csiescseq.buf[csiescseq.len] = '\0'; while(p < csiescseq.buf+csiescseq.len) { np = NULL; v = strtol(p, &np, 10); if(np == p) v = 0; if(v == LONG_MAX || v == LONG_MIN) v = -1; csiescseq.arg[csiescseq.narg++] = v; p = np; if(*p != ';' || csiescseq.narg == ESC_ARG_SIZ) break; p++; } csiescseq.mode[0] = *p++; csiescseq.mode[1] = (p < csiescseq.buf+csiescseq.len) ? *p : '\0'; } /* for absolute user moves, when decom is set */ void tmoveato(int x, int y) { tmoveto(x, y + ((term.c.state & CURSOR_ORIGIN) ? term.top: 0)); } void tmoveto(int x, int y) { int miny, maxy; if(term.c.state & CURSOR_ORIGIN) { miny = term.top; maxy = term.bot; } else { miny = 0; maxy = term.row - 1; } term.c.state &= ~CURSOR_WRAPNEXT; term.c.x = LIMIT(x, 0, term.col-1); term.c.y = LIMIT(y, miny, maxy); } void tsetchar(Rune u, Glyph *attr, int x, int y) { static char *vt100_0[62] = { /* 0x41 - 0x7e */ "↑", "↓", "→", "←", "█", "▚", "☃", /* A - G */ 0, 0, 0, 0, 0, 0, 0, 0, /* H - O */ 0, 0, 0, 0, 0, 0, 0, 0, /* P - W */ 0, 0, 0, 0, 0, 0, 0, " ", /* X - _ */ "◆", "▒", "␉", "␌", "␍", "␊", "°", "±", /* ` - g */ "␤", "␋", "┘", "┐", "┌", "└", "┼", "⎺", /* h - o */ "⎻", "─", "⎼", "⎽", "├", "┤", "┴", "┬", /* p - w */ "│", "≤", "≥", "π", "≠", "£", "·", /* x - ~ */ }; /* * The table is proudly stolen from rxvt. */ if(term.trantbl[term.charset] == CS_GRAPHIC0 && BETWEEN(u, 0x41, 0x7e) && vt100_0[u - 0x41]) utf8decode(vt100_0[u - 0x41], &u, UTF_SIZ); if(term.line[y][x].mode & ATTR_WIDE) { if(x+1 < term.col) { term.line[y][x+1].u = ' '; term.line[y][x+1].mode &= ~ATTR_WDUMMY; } } else if(term.line[y][x].mode & ATTR_WDUMMY) { term.line[y][x-1].u = ' '; term.line[y][x-1].mode &= ~ATTR_WIDE; } term.dirty[y] = 1; term.line[y][x] = *attr; term.line[y][x].u = u; } void tclearregion(int x1, int y1, int x2, int y2) { int x, y, temp; Glyph *gp; if(x1 > x2) temp = x1, x1 = x2, x2 = temp; if(y1 > y2) temp = y1, y1 = y2, y2 = temp; LIMIT(x1, 0, term.col-1); LIMIT(x2, 0, term.col-1); LIMIT(y1, 0, term.row-1); LIMIT(y2, 0, term.row-1); for(y = y1; y <= y2; y++) { term.dirty[y] = 1; for(x = x1; x <= x2; x++) { gp = &term.line[y][x]; if(selected(x, y)) selclear(NULL); gp->fg = term.c.attr.fg; gp->bg = term.c.attr.bg; gp->mode = 0; gp->u = ' '; } } } void tdeletechar(int n) { int dst, src, size; Glyph *line; LIMIT(n, 0, term.col - term.c.x); dst = term.c.x; src = term.c.x + n; size = term.col - src; line = term.line[term.c.y]; memmove(&line[dst], &line[src], size * sizeof(Glyph)); tclearregion(term.col-n, term.c.y, term.col-1, term.c.y); } void tinsertblank(int n) { int dst, src, size; Glyph *line; LIMIT(n, 0, term.col - term.c.x); dst = term.c.x + n; src = term.c.x; size = term.col - dst; line = term.line[term.c.y]; memmove(&line[dst], &line[src], size * sizeof(Glyph)); tclearregion(src, term.c.y, dst - 1, term.c.y); } void tinsertblankline(int n) { if(BETWEEN(term.c.y, term.top, term.bot)) tscrolldown(term.c.y, n); } void tdeleteline(int n) { if(BETWEEN(term.c.y, term.top, term.bot)) tscrollup(term.c.y, n); } int32_t tdefcolor(int *attr, int *npar, int l) { int32_t idx = -1; uint r, g, b; switch (attr[*npar + 1]) { case 2: /* direct color in RGB space */ if (*npar + 4 >= l) { fprintf(stderr, "erresc(38): Incorrect number of parameters (%d)\n", *npar); break; } r = attr[*npar + 2]; g = attr[*npar + 3]; b = attr[*npar + 4]; *npar += 4; if(!BETWEEN(r, 0, 255) || !BETWEEN(g, 0, 255) || !BETWEEN(b, 0, 255)) fprintf(stderr, "erresc: bad rgb color (%u,%u,%u)\n", r, g, b); else idx = TRUECOLOR(r, g, b); break; case 5: /* indexed color */ if (*npar + 2 >= l) { fprintf(stderr, "erresc(38): Incorrect number of parameters (%d)\n", *npar); break; } *npar += 2; if(!BETWEEN(attr[*npar], 0, 255)) fprintf(stderr, "erresc: bad fgcolor %d\n", attr[*npar]); else idx = attr[*npar]; break; case 0: /* implemented defined (only foreground) */ case 1: /* transparent */ case 3: /* direct color in CMY space */ case 4: /* direct color in CMYK space */ default: fprintf(stderr, "erresc(38): gfx attr %d unknown\n", attr[*npar]); break; } return idx; } void tsetattr(int *attr, int l) { int i; int32_t idx; for(i = 0; i < l; i++) { switch(attr[i]) { case 0: term.c.attr.mode &= ~( ATTR_BOLD | ATTR_FAINT | ATTR_ITALIC | ATTR_UNDERLINE | ATTR_BLINK | ATTR_REVERSE | ATTR_INVISIBLE | ATTR_STRUCK ); term.c.attr.fg = defaultfg; term.c.attr.bg = defaultbg; break; case 1: term.c.attr.mode |= ATTR_BOLD; break; case 2: term.c.attr.mode |= ATTR_FAINT; break; case 3: term.c.attr.mode |= ATTR_ITALIC; break; case 4: term.c.attr.mode |= ATTR_UNDERLINE; break; case 5: /* slow blink */ /* FALLTHROUGH */ case 6: /* rapid blink */ term.c.attr.mode |= ATTR_BLINK; break; case 7: term.c.attr.mode |= ATTR_REVERSE; break; case 8: term.c.attr.mode |= ATTR_INVISIBLE; break; case 9: term.c.attr.mode |= ATTR_STRUCK; break; case 22: term.c.attr.mode &= ~(ATTR_BOLD | ATTR_FAINT); break; case 23: term.c.attr.mode &= ~ATTR_ITALIC; break; case 24: term.c.attr.mode &= ~ATTR_UNDERLINE; break; case 25: term.c.attr.mode &= ~ATTR_BLINK; break; case 27: term.c.attr.mode &= ~ATTR_REVERSE; break; case 28: term.c.attr.mode &= ~ATTR_INVISIBLE; break; case 29: term.c.attr.mode &= ~ATTR_STRUCK; break; case 38: if ((idx = tdefcolor(attr, &i, l)) >= 0) term.c.attr.fg = idx; break; case 39: term.c.attr.fg = defaultfg; break; case 48: if ((idx = tdefcolor(attr, &i, l)) >= 0) term.c.attr.bg = idx; break; case 49: term.c.attr.bg = defaultbg; break; default: if(BETWEEN(attr[i], 30, 37)) { term.c.attr.fg = attr[i] - 30; } else if(BETWEEN(attr[i], 40, 47)) { term.c.attr.bg = attr[i] - 40; } else if(BETWEEN(attr[i], 90, 97)) { term.c.attr.fg = attr[i] - 90 + 8; } else if(BETWEEN(attr[i], 100, 107)) { term.c.attr.bg = attr[i] - 100 + 8; } else { fprintf(stderr, "erresc(default): gfx attr %d unknown\n", attr[i]), csidump(); } break; } } } void tsetscroll(int t, int b) { int temp; LIMIT(t, 0, term.row-1); LIMIT(b, 0, term.row-1); if(t > b) { temp = t; t = b; b = temp; } term.top = t; term.bot = b; } void tsetmode(bool priv, bool set, int *args, int narg) { int *lim, mode; bool alt; for(lim = args + narg; args < lim; ++args) { if(priv) { switch(*args) { case 1: /* DECCKM -- Cursor key */ MODBIT(term.mode, set, MODE_APPCURSOR); break; case 5: /* DECSCNM -- Reverse video */ mode = term.mode; MODBIT(term.mode, set, MODE_REVERSE); if(mode != term.mode) redraw(); break; case 6: /* DECOM -- Origin */ MODBIT(term.c.state, set, CURSOR_ORIGIN); tmoveato(0, 0); break; case 7: /* DECAWM -- Auto wrap */ MODBIT(term.mode, set, MODE_WRAP); break; case 0: /* Error (IGNORED) */ case 2: /* DECANM -- ANSI/VT52 (IGNORED) */ case 3: /* DECCOLM -- Column (IGNORED) */ case 4: /* DECSCLM -- Scroll (IGNORED) */ case 8: /* DECARM -- Auto repeat (IGNORED) */ case 18: /* DECPFF -- Printer feed (IGNORED) */ case 19: /* DECPEX -- Printer extent (IGNORED) */ case 42: /* DECNRCM -- National characters (IGNORED) */ case 12: /* att610 -- Start blinking cursor (IGNORED) */ break; case 25: /* DECTCEM -- Text Cursor Enable Mode */ MODBIT(term.mode, !set, MODE_HIDE); break; case 9: /* X10 mouse compatibility mode */ xsetpointermotion(0); MODBIT(term.mode, 0, MODE_MOUSE); MODBIT(term.mode, set, MODE_MOUSEX10); break; case 1000: /* 1000: report button press */ xsetpointermotion(0); MODBIT(term.mode, 0, MODE_MOUSE); MODBIT(term.mode, set, MODE_MOUSEBTN); break; case 1002: /* 1002: report motion on button press */ xsetpointermotion(0); MODBIT(term.mode, 0, MODE_MOUSE); MODBIT(term.mode, set, MODE_MOUSEMOTION); break; case 1003: /* 1003: enable all mouse motions */ xsetpointermotion(set); MODBIT(term.mode, 0, MODE_MOUSE); MODBIT(term.mode, set, MODE_MOUSEMANY); break; case 1004: /* 1004: send focus events to tty */ MODBIT(term.mode, set, MODE_FOCUS); break; case 1006: /* 1006: extended reporting mode */ MODBIT(term.mode, set, MODE_MOUSESGR); break; case 1034: MODBIT(term.mode, set, MODE_8BIT); break; case 1049: /* swap screen & set/restore cursor as xterm */ if (!allowaltscreen) break; tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); /* FALLTHROUGH */ case 47: /* swap screen */ case 1047: if (!allowaltscreen) break; alt = IS_SET(MODE_ALTSCREEN); if(alt) { tclearregion(0, 0, term.col-1, term.row-1); } if(set ^ alt) /* set is always 1 or 0 */ tswapscreen(); if(*args != 1049) break; /* FALLTHROUGH */ case 1048: tcursor((set) ? CURSOR_SAVE : CURSOR_LOAD); break; case 2004: /* 2004: bracketed paste mode */ MODBIT(term.mode, set, MODE_BRCKTPASTE); break; /* Not implemented mouse modes. See comments there. */ case 1001: /* mouse highlight mode; can hang the terminal by design when implemented. */ case 1005: /* UTF-8 mouse mode; will confuse applications not supporting UTF-8 and luit. */ case 1015: /* urxvt mangled mouse mode; incompatible and can be mistaken for other control codes. */ default: fprintf(stderr, "erresc: unknown private set/reset mode %d\n", *args); break; } } else { switch(*args) { case 0: /* Error (IGNORED) */ break; case 2: /* KAM -- keyboard action */ MODBIT(term.mode, set, MODE_KBDLOCK); break; case 4: /* IRM -- Insertion-replacement */ MODBIT(term.mode, set, MODE_INSERT); break; case 12: /* SRM -- Send/Receive */ MODBIT(term.mode, !set, MODE_ECHO); break; case 20: /* LNM -- Linefeed/new line */ MODBIT(term.mode, set, MODE_CRLF); break; default: fprintf(stderr, "erresc: unknown set/reset mode %d\n", *args); break; } } } } void csihandle(void) { char buf[40]; int len; switch(csiescseq.mode[0]) { default: unknown: fprintf(stderr, "erresc: unknown csi "); csidump(); /* die(""); */ break; case '@': /* ICH -- Insert blank char */ DEFAULT(csiescseq.arg[0], 1); tinsertblank(csiescseq.arg[0]); break; case 'A': /* CUU -- Cursor Up */ DEFAULT(csiescseq.arg[0], 1); tmoveto(term.c.x, term.c.y-csiescseq.arg[0]); break; case 'B': /* CUD -- Cursor Down */ case 'e': /* VPR --Cursor Down */ DEFAULT(csiescseq.arg[0], 1); tmoveto(term.c.x, term.c.y+csiescseq.arg[0]); break; case 'i': /* MC -- Media Copy */ switch(csiescseq.arg[0]) { case 0: tdump(); break; case 1: tdumpline(term.c.y); break; case 2: tdumpsel(); break; case 4: term.mode &= ~MODE_PRINT; break; case 5: term.mode |= MODE_PRINT; break; } break; case 'c': /* DA -- Device Attributes */ if(csiescseq.arg[0] == 0) ttywrite(vtiden, sizeof(vtiden) - 1); break; case 'C': /* CUF -- Cursor Forward */ case 'a': /* HPR -- Cursor Forward */ DEFAULT(csiescseq.arg[0], 1); tmoveto(term.c.x+csiescseq.arg[0], term.c.y); break; case 'D': /* CUB -- Cursor Backward */ DEFAULT(csiescseq.arg[0], 1); tmoveto(term.c.x-csiescseq.arg[0], term.c.y); break; case 'E': /* CNL -- Cursor Down and first col */ DEFAULT(csiescseq.arg[0], 1); tmoveto(0, term.c.y+csiescseq.arg[0]); break; case 'F': /* CPL -- Cursor Up and first col */ DEFAULT(csiescseq.arg[0], 1); tmoveto(0, term.c.y-csiescseq.arg[0]); break; case 'g': /* TBC -- Tabulation clear */ switch(csiescseq.arg[0]) { case 0: /* clear current tab stop */ term.tabs[term.c.x] = 0; break; case 3: /* clear all the tabs */ memset(term.tabs, 0, term.col * sizeof(*term.tabs)); break; default: goto unknown; } break; case 'G': /* CHA -- Move to */ case '`': /* HPA */ DEFAULT(csiescseq.arg[0], 1); tmoveto(csiescseq.arg[0]-1, term.c.y); break; case 'H': /* CUP -- Move to */ case 'f': /* HVP */ DEFAULT(csiescseq.arg[0], 1); DEFAULT(csiescseq.arg[1], 1); tmoveato(csiescseq.arg[1]-1, csiescseq.arg[0]-1); break; case 'I': /* CHT -- Cursor Forward Tabulation tab stops */ DEFAULT(csiescseq.arg[0], 1); tputtab(csiescseq.arg[0]); break; case 'J': /* ED -- Clear screen */ selclear(NULL); switch(csiescseq.arg[0]) { case 0: /* below */ tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); if(term.c.y < term.row-1) { tclearregion(0, term.c.y+1, term.col-1, term.row-1); } break; case 1: /* above */ if(term.c.y > 1) tclearregion(0, 0, term.col-1, term.c.y-1); tclearregion(0, term.c.y, term.c.x, term.c.y); break; case 2: /* all */ tclearregion(0, 0, term.col-1, term.row-1); break; default: goto unknown; } break; case 'K': /* EL -- Clear line */ switch(csiescseq.arg[0]) { case 0: /* right */ tclearregion(term.c.x, term.c.y, term.col-1, term.c.y); break; case 1: /* left */ tclearregion(0, term.c.y, term.c.x, term.c.y); break; case 2: /* all */ tclearregion(0, term.c.y, term.col-1, term.c.y); break; } break; case 'S': /* SU -- Scroll line up */ DEFAULT(csiescseq.arg[0], 1); tscrollup(term.top, csiescseq.arg[0]); break; case 'T': /* SD -- Scroll line down */ DEFAULT(csiescseq.arg[0], 1); tscrolldown(term.top, csiescseq.arg[0]); break; case 'L': /* IL -- Insert blank lines */ DEFAULT(csiescseq.arg[0], 1); tinsertblankline(csiescseq.arg[0]); break; case 'l': /* RM -- Reset Mode */ tsetmode(csiescseq.priv, 0, csiescseq.arg, csiescseq.narg); break; case 'M': /* DL -- Delete lines */ DEFAULT(csiescseq.arg[0], 1); tdeleteline(csiescseq.arg[0]); break; case 'X': /* ECH -- Erase char */ DEFAULT(csiescseq.arg[0], 1); tclearregion(term.c.x, term.c.y, term.c.x + csiescseq.arg[0] - 1, term.c.y); break; case 'P': /* DCH -- Delete char */ DEFAULT(csiescseq.arg[0], 1); tdeletechar(csiescseq.arg[0]); break; case 'Z': /* CBT -- Cursor Backward Tabulation tab stops */ DEFAULT(csiescseq.arg[0], 1); tputtab(-csiescseq.arg[0]); break; case 'd': /* VPA -- Move to */ DEFAULT(csiescseq.arg[0], 1); tmoveato(term.c.x, csiescseq.arg[0]-1); break; case 'h': /* SM -- Set terminal mode */ tsetmode(csiescseq.priv, 1, csiescseq.arg, csiescseq.narg); break; case 'm': /* SGR -- Terminal attribute (color) */ tsetattr(csiescseq.arg, csiescseq.narg); break; case 'n': /* DSR – Device Status Report (cursor position) */ if (csiescseq.arg[0] == 6) { len = snprintf(buf, sizeof(buf),"\033[%i;%iR", term.c.y+1, term.c.x+1); ttywrite(buf, len); } break; case 'r': /* DECSTBM -- Set Scrolling Region */ if(csiescseq.priv) { goto unknown; } else { DEFAULT(csiescseq.arg[0], 1); DEFAULT(csiescseq.arg[1], term.row); tsetscroll(csiescseq.arg[0]-1, csiescseq.arg[1]-1); tmoveato(0, 0); } break; case 's': /* DECSC -- Save cursor position (ANSI.SYS) */ tcursor(CURSOR_SAVE); break; case 'u': /* DECRC -- Restore cursor position (ANSI.SYS) */ tcursor(CURSOR_LOAD); break; case ' ': switch (csiescseq.mode[1]) { case 'q': /* DECSCUSR -- Set Cursor Style */ DEFAULT(csiescseq.arg[0], 1); if (!BETWEEN(csiescseq.arg[0], 0, 6)) { goto unknown; } xw.cursor = csiescseq.arg[0]; break; default: goto unknown; } break; } } void csidump(void) { int i; uint c; printf("ESC["); for(i = 0; i < csiescseq.len; i++) { c = csiescseq.buf[i] & 0xff; if(isprint(c)) { putchar(c); } else if(c == '\n') { printf("(\\n)"); } else if(c == '\r') { printf("(\\r)"); } else if(c == 0x1b) { printf("(\\e)"); } else { printf("(%02x)", c); } } putchar('\n'); } void csireset(void) { memset(&csiescseq, 0, sizeof(csiescseq)); } void strhandle(void) { char *p = NULL; int j, narg, par; term.esc &= ~(ESC_STR_END|ESC_STR); strparse(); par = (narg = strescseq.narg) ? atoi(strescseq.args[0]) : 0; switch(strescseq.type) { case ']': /* OSC -- Operating System Command */ switch(par) { case 0: case 1: case 2: if(narg > 1) xsettitle(strescseq.args[1]); return; case 4: /* color set */ if(narg < 3) break; p = strescseq.args[2]; /* FALLTHROUGH */ case 104: /* color reset, here p = NULL */ j = (narg > 1) ? atoi(strescseq.args[1]) : -1; if(xsetcolorname(j, p)) { fprintf(stderr, "erresc: invalid color %s\n", p); } else { /* * TODO if defaultbg color is changed, borders * are dirty */ redraw(); } return; } break; case 'k': /* old title set compatibility */ xsettitle(strescseq.args[0]); return; case 'P': /* DCS -- Device Control String */ case '_': /* APC -- Application Program Command */ case '^': /* PM -- Privacy Message */ return; } fprintf(stderr, "erresc: unknown str "); strdump(); } void strparse(void) { int c; char *p = strescseq.buf; strescseq.narg = 0; strescseq.buf[strescseq.len] = '\0'; if(*p == '\0') return; while(strescseq.narg < STR_ARG_SIZ) { strescseq.args[strescseq.narg++] = p; while((c = *p) != ';' && c != '\0') ++p; if(c == '\0') return; *p++ = '\0'; } } void strdump(void) { int i; uint c; printf("ESC%c", strescseq.type); for(i = 0; i < strescseq.len; i++) { c = strescseq.buf[i] & 0xff; if(c == '\0') { return; } else if(isprint(c)) { putchar(c); } else if(c == '\n') { printf("(\\n)"); } else if(c == '\r') { printf("(\\r)"); } else if(c == 0x1b) { printf("(\\e)"); } else { printf("(%02x)", c); } } printf("ESC\\\n"); } void strreset(void) { memset(&strescseq, 0, sizeof(strescseq)); } void tprinter(char *s, size_t len) { if(iofd != -1 && xwrite(iofd, s, len) < 0) { fprintf(stderr, "Error writing in %s:%s\n", opt_io, strerror(errno)); close(iofd); iofd = -1; } } void toggleprinter(const Arg *arg) { term.mode ^= MODE_PRINT; } void printscreen(const Arg *arg) { tdump(); } void printsel(const Arg *arg) { tdumpsel(); } void tdumpsel(void) { char *ptr; if((ptr = getsel())) { tprinter(ptr, strlen(ptr)); free(ptr); } } void tdumpline(int n) { char buf[UTF_SIZ]; Glyph *bp, *end; bp = &term.line[n][0]; end = &bp[MIN(tlinelen(n), term.col) - 1]; if(bp != end || bp->u != ' ') { for( ;bp <= end; ++bp) tprinter(buf, utf8encode(bp->u, buf)); } tprinter("\n", 1); } void tdump(void) { int i; for(i = 0; i < term.row; ++i) tdumpline(i); } void tputtab(int n) { uint x = term.c.x; if(n > 0) { while(x < term.col && n--) for(++x; x < term.col && !term.tabs[x]; ++x) /* nothing */ ; } else if(n < 0) { while(x > 0 && n++) for(--x; x > 0 && !term.tabs[x]; --x) /* nothing */ ; } term.c.x = LIMIT(x, 0, term.col-1); } void techo(Rune u) { if(ISCONTROL(u)) { /* control code */ if(u & 0x80) { u &= 0x7f; tputc('^'); tputc('['); } else if(u != '\n' && u != '\r' && u != '\t') { u ^= 0x40; tputc('^'); } } tputc(u); } void tdeftran(char ascii) { static char cs[] = "0B"; static int vcs[] = {CS_GRAPHIC0, CS_USA}; char *p; if((p = strchr(cs, ascii)) == NULL) { fprintf(stderr, "esc unhandled charset: ESC ( %c\n", ascii); } else { term.trantbl[term.icharset] = vcs[p - cs]; } } void tdectest(char c) { int x, y; if(c == '8') { /* DEC screen alignment test. */ for(x = 0; x < term.col; ++x) { for(y = 0; y < term.row; ++y) tsetchar('E', &term.c.attr, x, y); } } } void tstrsequence(uchar c) { switch (c) { case 0x90: /* DCS -- Device Control String */ c = 'P'; break; case 0x9f: /* APC -- Application Program Command */ c = '_'; break; case 0x9e: /* PM -- Privacy Message */ c = '^'; break; case 0x9d: /* OSC -- Operating System Command */ c = ']'; break; } strreset(); strescseq.type = c; term.esc |= ESC_STR; } void tcontrolcode(uchar ascii) { switch(ascii) { case '\t': /* HT */ tputtab(1); return; case '\b': /* BS */ tmoveto(term.c.x-1, term.c.y); return; case '\r': /* CR */ tmoveto(0, term.c.y); return; case '\f': /* LF */ case '\v': /* VT */ case '\n': /* LF */ /* go to first col if the mode is set */ tnewline(IS_SET(MODE_CRLF)); return; case '\a': /* BEL */ if(term.esc & ESC_STR_END) { /* backwards compatibility to xterm */ strhandle(); } else { if(!(xw.state & WIN_FOCUSED)) xseturgency(1); if (bellvolume) XkbBell(xw.dpy, xw.win, bellvolume, (Atom)NULL); } break; case '\033': /* ESC */ csireset(); term.esc &= ~(ESC_CSI|ESC_ALTCHARSET|ESC_TEST); term.esc |= ESC_START; return; case '\016': /* SO (LS1 -- Locking shift 1) */ case '\017': /* SI (LS0 -- Locking shift 0) */ term.charset = 1 - (ascii - '\016'); return; case '\032': /* SUB */ tsetchar('?', &term.c.attr, term.c.x, term.c.y); case '\030': /* CAN */ csireset(); break; case '\005': /* ENQ (IGNORED) */ case '\000': /* NUL (IGNORED) */ case '\021': /* XON (IGNORED) */ case '\023': /* XOFF (IGNORED) */ case 0177: /* DEL (IGNORED) */ return; case 0x84: /* TODO: IND */ break; case 0x85: /* NEL -- Next line */ tnewline(1); /* always go to first col */ break; case 0x88: /* HTS -- Horizontal tab stop */ term.tabs[term.c.x] = 1; break; case 0x8d: /* TODO: RI */ case 0x8e: /* TODO: SS2 */ case 0x8f: /* TODO: SS3 */ case 0x98: /* TODO: SOS */ break; case 0x9a: /* DECID -- Identify Terminal */ ttywrite(vtiden, sizeof(vtiden) - 1); break; case 0x9b: /* TODO: CSI */ case 0x9c: /* TODO: ST */ break; case 0x90: /* DCS -- Device Control String */ case 0x9f: /* APC -- Application Program Command */ case 0x9e: /* PM -- Privacy Message */ case 0x9d: /* OSC -- Operating System Command */ tstrsequence(ascii); return; } /* only CAN, SUB, \a and C1 chars interrupt a sequence */ term.esc &= ~(ESC_STR_END|ESC_STR); } /* * returns 1 when the sequence is finished and it hasn't to read * more characters for this sequence, otherwise 0 */ int eschandle(uchar ascii) { switch(ascii) { case '[': term.esc |= ESC_CSI; return 0; case '#': term.esc |= ESC_TEST; return 0; case 'P': /* DCS -- Device Control String */ case '_': /* APC -- Application Program Command */ case '^': /* PM -- Privacy Message */ case ']': /* OSC -- Operating System Command */ case 'k': /* old title set compatibility */ tstrsequence(ascii); return 0; case 'n': /* LS2 -- Locking shift 2 */ case 'o': /* LS3 -- Locking shift 3 */ term.charset = 2 + (ascii - 'n'); break; case '(': /* GZD4 -- set primary charset G0 */ case ')': /* G1D4 -- set secondary charset G1 */ case '*': /* G2D4 -- set tertiary charset G2 */ case '+': /* G3D4 -- set quaternary charset G3 */ term.icharset = ascii - '('; term.esc |= ESC_ALTCHARSET; return 0; case 'D': /* IND -- Linefeed */ if(term.c.y == term.bot) { tscrollup(term.top, 1); } else { tmoveto(term.c.x, term.c.y+1); } break; case 'E': /* NEL -- Next line */ tnewline(1); /* always go to first col */ break; case 'H': /* HTS -- Horizontal tab stop */ term.tabs[term.c.x] = 1; break; case 'M': /* RI -- Reverse index */ if(term.c.y == term.top) { tscrolldown(term.top, 1); } else { tmoveto(term.c.x, term.c.y-1); } break; case 'Z': /* DECID -- Identify Terminal */ ttywrite(vtiden, sizeof(vtiden) - 1); break; case 'c': /* RIS -- Reset to inital state */ treset(); xresettitle(); xloadcols(); break; case '=': /* DECPAM -- Application keypad */ term.mode |= MODE_APPKEYPAD; break; case '>': /* DECPNM -- Normal keypad */ term.mode &= ~MODE_APPKEYPAD; break; case '7': /* DECSC -- Save Cursor */ tcursor(CURSOR_SAVE); break; case '8': /* DECRC -- Restore Cursor */ tcursor(CURSOR_LOAD); break; case '\\': /* ST -- String Terminator */ if(term.esc & ESC_STR_END) strhandle(); break; default: fprintf(stderr, "erresc: unknown sequence ESC 0x%02X '%c'\n", (uchar) ascii, isprint(ascii)? ascii:'.'); break; } return 1; } void tputc(Rune u) { char c[UTF_SIZ]; bool control; int width, len; Glyph *gp; len = utf8encode(u, c); if((width = wcwidth(u)) == -1) { memcpy(c, "\357\277\275", 4); /* UTF_INVALID */ width = 1; } if(IS_SET(MODE_PRINT)) tprinter(c, len); control = ISCONTROL(u); /* * STR sequence must be checked before anything else * because it uses all following characters until it * receives a ESC, a SUB, a ST or any other C1 control * character. */ if(term.esc & ESC_STR) { if(u == '\a' || u == 030 || u == 032 || u == 033 || ISCONTROLC1(u)) { term.esc &= ~(ESC_START|ESC_STR); term.esc |= ESC_STR_END; } else if(strescseq.len + len < sizeof(strescseq.buf) - 1) { memmove(&strescseq.buf[strescseq.len], c, len); strescseq.len += len; return; } else { /* * Here is a bug in terminals. If the user never sends * some code to stop the str or esc command, then st * will stop responding. But this is better than * silently failing with unknown characters. At least * then users will report back. * * In the case users ever get fixed, here is the code: */ /* * term.esc = 0; * strhandle(); */ return; } } /* * Actions of control codes must be performed as soon they arrive * because they can be embedded inside a control sequence, and * they must not cause conflicts with sequences. */ if(control) { tcontrolcode(u); /* * control codes are not shown ever */ return; } else if(term.esc & ESC_START) { if(term.esc & ESC_CSI) { csiescseq.buf[csiescseq.len++] = u; if(BETWEEN(u, 0x40, 0x7E) || csiescseq.len >= \ sizeof(csiescseq.buf)-1) { term.esc = 0; csiparse(); csihandle(); } return; } else if(term.esc & ESC_ALTCHARSET) { tdeftran(u); } else if(term.esc & ESC_TEST) { tdectest(u); } else { if (!eschandle(u)) return; /* sequence already finished */ } term.esc = 0; /* * All characters which form part of a sequence are not * printed */ return; } if(sel.ob.x != -1 && BETWEEN(term.c.y, sel.ob.y, sel.oe.y)) selclear(NULL); gp = &term.line[term.c.y][term.c.x]; if(IS_SET(MODE_WRAP) && (term.c.state & CURSOR_WRAPNEXT)) { gp->mode |= ATTR_WRAP; tnewline(1); gp = &term.line[term.c.y][term.c.x]; } if(IS_SET(MODE_INSERT) && term.c.x+width < term.col) memmove(gp+width, gp, (term.col - term.c.x - width) * sizeof(Glyph)); if(term.c.x+width > term.col) { tnewline(1); gp = &term.line[term.c.y][term.c.x]; } tsetchar(u, &term.c.attr, term.c.x, term.c.y); if(width == 2) { gp->mode |= ATTR_WIDE; if(term.c.x+1 < term.col) { gp[1].u = '\0'; gp[1].mode = ATTR_WDUMMY; } } if(term.c.x+width < term.col) { tmoveto(term.c.x+width, term.c.y); } else { term.c.state |= CURSOR_WRAPNEXT; } } void tresize(int col, int row) { int i; int minrow = MIN(row, term.row); int mincol = MIN(col, term.col); bool *bp; TCursor c; if(col < 1 || row < 1) { fprintf(stderr, "tresize: error resizing to %dx%d\n", col, row); return; } /* * slide screen to keep cursor where we expect it - * tscrollup would work here, but we can optimize to * memmove because we're freeing the earlier lines */ for(i = 0; i <= term.c.y - row; i++) { free(term.line[i]); free(term.alt[i]); } /* ensure that both src and dst are not NULL */ if (i > 0) { memmove(term.line, term.line + i, row * sizeof(Line)); memmove(term.alt, term.alt + i, row * sizeof(Line)); } for(i += row; i < term.row; i++) { free(term.line[i]); free(term.alt[i]); } /* resize to new width */ term.specbuf = xrealloc(term.specbuf, col * sizeof(XftGlyphFontSpec)); /* resize to new height */ term.line = xrealloc(term.line, row * sizeof(Line)); term.alt = xrealloc(term.alt, row * sizeof(Line)); term.dirty = xrealloc(term.dirty, row * sizeof(*term.dirty)); term.tabs = xrealloc(term.tabs, col * sizeof(*term.tabs)); /* resize each row to new width, zero-pad if needed */ for(i = 0; i < minrow; i++) { term.line[i] = xrealloc(term.line[i], col * sizeof(Glyph)); term.alt[i] = xrealloc(term.alt[i], col * sizeof(Glyph)); } /* allocate any new rows */ for(/* i == minrow */; i < row; i++) { term.line[i] = xmalloc(col * sizeof(Glyph)); term.alt[i] = xmalloc(col * sizeof(Glyph)); } if(col > term.col) { bp = term.tabs + term.col; memset(bp, 0, sizeof(*term.tabs) * (col - term.col)); while(--bp > term.tabs && !*bp) /* nothing */ ; for(bp += tabspaces; bp < term.tabs + col; bp += tabspaces) *bp = 1; } /* update terminal size */ term.col = col; term.row = row; /* reset scrolling region */ tsetscroll(0, row-1); /* make use of the LIMIT in tmoveto */ tmoveto(term.c.x, term.c.y); /* Clearing both screens (it makes dirty all lines) */ c = term.c; for(i = 0; i < 2; i++) { if(mincol < col && 0 < minrow) { tclearregion(mincol, 0, col - 1, minrow - 1); } if(0 < col && minrow < row) { tclearregion(0, minrow, col - 1, row - 1); } tswapscreen(); tcursor(CURSOR_LOAD); } term.c = c; } void xresize(int col, int row) { xw.tw = MAX(1, col * xw.cw); xw.th = MAX(1, row * xw.ch); XFreePixmap(xw.dpy, xw.buf); xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, DefaultDepth(xw.dpy, xw.scr)); XftDrawChange(xw.draw, xw.buf); xclear(0, 0, xw.w, xw.h); } ushort sixd_to_16bit(int x) { return x == 0 ? 0 : 0x3737 + 0x2828 * x; } bool xloadcolor(int i, const char *name, Color *ncolor) { XRenderColor color = { .alpha = 0xffff }; if(!name) { if(BETWEEN(i, 16, 255)) { /* 256 color */ if(i < 6*6*6+16) { /* same colors as xterm */ color.red = sixd_to_16bit( ((i-16)/36)%6 ); color.green = sixd_to_16bit( ((i-16)/6) %6 ); color.blue = sixd_to_16bit( ((i-16)/1) %6 ); } else { /* greyscale */ color.red = 0x0808 + 0x0a0a * (i - (6*6*6+16)); color.green = color.blue = color.red; } return XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &color, ncolor); } else name = colorname[i]; } return XftColorAllocName(xw.dpy, xw.vis, xw.cmap, name, ncolor); } void xloadcols(void) { int i; static bool loaded; Color *cp; if(loaded) { for (cp = dc.col; cp < &dc.col[LEN(dc.col)]; ++cp) XftColorFree(xw.dpy, xw.vis, xw.cmap, cp); } for(i = 0; i < LEN(dc.col); i++) if(!xloadcolor(i, NULL, &dc.col[i])) { if(colorname[i]) die("Could not allocate color '%s'\n", colorname[i]); else die("Could not allocate color %d\n", i); } loaded = true; } int xsetcolorname(int x, const char *name) { Color ncolor; if(!BETWEEN(x, 0, LEN(dc.col))) return 1; if(!xloadcolor(x, name, &ncolor)) return 1; XftColorFree(xw.dpy, xw.vis, xw.cmap, &dc.col[x]); dc.col[x] = ncolor; return 0; } void xtermclear(int col1, int row1, int col2, int row2) { XftDrawRect(xw.draw, &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg], borderpx + col1 * xw.cw, borderpx + row1 * xw.ch, (col2-col1+1) * xw.cw, (row2-row1+1) * xw.ch); } /* * Absolute coordinates. */ void xclear(int x1, int y1, int x2, int y2) { XftDrawRect(xw.draw, &dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg], x1, y1, x2-x1, y2-y1); } void xhints(void) { XClassHint class = {opt_class ? opt_class : termname, termname}; XWMHints wm = {.flags = InputHint, .input = 1}; XSizeHints *sizeh = NULL; sizeh = XAllocSizeHints(); sizeh->flags = PSize | PResizeInc | PBaseSize; sizeh->height = xw.h; sizeh->width = xw.w; sizeh->height_inc = xw.ch; sizeh->width_inc = xw.cw; sizeh->base_height = 2 * borderpx; sizeh->base_width = 2 * borderpx; if(xw.isfixed == True) { sizeh->flags |= PMaxSize | PMinSize; sizeh->min_width = sizeh->max_width = xw.w; sizeh->min_height = sizeh->max_height = xw.h; } if(xw.gm & (XValue|YValue)) { sizeh->flags |= USPosition | PWinGravity; sizeh->x = xw.l; sizeh->y = xw.t; sizeh->win_gravity = xgeommasktogravity(xw.gm); } XSetWMProperties(xw.dpy, xw.win, NULL, NULL, NULL, 0, sizeh, &wm, &class); XFree(sizeh); } int xgeommasktogravity(int mask) { switch(mask & (XNegative|YNegative)) { case 0: return NorthWestGravity; case XNegative: return NorthEastGravity; case YNegative: return SouthWestGravity; } return SouthEastGravity; } int xloadfont(Font *f, FcPattern *pattern) { FcPattern *match; FcResult result; match = FcFontMatch(NULL, pattern, &result); if(!match) return 1; if(!(f->match = XftFontOpenPattern(xw.dpy, match))) { FcPatternDestroy(match); return 1; } f->set = NULL; f->pattern = FcPatternDuplicate(pattern); f->ascent = f->match->ascent; f->descent = f->match->descent; f->lbearing = 0; f->rbearing = f->match->max_advance_width; f->height = f->ascent + f->descent; f->width = f->lbearing + f->rbearing; return 0; } /* Get dots per inch */ void getdpi(int *x, int *y) { double xres, yres; Display *dpy; char *displayname = NULL; int scr = 0; /* Screen number */ if( (NULL == x) || (NULL == y)){ return ; } dpy = XOpenDisplay (displayname); /* * there are 2.54 centimeters to an inch; so there are 25.4 millimeters. * * dpi = N pixels / (M millimeters / (25.4 millimeters / 1 inch)) * = N pixels / (M inch / 25.4) * = N * 25.4 pixels / M inch */ xres = ((((double) DisplayWidth(dpy,scr)) * 25.4) / ((double) DisplayWidthMM(dpy,scr))); yres = ((((double) DisplayHeight(dpy,scr)) * 25.4) / ((double) DisplayHeightMM(dpy,scr))); *x = (int) (xres + 0.5); *y = (int) (yres + 0.5); XCloseDisplay (dpy); } void xloadfonts(char *fontstr, double fontsize) { FcPattern *pattern; double fontval; float ceilf(float); int dpix, dpiy; double floor(double); if(fontstr[0] == '-') { pattern = XftXlfdParse(fontstr, False, False); } else { pattern = FcNameParse((FcChar8 *)fontstr); } /* Scale the font size by dpix/72 */ getdpi(&dpix,&dpiy); FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval); FcPatternDel(pattern, FC_PIXEL_SIZE); FcPatternAddDouble(pattern, FC_PIXEL_SIZE, floor(fontval*dpix/72.0)); if(!pattern) die("st: can't open font %s\n", fontstr); if(fontsize > 1) { FcPatternDel(pattern, FC_PIXEL_SIZE); FcPatternDel(pattern, FC_SIZE); FcPatternAddDouble(pattern, FC_PIXEL_SIZE, (double)fontsize); usedfontsize = fontsize; } else { if(FcPatternGetDouble(pattern, FC_PIXEL_SIZE, 0, &fontval) == FcResultMatch) { usedfontsize = fontval; } else if(FcPatternGetDouble(pattern, FC_SIZE, 0, &fontval) == FcResultMatch) { usedfontsize = -1; } else { /* * Default font size is 12, if none given. This is to * have a known usedfontsize value. */ FcPatternAddDouble(pattern, FC_PIXEL_SIZE, 12); usedfontsize = 12; } defaultfontsize = usedfontsize; } FcConfigSubstitute(0, pattern, FcMatchPattern); FcDefaultSubstitute(pattern); if(xloadfont(&dc.font, pattern)) die("st: can't open font %s\n", fontstr); if(usedfontsize < 0) { FcPatternGetDouble(dc.font.match->pattern, FC_PIXEL_SIZE, 0, &fontval); usedfontsize = fontval; if(fontsize == 0) defaultfontsize = fontval; } /* Setting character width and height. */ xw.cw = ceilf(dc.font.width * cwscale); xw.ch = ceilf(dc.font.height * chscale); FcPatternDel(pattern, FC_SLANT); FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ITALIC); if(xloadfont(&dc.ifont, pattern)) die("st: can't open font %s\n", fontstr); FcPatternDel(pattern, FC_WEIGHT); FcPatternAddInteger(pattern, FC_WEIGHT, FC_WEIGHT_BOLD); if(xloadfont(&dc.ibfont, pattern)) die("st: can't open font %s\n", fontstr); FcPatternDel(pattern, FC_SLANT); FcPatternAddInteger(pattern, FC_SLANT, FC_SLANT_ROMAN); if(xloadfont(&dc.bfont, pattern)) die("st: can't open font %s\n", fontstr); FcPatternDestroy(pattern); } void xunloadfont(Font *f) { XftFontClose(xw.dpy, f->match); FcPatternDestroy(f->pattern); if(f->set) FcFontSetDestroy(f->set); } void xunloadfonts(void) { /* Free the loaded fonts in the font cache. */ while(frclen > 0) XftFontClose(xw.dpy, frc[--frclen].font); xunloadfont(&dc.font); xunloadfont(&dc.bfont); xunloadfont(&dc.ifont); xunloadfont(&dc.ibfont); } void xzoom(const Arg *arg) { Arg larg; larg.f = usedfontsize + arg->f; xzoomabs(&larg); } void xzoomabs(const Arg *arg) { xunloadfonts(); xloadfonts(usedfont, arg->f); cresize(0, 0); redraw(); xhints(); } void xzoomreset(const Arg *arg) { Arg larg; if(defaultfontsize > 0) { larg.f = defaultfontsize; xzoomabs(&larg); } } void xinit(void) { XGCValues gcvalues; Cursor cursor; Window parent; pid_t thispid = getpid(); if(!(xw.dpy = XOpenDisplay(NULL))) die("Can't open display\n"); xw.scr = XDefaultScreen(xw.dpy); xw.vis = XDefaultVisual(xw.dpy, xw.scr); /* font */ if(!FcInit()) die("Could not init fontconfig.\n"); usedfont = (opt_font == NULL)? font : opt_font; xloadfonts(usedfont, 0); /* colors */ xw.cmap = XDefaultColormap(xw.dpy, xw.scr); xloadcols(); /* adjust fixed window geometry */ xw.w = 2 * borderpx + term.col * xw.cw; xw.h = 2 * borderpx + term.row * xw.ch; if(xw.gm & XNegative) xw.l += DisplayWidth(xw.dpy, xw.scr) - xw.w - 2; if(xw.gm & YNegative) xw.t += DisplayWidth(xw.dpy, xw.scr) - xw.h - 2; /* Events */ xw.attrs.background_pixel = dc.col[defaultbg].pixel; xw.attrs.border_pixel = dc.col[defaultbg].pixel; xw.attrs.bit_gravity = NorthWestGravity; xw.attrs.event_mask = FocusChangeMask | KeyPressMask | ExposureMask | VisibilityChangeMask | StructureNotifyMask | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask; xw.attrs.colormap = xw.cmap; if (!(opt_embed && (parent = strtol(opt_embed, NULL, 0)))) parent = XRootWindow(xw.dpy, xw.scr); xw.win = XCreateWindow(xw.dpy, parent, xw.l, xw.t, xw.w, xw.h, 0, XDefaultDepth(xw.dpy, xw.scr), InputOutput, xw.vis, CWBackPixel | CWBorderPixel | CWBitGravity | CWEventMask | CWColormap, &xw.attrs); memset(&gcvalues, 0, sizeof(gcvalues)); gcvalues.graphics_exposures = False; dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures, &gcvalues); xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, DefaultDepth(xw.dpy, xw.scr)); XSetForeground(xw.dpy, dc.gc, dc.col[defaultbg].pixel); XFillRectangle(xw.dpy, xw.buf, dc.gc, 0, 0, xw.w, xw.h); /* Xft rendering context */ xw.draw = XftDrawCreate(xw.dpy, xw.buf, xw.vis, xw.cmap); /* input methods */ if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) { XSetLocaleModifiers("@im=local"); if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) { XSetLocaleModifiers("@im="); if((xw.xim = XOpenIM(xw.dpy, NULL, NULL, NULL)) == NULL) { die("XOpenIM failed. Could not open input" " device.\n"); } } } xw.xic = XCreateIC(xw.xim, XNInputStyle, XIMPreeditNothing | XIMStatusNothing, XNClientWindow, xw.win, XNFocusWindow, xw.win, NULL); if(xw.xic == NULL) die("XCreateIC failed. Could not obtain input method.\n"); /* white cursor, black outline */ cursor = XCreateFontCursor(xw.dpy, XC_xterm); XDefineCursor(xw.dpy, xw.win, cursor); XRecolorCursor(xw.dpy, cursor, &(XColor){.red = 0xffff, .green = 0xffff, .blue = 0xffff}, &(XColor){.red = 0x0000, .green = 0x0000, .blue = 0x0000}); xw.xembed = XInternAtom(xw.dpy, "_XEMBED", False); xw.wmdeletewin = XInternAtom(xw.dpy, "WM_DELETE_WINDOW", False); xw.netwmname = XInternAtom(xw.dpy, "_NET_WM_NAME", False); XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1); xw.netwmpid = XInternAtom(xw.dpy, "_NET_WM_PID", False); XChangeProperty(xw.dpy, xw.win, xw.netwmpid, XA_CARDINAL, 32, PropModeReplace, (uchar *)&thispid, 1); xresettitle(); XMapWindow(xw.dpy, xw.win); xhints(); XSync(xw.dpy, False); } int xmakeglyphfontspecs(XftGlyphFontSpec *specs, const Glyph *glyphs, int len, int x, int y) { float winx = borderpx + x * xw.cw, winy = borderpx + y * xw.ch, xp, yp; ushort mode, prevmode = USHRT_MAX; Font *font = &dc.font; int frcflags = FRC_NORMAL; float runewidth = xw.cw; Rune rune; FT_UInt glyphidx; FcResult fcres; FcPattern *fcpattern, *fontpattern; FcFontSet *fcsets[] = { NULL }; FcCharSet *fccharset; int i, f, numspecs = 0; for(i = 0, xp = winx, yp = winy + font->ascent; i < len; ++i) { /* Fetch rune and mode for current glyph. */ rune = glyphs[i].u; mode = glyphs[i].mode; /* Skip dummy wide-character spacing. */ if(mode == ATTR_WDUMMY) continue; /* Determine font for glyph if different from previous glyph. */ if(prevmode != mode) { prevmode = mode; font = &dc.font; frcflags = FRC_NORMAL; runewidth = xw.cw * ((mode & ATTR_WIDE) ? 2.0f : 1.0f); if((mode & ATTR_ITALIC) && (mode & ATTR_BOLD)) { font = &dc.ibfont; frcflags = FRC_ITALICBOLD; } else if(mode & ATTR_ITALIC) { font = &dc.ifont; frcflags = FRC_ITALIC; } else if(mode & ATTR_BOLD) { font = &dc.bfont; frcflags = FRC_BOLD; } yp = winy + font->ascent; } /* Lookup character index with default font. */ glyphidx = XftCharIndex(xw.dpy, font->match, rune); if(glyphidx) { specs[numspecs].font = font->match; specs[numspecs].glyph = glyphidx; specs[numspecs].x = (short)xp; specs[numspecs].y = (short)yp; xp += runewidth; numspecs++; continue; } /* Fallback on font cache, search the font cache for match. */ for(f = 0; f < frclen; f++) { glyphidx = XftCharIndex(xw.dpy, frc[f].font, rune); /* Everything correct. */ if(glyphidx && frc[f].flags == frcflags) break; /* We got a default font for a not found glyph. */ if(!glyphidx && frc[f].flags == frcflags && frc[f].unicodep == rune) { break; } } /* Nothing was found. Use fontconfig to find matching font. */ if(f >= frclen) { if(!font->set) font->set = FcFontSort(0, font->pattern, FcTrue, 0, &fcres); fcsets[0] = font->set; /* * Nothing was found in the cache. Now use * some dozen of Fontconfig calls to get the * font for one single character. * * Xft and fontconfig are design failures. */ fcpattern = FcPatternDuplicate(font->pattern); fccharset = FcCharSetCreate(); FcCharSetAddChar(fccharset, rune); FcPatternAddCharSet(fcpattern, FC_CHARSET, fccharset); FcPatternAddBool(fcpattern, FC_SCALABLE, FcTrue); FcConfigSubstitute(0, fcpattern, FcMatchPattern); FcDefaultSubstitute(fcpattern); fontpattern = FcFontSetMatch(0, fcsets, 1, fcpattern, &fcres); /* * Overwrite or create the new cache entry. */ if(frclen >= LEN(frc)) { frclen = LEN(frc) - 1; XftFontClose(xw.dpy, frc[frclen].font); frc[frclen].unicodep = 0; } frc[frclen].font = XftFontOpenPattern(xw.dpy, fontpattern); frc[frclen].flags = frcflags; frc[frclen].unicodep = rune; glyphidx = XftCharIndex(xw.dpy, frc[frclen].font, rune); f = frclen; frclen++; FcPatternDestroy(fcpattern); FcCharSetDestroy(fccharset); } specs[numspecs].font = frc[f].font; specs[numspecs].glyph = glyphidx; specs[numspecs].x = (short)xp; specs[numspecs].y = (short)(winy + frc[f].font->ascent); xp += runewidth; numspecs++; } return numspecs; } void xdrawglyphfontspecs(const XftGlyphFontSpec *specs, Glyph base, int len, int x, int y) { int charlen = len * ((base.mode & ATTR_WIDE) ? 2 : 1); int winx = borderpx + x * xw.cw, winy = borderpx + y * xw.ch, width = charlen * xw.cw; Color *fg, *bg, *temp, revfg, revbg, truefg, truebg; XRenderColor colfg, colbg; XRectangle r; /* Determine foreground and background colors based on mode. */ if(base.fg == defaultfg) { if(base.mode & ATTR_ITALIC) base.fg = defaultitalic; else if((base.mode & ATTR_ITALIC) && (base.mode & ATTR_BOLD)) base.fg = defaultitalic; else if(base.mode & ATTR_UNDERLINE) base.fg = defaultunderline; } if(IS_TRUECOL(base.fg)) { colfg.alpha = 0xffff; colfg.red = TRUERED(base.fg); colfg.green = TRUEGREEN(base.fg); colfg.blue = TRUEBLUE(base.fg); XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &truefg); fg = &truefg; } else { fg = &dc.col[base.fg]; } if(IS_TRUECOL(base.bg)) { colbg.alpha = 0xffff; colbg.green = TRUEGREEN(base.bg); colbg.red = TRUERED(base.bg); colbg.blue = TRUEBLUE(base.bg); XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, &truebg); bg = &truebg; } else { bg = &dc.col[base.bg]; } /* Change basic system colors [0-7] to bright system colors [8-15] */ if((base.mode & ATTR_BOLD_FAINT) == ATTR_BOLD && BETWEEN(base.fg, 0, 7)) fg = &dc.col[base.fg + 8]; if(IS_SET(MODE_REVERSE)) { if(fg == &dc.col[defaultfg]) { fg = &dc.col[defaultbg]; } else { colfg.red = ~fg->color.red; colfg.green = ~fg->color.green; colfg.blue = ~fg->color.blue; colfg.alpha = fg->color.alpha; XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg); fg = &revfg; } if(bg == &dc.col[defaultbg]) { bg = &dc.col[defaultfg]; } else { colbg.red = ~bg->color.red; colbg.green = ~bg->color.green; colbg.blue = ~bg->color.blue; colbg.alpha = bg->color.alpha; XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colbg, &revbg); bg = &revbg; } } if(base.mode & ATTR_REVERSE) { temp = fg; fg = bg; bg = temp; } if((base.mode & ATTR_BOLD_FAINT) == ATTR_FAINT) { colfg.red = fg->color.red / 2; colfg.green = fg->color.green / 2; colfg.blue = fg->color.blue / 2; XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &colfg, &revfg); fg = &revfg; } if(base.mode & ATTR_BLINK && term.mode & MODE_BLINK) fg = bg; if(base.mode & ATTR_INVISIBLE) fg = bg; /* Intelligent cleaning up of the borders. */ if(x == 0) { xclear(0, (y == 0)? 0 : winy, borderpx, winy + xw.ch + ((y >= term.row-1)? xw.h : 0)); } if(x + charlen >= term.col) { xclear(winx + width, (y == 0)? 0 : winy, xw.w, ((y >= term.row-1)? xw.h : (winy + xw.ch))); } if(y == 0) xclear(winx, 0, winx + width, borderpx); if(y == term.row-1) xclear(winx, winy + xw.ch, winx + width, xw.h); /* Clean up the region we want to draw to. */ XftDrawRect(xw.draw, bg, winx, winy, width, xw.ch); /* Set the clip region because Xft is sometimes dirty. */ r.x = 0; r.y = 0; r.height = xw.ch; r.width = width; XftDrawSetClipRectangles(xw.draw, winx, winy, &r, 1); /* Render the glyphs. */ XftDrawGlyphFontSpec(xw.draw, fg, specs, len); /* Render underline and strikethrough. */ if(base.mode & ATTR_UNDERLINE) { XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent + 1, width, 1); } if(base.mode & ATTR_STRUCK) { XftDrawRect(xw.draw, fg, winx, winy + 2 * dc.font.ascent / 3, width, 1); } /* Reset clip to none. */ XftDrawSetClip(xw.draw, 0); } void xdrawglyph(Glyph g, int x, int y) { int numspecs; XftGlyphFontSpec spec; numspecs = xmakeglyphfontspecs(&spec, &g, 1, x, y); xdrawglyphfontspecs(&spec, g, numspecs, x, y); } void xdrawcursor(void) { static int oldx = 0, oldy = 0; int curx; Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}; LIMIT(oldx, 0, term.col-1); LIMIT(oldy, 0, term.row-1); curx = term.c.x; /* adjust position if in dummy */ if(term.line[oldy][oldx].mode & ATTR_WDUMMY) oldx--; if(term.line[term.c.y][curx].mode & ATTR_WDUMMY) curx--; g.u = term.line[term.c.y][term.c.x].u; /* remove the old cursor */ xdrawglyph(term.line[oldy][oldx], oldx, oldy); if(IS_SET(MODE_HIDE)) return; /* draw the new one */ if(xw.state & WIN_FOCUSED) { switch (xw.cursor) { case 0: /* Blinking Block */ case 1: /* Blinking Block (Default) */ case 2: /* Steady Block */ if(IS_SET(MODE_REVERSE)) { g.mode |= ATTR_REVERSE; g.fg = defaultcs; g.bg = defaultfg; } g.mode |= term.line[term.c.y][curx].mode & ATTR_WIDE; xdrawglyph(g, term.c.x, term.c.y); break; case 3: /* Blinking Underline */ case 4: /* Steady Underline */ XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + curx * xw.cw, borderpx + (term.c.y + 1) * xw.ch - cursorthickness, xw.cw, cursorthickness); break; case 5: /* Blinking bar */ case 6: /* Steady bar */ XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + curx * xw.cw, borderpx + term.c.y * xw.ch, cursorthickness, xw.ch); break; } } else { XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + curx * xw.cw, borderpx + term.c.y * xw.ch, xw.cw - 1, 1); XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + curx * xw.cw, borderpx + term.c.y * xw.ch, 1, xw.ch - 1); XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + (curx + 1) * xw.cw - 1, borderpx + term.c.y * xw.ch, 1, xw.ch - 1); XftDrawRect(xw.draw, &dc.col[defaultcs], borderpx + curx * xw.cw, borderpx + (term.c.y + 1) * xw.ch - 1, xw.cw, 1); } oldx = curx, oldy = term.c.y; } void xsettitle(char *p) { XTextProperty prop; Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, &prop); XSetWMName(xw.dpy, xw.win, &prop); XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmname); XFree(prop.value); } void xresettitle(void) { xsettitle(opt_title ? opt_title : "st"); } void redraw(void) { tfulldirt(); draw(); } void draw(void) { drawregion(0, 0, term.col, term.row); XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w, xw.h, 0, 0); XSetForeground(xw.dpy, dc.gc, dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg].pixel); } void drawregion(int x1, int y1, int x2, int y2) { int i, x, y, ox, numspecs; Glyph base, new; XftGlyphFontSpec* specs; bool ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); if(!(xw.state & WIN_VISIBLE)) return; for(y = y1; y < y2; y++) { if(!term.dirty[y]) continue; xtermclear(0, y, term.col, y); term.dirty[y] = 0; specs = term.specbuf; numspecs = xmakeglyphfontspecs(specs, &term.line[y][x1], x2 - x1, x1, y); i = ox = 0; for(x = x1; x < x2 && i < numspecs; x++) { new = term.line[y][x]; if(new.mode == ATTR_WDUMMY) continue; if(ena_sel && selected(x, y)) new.mode ^= ATTR_REVERSE; if(i > 0 && ATTRCMP(base, new)) { xdrawglyphfontspecs(specs, base, i, ox, y); specs += i; numspecs -= i; i = 0; } if(i == 0) { ox = x; base = new; } i++; } if(i > 0) xdrawglyphfontspecs(specs, base, i, ox, y); } xdrawcursor(); } void expose(XEvent *ev) { redraw(); } void visibility(XEvent *ev) { XVisibilityEvent *e = &ev->xvisibility; MODBIT(xw.state, e->state != VisibilityFullyObscured, WIN_VISIBLE); } void unmap(XEvent *ev) { xw.state &= ~WIN_VISIBLE; } void xsetpointermotion(int set) { MODBIT(xw.attrs.event_mask, set, PointerMotionMask); XChangeWindowAttributes(xw.dpy, xw.win, CWEventMask, &xw.attrs); } void xseturgency(int add) { XWMHints *h = XGetWMHints(xw.dpy, xw.win); MODBIT(h->flags, add, XUrgencyHint); XSetWMHints(xw.dpy, xw.win, h); XFree(h); } void focus(XEvent *ev) { XFocusChangeEvent *e = &ev->xfocus; if(e->mode == NotifyGrab) return; if(ev->type == FocusIn) { XSetICFocus(xw.xic); xw.state |= WIN_FOCUSED; xseturgency(0); if(IS_SET(MODE_FOCUS)) ttywrite("\033[I", 3); } else { XUnsetICFocus(xw.xic); xw.state &= ~WIN_FOCUSED; if(IS_SET(MODE_FOCUS)) ttywrite("\033[O", 3); } } bool match(uint mask, uint state) { return mask == XK_ANY_MOD || mask == (state & ~ignoremod); } void numlock(const Arg *dummy) { term.numlock ^= 1; } char* kmap(KeySym k, uint state) { Key *kp; int i; /* Check for mapped keys out of X11 function keys. */ for(i = 0; i < LEN(mappedkeys); i++) { if(mappedkeys[i] == k) break; } if(i == LEN(mappedkeys)) { if((k & 0xFFFF) < 0xFD00) return NULL; } for(kp = key; kp < key + LEN(key); kp++) { if(kp->k != k) continue; if(!match(kp->mask, state)) continue; if(IS_SET(MODE_APPKEYPAD) ? kp->appkey < 0 : kp->appkey > 0) continue; if(term.numlock && kp->appkey == 2) continue; if(IS_SET(MODE_APPCURSOR) ? kp->appcursor < 0 : kp->appcursor > 0) continue; if(IS_SET(MODE_CRLF) ? kp->crlf < 0 : kp->crlf > 0) continue; return kp->s; } return NULL; } void kpress(XEvent *ev) { XKeyEvent *e = &ev->xkey; KeySym ksym; char buf[32], *customkey; int len; Rune c; Status status; Shortcut *bp; if(IS_SET(MODE_KBDLOCK)) return; len = XmbLookupString(xw.xic, e, buf, sizeof buf, &ksym, &status); /* 1. shortcuts */ for(bp = shortcuts; bp < shortcuts + LEN(shortcuts); bp++) { if(ksym == bp->keysym && match(bp->mod, e->state)) { bp->func(&(bp->arg)); return; } } /* 2. custom keys from config.h */ if((customkey = kmap(ksym, e->state))) { ttysend(customkey, strlen(customkey)); return; } /* 3. composed string from input method */ if(len == 0) return; if(len == 1 && e->state & Mod1Mask) { if(IS_SET(MODE_8BIT)) { if(*buf < 0177) { c = *buf | 0x80; len = utf8encode(c, buf); } } else { buf[1] = buf[0]; buf[0] = '\033'; len = 2; } } ttysend(buf, len); } void cmessage(XEvent *e) { /* * See xembed specs * http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html */ if(e->xclient.message_type == xw.xembed && e->xclient.format == 32) { if(e->xclient.data.l[1] == XEMBED_FOCUS_IN) { xw.state |= WIN_FOCUSED; xseturgency(0); } else if(e->xclient.data.l[1] == XEMBED_FOCUS_OUT) { xw.state &= ~WIN_FOCUSED; } } else if(e->xclient.data.l[0] == xw.wmdeletewin) { /* Send SIGHUP to shell */ kill(pid, SIGHUP); exit(EXIT_SUCCESS); } } void cresize(int width, int height) { int col, row; if(width != 0) xw.w = width; if(height != 0) xw.h = height; col = (xw.w - 2 * borderpx) / xw.cw; row = (xw.h - 2 * borderpx) / xw.ch; tresize(col, row); xresize(col, row); ttyresize(); } void resize(XEvent *e) { if(e->xconfigure.width == xw.w && e->xconfigure.height == xw.h) return; cresize(e->xconfigure.width, e->xconfigure.height); } void run(void) { XEvent ev; int w = xw.w, h = xw.h; fd_set rfd; int xfd = XConnectionNumber(xw.dpy), xev, blinkset = 0, dodraw = 0; struct timespec drawtimeout, *tv = NULL, now, last, lastblink; long deltatime; /* Waiting for window mapping */ do { XNextEvent(xw.dpy, &ev); /* * XFilterEvent is required to be called after you using XOpenIM, * this is not unnecessary.It does not only filter the key event, * but some clientmessage for input method as well. */ if(XFilterEvent(&ev, None)) continue; if(ev.type == ConfigureNotify) { w = ev.xconfigure.width; h = ev.xconfigure.height; } } while(ev.type != MapNotify); ttynew(); cresize(w, h); clock_gettime(CLOCK_MONOTONIC, &last); lastblink = last; for(xev = actionfps;;) { FD_ZERO(&rfd); FD_SET(cmdfd, &rfd); FD_SET(xfd, &rfd); if(pselect(MAX(xfd, cmdfd)+1, &rfd, NULL, NULL, tv, NULL) < 0) { if(errno == EINTR) continue; die("select failed: %s\n", strerror(errno)); } if(FD_ISSET(cmdfd, &rfd)) { ttyread(); if(blinktimeout) { blinkset = tattrset(ATTR_BLINK); if(!blinkset) MODBIT(term.mode, 0, MODE_BLINK); } } if(FD_ISSET(xfd, &rfd)) xev = actionfps; clock_gettime(CLOCK_MONOTONIC, &now); drawtimeout.tv_sec = 0; drawtimeout.tv_nsec = (1000 * 1E6)/ xfps; tv = &drawtimeout; dodraw = 0; if(blinktimeout && TIMEDIFF(now, lastblink) > blinktimeout) { tsetdirtattr(ATTR_BLINK); term.mode ^= MODE_BLINK; lastblink = now; dodraw = 1; } deltatime = TIMEDIFF(now, last); if(deltatime > 1000 / (xev ? xfps : actionfps)) { dodraw = 1; last = now; } if(dodraw) { while(XPending(xw.dpy)) { XNextEvent(xw.dpy, &ev); if(XFilterEvent(&ev, None)) continue; if(handler[ev.type]) (handler[ev.type])(&ev); } draw(); XFlush(xw.dpy); if(xev && !FD_ISSET(xfd, &rfd)) xev--; if(!FD_ISSET(cmdfd, &rfd) && !FD_ISSET(xfd, &rfd)) { if(blinkset) { if(TIMEDIFF(now, lastblink) \ > blinktimeout) { drawtimeout.tv_nsec = 1000; } else { drawtimeout.tv_nsec = (1E6 * \ (blinktimeout - \ TIMEDIFF(now, lastblink))); } drawtimeout.tv_sec = \ drawtimeout.tv_nsec / 1E9; drawtimeout.tv_nsec %= (long)1E9; } else { tv = NULL; } } } } } int st(int argc, char **argv) { uint cols = 80, rows = 24; xw.l = xw.t = 0; xw.isfixed = False; xw.cursor = 0; ARGBEGIN { case 'a': allowaltscreen = false; break; case 'c': opt_class = EARGF(); break; case 'e': if(argc > 0) --argc, ++argv; goto run; case 'f': opt_font = EARGF(); break; case 'g': xw.gm = XParseGeometry(EARGF(), &xw.l, &xw.t, &cols, &rows); break; case 'i': xw.isfixed = True; break; case 'o': opt_io = EARGF(); break; case 'l': opt_line = EARGF(); break; case 't': opt_title = EARGF(); break; case 'w': opt_embed = EARGF(); break; case 'v': default: exit(EXIT_FAILURE); } ARGEND; run: if(argc > 0) { /* eat all remaining arguments */ opt_cmd = argv; if(!opt_title && !opt_line) opt_title = basename(xstrdup(argv[0])); } #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif XSetLocaleModifiers(""); tnew(MAX(cols, 1), MAX(rows, 1)); xinit(); selinit(); run(); return 0; } xfe-1.42/xfi.xpm0000644000175100017510000002134312104671045010464 00000000000000/* XPM */ static char * xfi_xpm[] = { "48 48 255 2", " c None", ". c #000200", "+ c #010400", "@ c #060208", "# c #020501", "$ c #000509", "% c #050804", "& c #0A0900", "* c #0C090E", "= c #070E10", "- c #110F13", "; c #10120F", "> c #131209", ", c #0E1409", "' c #10171D", ") c #0A172F", "! c #131722", "~ c #111B25", "{ c #1C1A1E", "] c #1F1D20", "^ c #212109", "/ c #24240E", "( c #182438", "_ c #232709", ": c #272528", "< c #172941", "[ c #272826", "} c #1B2A39", "| c #2E310F", "1 c #232F44", "2 c #2F2E31", "3 c #2E2F2D", "4 c #21304F", "5 c #1C3155", "6 c #253146", "7 c #2F333F", "8 c #333532", "9 c #373539", "0 c #363917", "a c #3A3B0D", "b c #373936", "c c #2B3B56", "d c #393A38", "e c #1C3F6E", "f c #3D3B3E", "g c #2A3D63", "h c #3B3D3B", "i c #3F4018", "j c #3D3D46", "k c #383F46", "l c #3E403D", "m c #424315", "n c #413F42", "o c #3F3F48", "p c #37414D", "q c #29436D", "r c #40423F", "s c #2F4464", "t c #41424A", "u c #424441", "v c #3A4550", "w c #2E4576", "x c #434542", "y c #464447", "z c #444643", "A c #214A85", "B c #204B7F", "C c #35486E", "D c #3E4854", "E c #314975", "F c #224D7C", "G c #464845", "H c #2D4B81", "I c #4A484B", "J c #354A7C", "K c #434B52", "L c #324D72", "M c #464D54", "N c #4E4D45", "O c #4D4E4C", "P c #525223", "Q c #485057", "R c #4F504E", "S c #395379", "T c #4D5153", "U c #525054", "V c #51561F", "W c #4C535A", "X c #415576", "Y c #4B5662", "Z c #2B5B96", "` c #235E9E", " . c #3B598A", ".. c #43578A", "+. c #565855", "@. c #54585B", "#. c #2F5D99", "$. c #465A7B", "%. c #3D5B8C", "&. c #415B81", "*. c #2761A1", "=. c #4A5E7F", "-. c #42628D", ";. c #49608D", ">. c #55606C", ",. c #586067", "'. c #5E605D", "). c #556078", "!. c #51617D", "~. c #615F63", "{. c #41659C", "]. c #566476", "^. c #5A6571", "/. c #516687", "(. c #4E678E", "_. c #576683", ":. c #64656E", "<. c #446A9B", "[. c #4669A1", "}. c #4C689B", "|. c #4E6A8B", "1. c #686669", "2. c #64696B", "3. c #5F6A76", "4. c #626A71", "5. c #6D6E2B", "6. c #686A67", "7. c #506C9F", "8. c #676B6E", "9. c #646C73", "0. c #5C6E85", "a. c #536EA2", "b. c #6E6C70", "c. c #52719E", "d. c #72732F", "e. c #587198", "f. c #6B6F7D", "g. c #6E706D", "h. c #5574A1", "i. c #5F7396", "j. c #70726F", "k. c #5F7693", "l. c #69748C", "m. c #6A7581", "n. c #5478AB", "o. c #737572", "p. c #64778E", "q. c #5A78A5", "r. c #687789", "s. c #7D7C31", "t. c #5D7BA8", "u. c #527DB5", "v. c #587CAF", "w. c #6C7B8D", "x. c #737A8E", "y. c #657DA6", "z. c #7D7B7F", "A. c #6381AF", "B. c #7A7F82", "C. c #81863A", "D. c #7A8195", "E. c #6785B3", "F. c #858387", "G. c #6A88B6", "H. c #7588A0", "I. c #7088B1", "J. c #89878B", "K. c #7D89A2", "L. c #788BA2", "M. c #718DAF", "N. c #748DB6", "O. c #7D8CAB", "P. c #878B9A", "Q. c #8F9346", "R. c #7E91B5", "S. c #928F94", "T. c #7794C3", "U. c #8194B8", "V. c #7D95BF", "W. c #909597", "X. c #8B96B0", "Y. c #8599BD", "Z. c #889CC1", "`. c #9C9E9B", " + c #969EB2", ".+ c #8DA4C2", "++ c #A0A29F", "@+ c #8FA3C8", "#+ c #A6A853", "$+ c #98A3BD", "%+ c #A2A4A1", "&+ c #8BA7CA", "*+ c #96A5C4", "=+ c #A1A6A9", "-+ c #A4A6A3", ";+ c #8AABD4", ">+ c #99A8C8", ",+ c #8FABCE", "'+ c #ADAF5A", ")+ c #A6ABAE", "!+ c #9FABC5", "~+ c #9DACCC", "{+ c #A0AFCF", "]+ c #A1B1D1", "^+ c #A4B3D4", "/+ c #B2B4B1", "(+ c #ABB6D1", "_+ c #B2B7B9", ":+ c #BCBD67", "<+ c #ADB8D3", "[+ c #BEBF69", "}+ c #AFBBD5", "|+ c #B8BDC0", "1+ c #BEC1BD", "2+ c #BFC4C6", "3+ c #C3C5C2", "4+ c #C1C6C9", "5+ c #CBCE7D", "6+ c #C9CBC7", "7+ c #C7CCCF", "8+ c #CCCECB", "9+ c #CACFD1", "0+ c #CED0CC", "a+ c #CFD1CE", "b+ c #D1D3D0", "c+ c #D3D5D2", "d+ c #D5D7D4", "e+ c #D6D8D5", "f+ c #DBDE8C", "g+ c #D8DAD6", "h+ c #D9DBD8", "i+ c #DAE19B", "j+ c #DBDDDA", "k+ c #DDDFDC", "l+ c #DEE0DD", "m+ c #E0E2DF", "n+ c #E3E5E1", "o+ c #ECEBA7", "p+ c #E5E7E4", "q+ c #E7E9E6", "r+ c #E8EAE7", "s+ c #E9EBE8", "t+ c #EBEDEA", "u+ c #EDEFEB", "v+ c #EEF4C1", "w+ c #EFF1EE", "x+ c #F5F5CB", "y+ c #F1F3F0", "z+ c #F3F5F2", "A+ c #F8FBD6", "B+ c #F7FAF6", "C+ c #FEFCDF", "D+ c #FAFCF9", "E+ c #FFFEF5", "F+ c #FDFFFC", " ", " ", " ", " ", " ", " ", " # . . . . . . . . . . . . . . . . . . . . . . . . . # . # . # ", " . . 8 u r r r r u u u u u x x x x x x x x x z z z x b d d d 8 . . # ", " . +.F+F+F+F+F+F+F+D+B+B+z+y+w+u+u+u+q+r+n+n+n+l+l+l+k+k+k+k+l+l+b+'.. ", " . . B+y+g+b+0+0+0+0+0+0+0+0+b+b+b+b+b+c+c+c+c+c+g+g+g+g+g+g+g+g+g+g+l+d . ", " # 3 F+g+0+b+b+b+b+b+b+b+c+c+c+c+c+c+c+c+d+d+d+g+g+g+g+g+g+g+g+g+g+g+j+`.. ", " . r F+0+6+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+8+0+8+8+b+b+b+b+b+b+b+b+b+l+g+++. ", " . l F+0+B.} 1 1 1 1 6 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Y u+g+++. ", " . l F+0+4.e ` ` *.B < ) 4 Z ` ` #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.` p u+g+++. ", " . l F+c+4.q {.[.( % | m / . F {.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.p u+g+++. ", " . l F+c+4.L a.s > s.:+f+#+P . <.a.7.7.7.7.7.7.7.7.7.7.7.7.7.7.a.p u+g+++. ", " . l F+c+4.S u.$ V f+E+F+A+'+_ c n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.n.v u+g+++. ", " . l F+d+4.$.v.. C.A+F+F+E+i+m ~ E.A.A.A.A.A.A.A.A.i.A.A.A.A.A.A.v u+g+++. ", " . l F+d+2.!.N.. d.v+F+F+E+5+a } N.I.I.I.I.I.I.I.I.].>.I.I.I.I.N.v u+g+++. ", " . l F+d+2._.Y.! 0 [+x+C+o+Q., ).U.R.R.R.R.R.R.U.>.r.O 3.U.R.R.U.D u+g+++. ", " . r D+g+9.0.Z.O.. i C.#+5.^ ' @+Y.Z.Z.Z.Z.Z.Z.H.N L.R O L.Z.Z.Z.D u+g+++. ", " . r B+g+8.l.*+*+L.= & ; . 7 *+*+*+*+*+*+*+*+.+U O X.O R m.*+*+>+D w+g+++. ", " . r B+g+8.x.{+~+~+^+$+K.!+]+~+~+~+~+~+~+~+{+f.R O $+O R :.{+~+{+M u+g+++. ", " . r B+g+8.D.<+(+(+(+(+<+(+(+(+(+(+(+(+(+(+ +O R R (+O O P.<+(+}+M w+g+++. ", " . r B+g+8.k.&+&+&+&+&+&+&+&+&+&+&+&+&+&+;+,.@.@.,.w.O 3.,+&+&+,+W w+g+++. ", " . r B+j+8.|.V.T.T.T.T.T.T.T.V.V.V.V.V.V.p.^.^.^.^.T @.^.M.V.V.V.W w+g+++. ", " . r B+j+2.=.G.E.E.E.E.E.E.E.E.E.E.E.E.E.A.e././././.=./.y.G.G.G.M y+c+%+. ", " . r B+j+2.X q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.c.&.X X h.X X (.q.t.Q z+c+%+. ", " . r B+j+8.C }.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.}.;.L L -.C C ;.7.K z+c+%+. ", " . u B+j+8.g ............%.%.%.%.%.%.%.%.........%.%.E E E g .%.M z+b+%+. ", " . u z+j+:.5 A A A A A A A A A A A A A H H H H H H H H J q w H A t z+b+%+. ", " . u z+g+W.j j j j j j j j j j j j j o k k o o o o o o o o o o j z.z+b+%+. ", " . u z+k+s+u+u+u+u+u+z+w+u+u+y+z+u+w+y+z+B+z+w+w+y+B+y+y+y+y+y+z+y+s+b+%+. ", " . u z+k+k+k+k+l+l+c+n )+n+l+J.n q+q+F.9 ] I u+q+2+2 k+q+q+q+q+q+q+r+0+%+. ", " . u y+k+k+k+l+l+n+=+. S.s+S.. J.t+I { g+t+l+n+u+- ] w+q+q+r+q+q+s+s+0+%+. ", " . u z+k+l+l+l+n+m+t+: 2 _+* _+q+u+. S.m+|+7+r+n+@ z.t+q+r+q+s+r+r+t+0+%+. ", " . u z+l+l+n+n+m+m+n+7+. { g+n+s+W.. y U ~.~.u+w+. |+s+q+q+s+r+t+t+t+0+-+. ", " . b z+m+n+m+m+m+m+t+b.f @ 4+r+q+|+- z+u+t+u+q+9+. r+r+s+r+r+t+s+s+t+8+`.. ", " . 8+n+m+m+m+m+q+1.~.w+)+- 2+s+|+9 u+q+q+q+s+4+. w+t+t+t+t+t+t+t+l+1+R . ", " . 3 1+s+q+q+r+g+F.z+t+u+u+j+t+c+1.q+n+j+j+j+g+_+b+0+8+6+6+3+1+1+1+/+. ", " . . [ l h h h z G R +.'.6.g.g.o.g.g.g.g.g.g.o.j.j.j.j.j.j.o.o.b . ", " # # # # # . . . # . . . . . . . . . . . . . . . . . . . . ", " ", " ", " ", " ", " ", " "}; xfe-1.42/config.h.in0000644000175100017510000004176012634031314011175 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if the `closedir' function returns void instead of `int'. */ #undef CLOSEDIR_VOID /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to the type of elements in the array set by `getgroups'. Usually this is either `int' or `gid_t'. */ #undef GETGROUPS_T /* The package name, for gettext */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the `argz_count' function. */ #undef HAVE_ARGZ_COUNT /* Define to 1 if you have the header file. */ #undef HAVE_ARGZ_H /* Define to 1 if you have the `argz_next' function. */ #undef HAVE_ARGZ_NEXT /* Define to 1 if you have the `argz_stringify' function. */ #undef HAVE_ARGZ_STRINGIFY /* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF /* Define to 1 if the compiler understands __builtin_expect. */ #undef HAVE_BUILTIN_EXPECT /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define to 1 if your system has a working `chown' function. */ #undef HAVE_CHOWN /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF /* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNWPRINTF /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the `endgrent' function. */ #undef HAVE_ENDGRENT /* Define to 1 if you have the `endpwent' function. */ #undef HAVE_ENDPWENT /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Define to 1 if you have the `fwprintf' function. */ #undef HAVE_FWPRINTF /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD /* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID /* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID /* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID /* Define to 1 if your system has a working `getgroups' function. */ #undef HAVE_GETGROUPS /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME /* Define to 1 if you have the `getmntent' function. */ #undef HAVE_GETMNTENT /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define if you have the 'intmax_t' type in or . */ #undef HAVE_INTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define to 1 if you have the `lchown' function. */ #undef HAVE_LCHOWN /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the `fontconfig' library (-lfontconfig). */ #undef HAVE_LIBFONTCONFIG /* Define to 1 if you have the `FOX-1.6' library (-lFOX-1.6). */ #undef HAVE_LIBFOX_1_6 /* Define to 1 if you have the `png' library (-lpng). */ #undef HAVE_LIBPNG /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* Define if you have the 'long double' type. */ #undef HAVE_LONG_DOUBLE /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ #undef HAVE_LSTAT_EMPTY_STRING_BUG /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mempcpy' function. */ #undef HAVE_MEMPCPY /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `mkdir' function. */ #undef HAVE_MKDIR /* Define to 1 if you have the `mkfifo' function. */ #undef HAVE_MKFIFO /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the header file. */ #undef HAVE_MNTENT_H /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H /* Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined. */ #undef HAVE_NL_LOCALE_NAME /* Define if your printf() function supports format strings with positions. */ #undef HAVE_POSIX_PRINTF /* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE /* Define if the POSIX multithreading library has read/write locks. */ #undef HAVE_PTHREAD_RWLOCK /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if you have the `rmdir' function. */ #undef HAVE_RMDIR /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ #undef HAVE_STAT_EMPTY_STRING_BUG /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_STDINT_H_WITH_UINTMAX /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strstr' function. */ #undef HAVE_STRSTR /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL /* Define to 1 if you have the `strtoull' function. */ #undef HAVE_STRTOULL /* Define to 1 if `st_rdev' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_RDEV /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_DIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_NDIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define if you have the 'uintmax_t' type in or . */ #undef HAVE_UINTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define if you have the 'unsigned long long' type. */ #undef HAVE_UNSIGNED_LONG_LONG /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* Define to 1 if you have the `utime' function. */ #undef HAVE_UTIME /* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define to 1 if `utime(file, NULL)' sets file's timestamp to the present. */ #undef HAVE_UTIME_NULL /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H /* Define to 1 or 0, depending whether the compiler supports simple visibility declarations. */ #undef HAVE_VISIBILITY /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_X11_EXTENSIONS_XRANDR_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define if integer division by zero raises signal SIGFPE. */ #undef INTDIV0_RAISES_SIGFPE /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define if the pthread_in_use() detection is hard. */ #undef PTHREAD_IN_USE_DETECTION_HARD /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #undef SIZE_MAX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Define if the POSIX multithreading library can be used. */ #undef USE_POSIX_THREADS /* Define if references to the POSIX multithreading library should be made weak. */ #undef USE_POSIX_THREADS_WEAK /* Define if the GNU Pth multithreading library can be used. */ #undef USE_PTH_THREADS /* Define if references to the GNU Pth multithreading library should be made weak. */ #undef USE_PTH_THREADS_WEAK /* Define if the old Solaris multithreading library can be used. */ #undef USE_SOLARIS_THREADS /* Define if references to the old Solaris multithreading library should be made weak. */ #undef USE_SOLARIS_THREADS_WEAK /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define if the Win32 multithreading API can be used. */ #undef USE_WIN32_THREADS /* Version number of package */ #undef VERSION /* Enable large inode numbers on Mac OS X 10.5. */ #ifndef _DARWIN_USE_64_BIT_INODE # define _DARWIN_USE_64_BIT_INODE 1 #endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `int' if doesn't define. */ #undef gid_t /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `int' if does not define. */ #undef mode_t /* Define to `int' if does not define. */ #undef pid_t /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ #undef ptrdiff_t /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to `int' if doesn't define. */ #undef uid_t /* Define to unsigned long or unsigned long long if and don't define. */ #undef uintmax_t /* Define as `fork' if `vfork' does not work. */ #undef vfork #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded xfe-1.42/iconlinks.sh0000644000175100017510000000220612600771012011466 00000000000000#!/bin/sh # This shell script installs symbolic links in icon theme directories # $1 is the source directory # $2 is the install directory # Reference theme names ref_theme1=xfe-theme ref_theme2=gnome-theme # Link theme names link_theme1=windows-theme link_theme2=gnomeblue-theme link_theme3=tango-theme link_theme4=kde-theme echo Installing icon links... # Loop on PNG files for iconfile in $1/icons/$ref_theme1/*.png do # Get icon name iconname=`basename "$iconfile"` # Install a link if the icon does not exist in the source theme directory if test ! -f $1/icons/$link_theme1/$iconname then echo ln -s -f ../$ref_theme1/$iconname $2/icons/$link_theme1/$iconname; ln -s -f ../$ref_theme1/$iconname $2/icons/$link_theme1/$iconname fi if test ! -f $1/icons/$link_theme2/$iconname then echo ln -s -f ../$ref_theme2/$iconname $2/icons/$link_theme2/$iconname; ln -s -f ../$ref_theme2/$iconname $2/icons/$link_theme2/$iconname fi if test ! -f $1/icons/$link_theme3/$iconname then echo ln -s -f ../$ref_theme2/$iconname $2/icons/$link_theme3/$iconname; ln -s -f ../$ref_theme2/$iconname $2/icons/$link_theme3/$iconname fi done xfe-1.42/xfw.desktop.in.in0000644000175100017510000000034012425731635012363 00000000000000[Desktop Entry] _Name=Xfw _GenericName=Text Editor _Comment=A simple text editor for Xfe Exec=xfw %F Terminal=false Type=Application StartupNotify=@STARTUPNOTIFY@ MimeType=text/plain; Icon=xfw Categories=Utility;TextEditor; xfe-1.42/xfi.svg0000644000175100017510000002455211444154372010471 00000000000000 image/svg+xml XFI xfe-1.42/xfp.xpm0000644000175100017510000002136312104671062010474 00000000000000/* XPM */ static char * xfp_xpm[] = { "48 48 256 2", " c None", ". c #000100", "+ c #070000", "@ c #000306", "# c #030602", "$ c #02080C", "% c #090800", "& c #070905", "* c #0E0806", "= c #0E100D", "- c #101118", "; c #14130A", "> c #171312", ", c #151614", "' c #1B1D1A", ") c #1F1D12", "! c #151F29", "~ c #1E1F1D", "{ c #201F19", "] c #212320", "^ c #232413", "/ c #242226", "( c #272826", "_ c #242B19", ": c #292B1A", "< c #2E2B20", "[ c #2B2C2A", "} c #2D2C26", "| c #313029", "1 c #2F312E", "2 c #323033", "3 c #2D3421", "4 c #303327", "5 c #343523", "6 c #313537", "7 c #333A27", "8 c #383A38", "9 c #313C47", "0 c #3B3C2A", "a c #3E3D36", "b c #3E403D", "c c #3E4134", "d c #40412F", "e c #3A4550", "f c #434930", "g c #484740", "h c #484937", "i c #474A3D", "j c #3F4D5D", "k c #504D40", "l c #4D4F4C", "m c #504F48", "n c #47515D", "o c #4E5244", "p c #515340", "q c #54533B", "r c #515844", "s c #545653", "t c #58573F", "u c #58574F", "v c #5A5B48", "w c #5D5A4D", "x c #595C4E", "y c #495F6F", "z c #5E5F4C", "A c #5E5E56", "B c #5D5F5C", "C c #5D6349", "D c #63624A", "E c #606455", "F c #64645C", "G c #656653", "H c #616853", "I c #696659", "J c #6C6D59", "K c #6A6D5F", "L c #676F59", "M c #557085", "N c #706F56", "O c #5E7087", "P c #70715D", "Q c #716F73", "R c #6E7359", "S c #72726A", "T c #6F7661", "U c #71775C", "V c #747757", "W c #747661", "X c #77765C", "Y c #787567", "Z c #747673", "` c #727A64", " . c #747A5F", ".. c #787965", "+. c #7C7B61", "@. c #7A7B67", "#. c #757D67", "$. c #7C7B73", "%. c #7A7D6E", "&. c #7C7D69", "*. c #7F7C6E", "=. c #797F64", "-. c #7C7F5E", ";. c #718092", ">. c #7F806B", ",. c #7E8368", "'. c #848369", "). c #82836F", "!. c #7E8385", "~. c #83837A", "{. c #86856B", "]. c #82886C", "^. c #73899A", "/. c #878873", "(. c #858B6F", "_. c #8B8A6F", ":. c #8E8D73", "<. c #8A8F73", "[. c #828E9B", "}. c #8E9270", "|. c #8D9181", "1. c #929177", "2. c #909087", "3. c #8E908D", "4. c #8E9377", "5. c #96957B", "6. c #979486", "7. c #8F968C", "8. c #92977B", "9. c #959876", "0. c #959A7E", "a. c #999890", "b. c #9A9B86", "c. c #989D81", "d. c #9B9E7C", "e. c #9D9C94", "f. c #8F9FB1", "g. c #9BA084", "h. c #83A3BF", "i. c #9D9F9C", "j. c #8BA2C0", "k. c #87A3C6", "l. c #9EA387", "m. c #90A3BB", "n. c #9FA393", "o. c #A2A299", "p. c #83A7C9", "q. c #95A5AB", "r. c #93A6BF", "s. c #A8A496", "t. c #90A7C5", "u. c #85AACB", "v. c #A5A886", "w. c #A1A6A9", "x. c #8EAACD", "y. c #A4AA8D", "z. c #97AAC3", "A. c #A6AA9A", "B. c #ABAA8F", "C. c #AAAB96", "D. c #95ADCB", "E. c #ACAF8C", "F. c #AFAE92", "G. c #ABADAA", "H. c #AAB093", "I. c #ABAF9F", "J. c #AEAF99", "K. c #A0B0C3", "L. c #9DB1C9", "M. c #9CB4D2", "N. c #B7B3A5", "O. c #A5B5C8", "P. c #B3B5B2", "Q. c #B3B7A7", "R. c #B7B7AE", "S. c #A5B9D1", "T. c #A7BAC6", "U. c #A3BAD9", "V. c #AABACD", "W. c #B9BC99", "X. c #A7BFDD", "Y. c #AFBED2", "Z. c #C1BDAF", "`. c #ACC0D9", " + c #B3C2D6", ".+ c #BFC3B2", "++ c #B7C3D1", "@+ c #C1C3BF", "#+ c #B3C7E0", "$+ c #C4C7B7", "%+ c #BACADD", "&+ c #BECAD8", "*+ c #C8CCBC", "=+ c #CDCCC3", "-+ c #D0CBC9", ";+ c #C1D0E4", ">+ c #C5D1DF", ",+ c #CED2C1", "'+ c #D4D3CA", ")+ c #D2D6C5", "!+ c #D8D5C6", "~+ c #CED7DF", "{+ c #CAD9ED", "]+ c #D7DACA", "^+ c #DDDACB", "/+ c #D1DDEB", "(+ c #DADECD", "_+ c #DBDDDA", ":+ c #DEDDD4", "<+ c #D9DEE1", "[+ c #DCE0CF", "}+ c #DEE0DD", "|+ c #D8E1E9", "1+ c #E4E0D1", "2+ c #DEE2D1", "3+ c #E5E1D2", "4+ c #E5E0DE", "5+ c #DFE3D2", "6+ c #E4E3DA", "7+ c #E2E5D5", "8+ c #D9E5F3", "9+ c #D6E6FA", "0+ c #E5E6D0", "a+ c #E3E7D6", "b+ c #DEE6EF", "c+ c #E4E8D7", "d+ c #EAE9E0", "e+ c #E7EBDA", "f+ c #E9EBE7", "g+ c #E6ECEE", "h+ c #E4ECF5", "i+ c #EDEED7", "j+ c #E2EEFC", "k+ c #F1EDDE", "l+ c #EBEFDE", "m+ c #F4EEED", "n+ c #EEF2E1", "o+ c #E9F1FA", "p+ c #E6F2FF", "q+ c #F2F3DC", "r+ c #F1F5E4", "s+ c #F5F4EB", "t+ c #EFF5F7", "u+ c #F3F5F2", "v+ c #F3F7E6", "w+ c #F7F4F9", "x+ c #EFF8FF", "y+ c #FBF7E8", "z+ c #F7FBEA", "A+ c #F9FBF8", "B+ c #FCFDE6", "C+ c #F7FCFF", "D+ c #FFFEEF", "E+ c #FCFFEE", "F+ c #FFFEF5", "G+ c #FEFFFC", " ", " ", " ", " . . ", " . . { & . ", " . . ~ W 4.(.# . ", " . . . . . . . , $.<.].(.4.>.. . ", " . . . & & ~ ] l n.b.>.>.,.'._.8.=.. . ", " . . . * 2.G+G+G+G+n+Q.` ..@.&.&.,.].<.c.T . . ", " . . . s =+G+G+G+G+d+.+W J P W ..@.=.>.{.<.8.g.G . . ", " . . @ i.D+G+G+G+G+6+'+%.z G J P W ` #.>.,.]._.4.c.y.x . ", " . . . s '+G+G+G+G+G+6+_+7.r z G J P T ` @.>.,.'.{._.<.0.l.H.i . ", " . . . G.G+G+G+F+F+G+6+_+R.p r z G J P T ..&.&.,.'.{._.<.4.0.l.H.W.| . ", " . . b f+G+G+G+G+G+G+G+:+w+z h r z H J P T ..@.>.).{.{.(.<.1.8.c.l.H.<.+.. . ", " . G.G+G+G+G+G+G+G+G+G+G+G+G+|.p z H J P W ..&.,.'./.(.<.<.1.0.c.g.).G &.<.& . ", " . c+G+[+e.a.P.@+@+-+<+t+w+~.4 A+n.z G J W ..&.,.{.(.<.4.4.0.c.g./.E J W ,.<.. . ", " . Z.D+E+E+e+A.h _ _ _ 3 3 7 0 p A+n.G P W &.,.].(.<.}.}.9.d.1.J L N P ` ,.4.. . ", " . s.E+n+c+a+l+y+e+I.z q q t r v G s+n.J .=.,.=.5 . . . . . % d R X .=.].8.. . ", " . 2.B+l+a+5+7+a+e+r+E+k+N.#.U U U =.s+C. .=.5 . $ ^.Y.#+`.r.e . . C =.,._.c.. . ", " . ~.E+l+a+2+2+5+7+a+c+l+y+D+l+Q.<.}.9.n+F.& . T.9+{+;+%+#+`.X.U.9 . q ].4.l.. . ", " S E+l+a+[+(+[+2+5+5+7+a+c+e+v+E+l+Q.d.k . p+j+/+;+%+ +Y.S.S.M.M.O . R 9.y.. . ", " F E+l+a+[+(+(+(+(+[+[+2+5+5+a+e+n+E+$+. o+x+8+>+%+ +V.V.O.L.D.D.x.j # 9.y.. . ", " u E+n+a+[+(+(+(+(+(+(+(+(+[+5+c+l+q+. q.G+o+|+>+++Y.V.O.K.z.z.t.t.x.. D H.. . ", " 8 F+n+a+[+(+(+(+(+(+(+(+(+(+5+a+i+.+. G+C+h+~+&+++Y.V.O.K.z.r.m.j.k.M ; B.. . ", " = F+r+a+[+(+(+(+(+(+(+(+(+[+5+c+l+w 6 G+C+b+~+&+++Y.V.O.K.z.r.m.j.k.p.. y.. ", " . G+v+c+2+(+(+(+(+(+(+(+(+[+5+c+i+} !.G+x+b+~+&+++Y.V.O.K.z.r.m.j.k.x.. :.. ", " . F+z+e+7+2+[+[+(+(+(+(+(+[+7+e+i+; w.G+x+b+~+&+++Y.V.O.K.z.r.m.j.k.x.. ).. ", " . E+E+n+c+a+7+5+2+2+[+[+[+2+5+a+e+| !.G+x+b+~+&+++Y.V.O.K.z.r.m.j.k.u.. 5.. ", " . n+D+$+n+l+e+a+a+7+5+2+[+(+[+7+c+I / G+C+b+~+&+++Y.V.O.K.z.r.m.j.k.h.. F.. ", " . a+o.. ,+r+n+l+e+c+a+5+2+(+(+5+a+$+. G+C+h+~+&+++Y.V.O.K.z.r.m.j.k.y ^ J.. ", " . (+,+. E+Q.. a n+l+e+a+5+[+(+5+7+0+{ !.G+o+/+>+++Y.V.O.K.z.z.t.t.u.. t J.. ", " . ,+B+. ' ( $.1+Q.8 8 |.2+7+5+5+7+0+.+. |+x+8+>+%+ +Y.V.L.L.L.D.x.! * > K . ", " . 8 g , 2.B+z+a+. A *+A o.[+A.7+a+a+a+*.. /+j+/+;+%+ +`.S.S.M.M.9 + G+G+~ . ", " . n.G+(+~ z+v+~ . g ~.3+l+]+. * $+a+5+i+Y . [.9+{+;+%+#+`.X.M.- . 4+G+G+G+~ ", " . 2.G+F+Z.q+n+. (+e+2.S l+m . e.. ,+[+c+z+f . . n f.K.r.;.- . : + i.m+A+G+G+1 ", " . $.e+F+E+*+S n+l+e+e+I.. $+l+] m (+7+v+V -.t ) . . . ; q d.}.< . 3.g+u+G+G+b . ", " . . [ n.B+B+v+n+l+7+. a F u . F ]+^+v+U ,.(.}.9.d.v.E.v.c . . . !.f+u+G+G+l . ", " . . . A ,+z+v+(+[ l+c+[+,+]+,+!+v+ .,.<.0.g.v.E.G . . . . Q f+u+G+G+B . ", " . . ~ 6.n+v+n+e+5+(+)+,+,+n+=.(.8.g.y.,.= . . . B f+u+G+G+Z . ", " . . . s $+n+e+5+]+)+)+r+].}.g.0.| . . . l f+w+G+G+3.& ", " . . , ~.(+7+2+7+G+9.d.o . . . . 8 f+G+G+u+. ", " . . . g Q.F+^+@.# . . . 2 u+}+& ", " . . ' { . . ' & ", " . . ", " ", " ", " ", " "}; xfe-1.42/xfi.png0000644000175100017510000000331311444154372010446 00000000000000PNG  IHDR00` PLTE     /"% !! $$$8#' '%()A'(&*9.1#/D/.1./-!0O1U%1F/3?35275969:; 796+;V9:8?n=;>*=c;=;?@==F8?F>@=BCA?B??H7AM)Cm@B?/DdABJBDA:EP.EvCEBFDGDFC!J K5Hn>HT1Iu"M|FHE-KJHK5J|CKR2MrFMTNMEMNLRR#HPWOPN9SyMQSRPTQVLSZAUvKVb+[#^;YCWVXUTX[/]FZ{=[A['aJ^BbI`U`lX`g^`]U`xQa}a_cAeVdvZeqQfNgWfdenDjFiLhNjhfidik_jvbjqmn+hjgPlgkndls\nSnnlpRqrs/Xqko}npmUt_spro_vitjuTxsurdwZxhw}|1]{R}X|l{sze}}{cz:zgjup}xqt}F~wÁ} ȦSʖġԙȏέZŝ̠ϡѤԲѲgӾiո}ތ4~(tRNS@fbKGDH pHYs  tIME $0GIDATHwp QqoDE "!J $ӎC B%DrSefp!}nf"E+7/ne(@>>>^@6V(Q4IAAa߷ `$SV׆Pnny|)6C^#Akp:Pus F3GFh4ci#Sd ݦ 5S Fw,ŧ[N=ņ~iTvΈ 7r^p$fMc6_`D+ 7xa陈Th/NO K[=]թgA#W.w3%Uv K D`ţj J ׇ`W06AOHOvvTmL5?#=# ї]TL ;2ur-iNO [0-0D`Z|%َg,C@Lw\ujFzn"" Zbrh褠+0h1J6n1r\hTy~qۡK~ٯvZ "c8$AxALmĩuQzGh2y.Hb)6g sabX$-luϬY,hA34ͺpX'ˠې <Ͳs-Z®i^MeQMKgVUqyjI ݈yx֎ЩA]ܜƏ,ǙY4xѠy fk__ުVb7bcΒ7+p~ΰ?lIENDB`xfe-1.42/ChangeLog0000644000175100017510000036102412746114360010731 00000000000000Version 1.42 (released 27/07/2016) - the input dialogs with history are now alphabetically sorted. The number of visible inputs is set to 8 (feature request #202, thanks to klappnase for his patch) - gray / green focus icons in panels are now clickable buttons (feature request #204) - fixed a problem with the exec path (bug #217) - fixed a regression where panel width percentages were incorrectly set to two digit precision. Indeed, three digits are required otherwise the panel widths are not correctly retained - fixed some typos in File.cpp - fixed a resource leak in startupnotification.cpp (runcmd function). The display is now properly closed - added custom mount / unmount commands in the Programs tab of the Preferences dialog - fixed bugs in the Properties dialog when displaying the size and number of subfolders - fixed a regression that prevented to refresh the panels after a file operation in the Properties dialog - replaced the internal Xvt terminal used for root mode with st, another tiny terminal that supports UTF-8. This allows to fix bug #214 and to use the text font selected by the user in the Preferences dialog. As a side effect, Xft (and fontconfig) support is required in the FOX library. The configure.ac file was changed accordingly to reflect this new requirement - fixed a wrong return code in the quit command of XFilePackage - fixed a regression in the save dialog of xfw (bug #211) - patch for OpenBSD build and fix for hurd and kfreebsd on Debian (thanks to joowie) - fixed failed build on Mac OS X (bug #210) - fixed failed build with --disable-n (bug #209) Version 1.41 (released 28/11/2015) - avoid exiting Xfe when an X error is detected (fixes bug #779163 in Debian) - with single file selection, overwrite dialogs now only show Yes and Cancel options - when renaming a file, allow to overwrite destination if source and destination are both files - fixed a crash in SearchPanel when deleting files with thumbnails on - implemented a du (disk usage) command. This allows to get the sorted total sizes of selected items and compare them. The associated menu voice is "Compare sizes" in the FilePanel or SearchPanel context menu and is enabled when at least two files or folders are selected - it is now possible to open multiple Properties dialogs on different file selections - added an optional confirmation dialog for the change property action and also added the related option to the Preferences dialog - the Properties dialog now uses a separate process to compute the total directory size - fixed a crash in SearchPanel (caused by a wrong ICONLIST_MASK in IconList.cpp) - fixed a refresh problem with the second panel, in two panels mode - removed brown, blue and XFCE icon themes - removed iMac and Windows 95 color themes - fixed a regression in CommandWindow that didn't capture error messages any more - improved the font dialog appearance when using the ClearLooks controls - removed the bottom separator from each dialog for a more modern appearance - fixed the key bindings dialog appearance when no shortcut has been defined - fixed the rename file (F2) and create new file (Ctrl-N) wrong shortcuts in xferc.in - the progress bar frame now has the ClearLooks style - fixed search panel list style, dirs first and ignore case parameters that were not retained - added a close button to the title bar of all dialogs - added missing icons to some file operation dialogs - reorganization of the menu order in xfe, xfi and xfw to be more consistent with common practice - fixed a regression where it was not possible anymore to copy / paste text in a text field - the new folder, new file and rename dialogs now forbid names that include the character '/'. This prevents creating files or folder in other directories and seems safer than the previous approach - fixed OpenBSD build (bug #206) - updated czsech translation (thanks to David Vachulka ) - fixed incorrect selection mode in XFileImage - the menu key now has the same function as the Shift-F10 key, i.e. it opens the popup menu on a file list - code source cleanup - fixed the placement of file error messages - fixed key navigation in the icon list. Now pressing a letter key only selects an item, whatever the mouse cursor position - fixed a regression in IconList, where it was not possible anymore to select a file in a file dialog - fixed a small regression with the arrow cursor in the FXMenuTitle hack Version 1.40.1 (released 11/08/2015) - fixed archive extensions like tar.gz, tar.bz2, tar.xz that were uncorrectly displayed as gz, bz2 and xz in file lists - applied fixes from Coverity analysis - fixed bug #181 (USB drive requires manual refresh on re-mount) - fixed a bug in the PathLinker where a path such as /test was incorrectly found as being a part of a path like /home/test/temp - fixed bug #204 (Can't overwrite folders ). The rename command now forbids renaming files or directories to a destination that already exists - set focus on the cancel button in some confirmation dialogs - when pressing the return key on a multiple selection of files and directories, the files are now opened and the directories are ignored - fixed missing suffixes when creating directory copies from copy / paste operation - fixed the user and group combo box sizes in the Properties dialog - fixed wrong icon size in xferc for aac and flac types - fixed wrong if test in onCmdPopupMenu() for FilePanel.cpp and SearchPanel.cpp (Coverity) - fixed the path linker button text when the directory name contains '&' characters - implemented natural sorting in DirList - fixed natural file sorting in compare_locale() and compare_nolocale() (bug #203) - updated spanish translation (thanks to jcsl ) - fixed a bash-ism in configure.ac (bug #200) - fixed Ctrl-C, Ctrl-V, Ctrl-X and Ctrl-A shortcuts that didn't work in text fields with caps lock enabled - in the search window, pressing the Return key does not launch another search when the panel has the focus - fixed a problem where data count is wrongly reset when moving files between different file systems - updated hungarian translation (thanks to Sándor Sipos ) - fixed a freeze problem with the uim input method and changed the way input methods are detected. We now use the XMODIFIERS environment variable. This works well with ibus, uim and fcitx input methods. There remains a problem where composed characters don't work with the SCIM input method, can't find why - fixed a compilation problem in non Linux systems (cmd variable not declared in main.cpp, bug #198) Version 1.40 (released 11/01/2015) - updated german translation (thanks to Joo Martin ) - updated czsech translation (thanks to David Vachulka ) - updated greek translation (thanks to Nikos Papadopoulos <231036448@freemail.gr>) - updated brazilian portuguese translation (thanks to Phantom X - fixed data loss when moving or renaming right protected files between different file systems (bug #195) - fixed the archive name when creating an archive from / path - fixed the width of the progress dialog with long file names - fixed a size problem with the OverwriteBox dialog - fixed a bug with Ctrl-C / Ctrl-V on a selected directory - fixed a bug that made the file size accounted twice when moving files to a different file system - disable search button when the search dialog is open - in SearchWindow, the results label is now positioned on the same line as the stop / start buttons - fixed a memory leak introduced in version 1.39 with natural file sorting - checked that non member functions that are not needed outside the module in which they are defined are declared static - fixed the color of the alternate text in the progress bar, when the default theme is used - now the copied / moved data size is displayed below the progress bar for copy / move operations - updated the documentation (README, xfe man page and help.h) - at the command line, Xfe can now handle file or directory names (and URIs) and launch the associated applications to open the given files. The first two directories are displayed in the file panels, the others are ignored. The number of files to open is not limited - added setlocale() command to xvt internal terminal - fixed a display problem in XFilePackage that occured when the package file is big - added a new "Modes" tab to the Preferences dialog because otherwise it is too high - added an option in the Preferences dialog to start Xfe in the home directory, in the current directory or in the last visited directory. Starting Xfe in given directories at the command line takes precedence over these options - source and target size / modified time are now correctly aligned in OverwriteBox - avoid warning about mount points not responding when the user has no permissions on some parent directory - replaced swriter, simpress, scalc, sdraw, sbase and smath with lowriter, loimpress, localc, lodraw, lobase and lomath, since LibreOffice is the default of most Linux distributions these days - default programs (text viewer / editor, image viewer / editor, pdf viewer, audio player, video player and archiver) are now identified in xferc as , , , , , , , and . Thus, when new file associations are added to the system xferc, there is no consequence for the user even if he has changed his default programs. Compatibility with previous version of Xfe is also ensured through an internal mechanism (to be removed in the future) - fixed a bug with the overwrite confirmation dialog: in some cases, the cancel button didn't work correctly - fixed the right panel refresh that did not occur after a file operation on it - fixed the progress bar display when the percentage is equal to 100 - added the ability to copy or cut files from different directories and add them to the clipboard using Shift-Ctrl-C or Shift-Ctrl-X (by default) and to paste them all in a common place using Ctrl-V. To avoid possible problems, this mechanism is disabled if the user has redefined his key bindings for copy / cut and these use the Shift key - refurbished the mechanism used to limit the length of message lines and avoid too large message windows - updated the help and README files - fixed the width of the Properties dialog that could be too large with long file names - fixed a keyboard navigation issue in Xfe (set focus to the file list after some user actions) - in file lists, pressing the space key now selects the current item even if the mouse pointer is over the first column - improved keyboard navigation in Xfi - added a preference in Xfi to allow displaying the file list before the image - implemented vertical or horizontal stacking for image and file panel in Xfi - implemented vertical or horizontal file panel stacking in Xfe. The directory panel is always vertical - two floating point digits are sufficient for panel width percentages - removed the XFileView application (Xfv) because it can be replaced with Xfw using the read only mode (xfw -r) - added an option to start Xfw as read only (xfw --read-only, or xfw -r) Version 1.39 (pre-release) - search ignoring case is now the default in XFileWrite - added flac and torrent associations - added the trash size to the empty trash confirmation dialog - fixed a regression introduced in version 1.38 when displaying a message box - implemented natural sort order for file lists (thanks to Vladimir Támara Patiño, Martin Pool and others) - fixed a regression introduced in version 1.38 when fixing bug #187 - search results are now displayed faster when the number of items is huge - only display the wait cursor in file / search lists when refresh is forced - fixed the flickering problem that occurred on the search panel toolbar buttons - avoid sorting again the search list when nothing has changed - message texts are now displayed on three lines with a scrollbar if they are too long - fixed a problem when searching within folders with a lot of sub-directories and thus a long path lenght - in the Properties dialog, the path location is now displayed on several lines if it is too long - the maximum number of path links is reduced from 1000 to 128 because this has a strong impact on the startup time. But, Xfe does not crash if there are more than 128 sub-directories - fixed the drag copy operation when the destination has the same name: we now add a (copy) suffix like with the paste command - fixed a bug in File.cpp that occurred when trying to move a directory on a directory with the same name - all "operation cancelled" messages are now warnings instead of errors - association icons are now displayed in the Properties / Permission tab Version 1.38 (pre-release) - fixed a typo in fr.po (xfe --help message) - Xfe window is now shown a little bit earlier than before - added two new search options: no recursive, and don't search in other file systems (request #1852) - fixed a bug with copy to / move to / symlink to in search panel: now an absolute path is required - fixed copy to / move to / symlink to in double panel mode when using relative paths (bug #187) - added epub, fb2 and orb file associations for eBook support with fbreader as the default application - all file associations that are in the global xferc but not in the local xferc are copied to the local xferc. This allows to automatically add the new file types introduced into the global xferc - removed #ifdef FOX_THREAD_SAFE in FileList.cpp and DirList.cpp because they were never used - fixed a problem with the XrandR extension support in foxhack.cpp. Added stuff for this in configure.ac - some code cleanup in main.cpp, XFileView.cpp, XFileWrite.cpp, XFileImage.cpp and XFilePackage.cpp (we now use a new function getcommandOutput() instead of inline code) - fixed some issues when detecting the package format used by the system (Linux only) - fixed the bug in Ubuntu where character input was not possible if iBus was running. The way it is fixed is a dirty hack but it seems to work well now (bug #193) - fixed exec lines in xfi, xfp, xfv and xfw desktop files (Debian patch) - applied patches to the embedded xvt terminal (patches from Debian, thanks to Joachim Wiedorn ) - we now use a decimal basis for counting KBytes, MBytes and GBytes. This is what most file managers use - added the ability to create copies of a file with Ctrl-C / Ctrl-V. The copied file names have the suffix (copy), (copy 2), (copy 3), etc. (request #189) - fixed the error dialog that was displayed several times when attempting to paste files with the same name - fixed the paste command that did not work when one or several files were selected - fixed a typo in the french translation of XFileImage.cpp - fixed a problem in CommandWindow, where the object was not deleted after closing the window (bug #197) - added a Compare menu voice to the FilePanel and SearchPanel context menus. An external file comparator program can also be defined in the Preferences dialog. Default key binding is set to F8. It is possible to compare two files from the same file list or one file from the file list and another selected through a file selection dialog - fixed the 'ftheader.h not found' problem when doing ./configure in Ubuntu 14.x and derivatives (bug #192). Thanks to J. G. Miller - fixed warning messages with automake 1.14 - set focus to the search file text field when opening the search window and select characters (bug #186) Version 1.37 (released 24/11/2013) - fixed the search window to allow search directory name to contain spaces - fixed a bug in DirList.cpp and FileList.cpp where on some Linux distribution a message 'Mount point not responding' is wrongly issued with gvfs mounts - updated spanish and argentinian spanish translations (thanks to Martín Carr ) - updated italian translation (thanks to Giorgio Moscardi ) - now the file lists are ordered according to the locale. Thanks to Vladimir Támara Patiño for his nice patch. - updated czsech translation (thanks to David Vachulka ) - updated greek translation (thanks to Nikos Papadopoulos <231036448@freemail.gr>) - script dir entries are now sorted alphabetically. Empty directories are no more shown - when searching with thumbnails on, the images are now displayed at the end of the search. This is more user friendly - replaced the right arrow with the normal one when pointing on menu items - avoid showing hidden directories in the script menu - fixed failing script execution when the script path contains spaces - some code cleanup ('pathname' variable name instead of 'filepath', for consistency), removed unused focus in and focus out callbacks in SearchWindow.cpp - changed the way hidden files are handled in the search panel, because the old way did not work well. Now, there is simply a checkbox to let the user select if he wants to search within hidden files or not. The status bar of the search panel still has the thumbnails icon - fixed a freeze with thumbnails on and loading pipes - fixed some file list refresh problems when thumbnails are displayed - fixed wait cursor not displayed in file and search lists - thumbnails are now displayed one by one in file lists. This is more user friendly than displaying them all at once - applied patches from Debian (thanks to Joachim Wiedorn ) - updated brazilian portuguese translation (thanks to Phantom X - updated swedish translation (thanks to Anders F Björklund ) - updated german translation (thanks to Joachim Wiedorn ) - updated french translation - fixed a compilation issue in SearchPanel.cpp when Xfe is configured without startup notification - fixed a compilation warning on some systems in screen.c - search pattern now allows to search from text without the '*' character - fixed the look of the disabled clearlooks buttons in the search panel toolbar - fixed an occasional crash in the search window Version 1.36 (pre-release) - all ClearLooks hacks are now stored in a separate clearlooks.cpp file - radio buttons now have the ClearLooks appearance - menu titles now have the ClearLooks appearance - added a Go to scripts folder menu item to the Scripts menu item in search window - added an option to warn the user when setting the current folder in search window - added a Go to parent folder menu item to the search window - in search panel, disable toolbar buttons when nothing is selected - check buttons now have the ClearLooks appearance - fixed the way child processes are killed in CommandWindow and SearchWindow. Now, the whole group is killed and there is no more zombie processes - fixed the wrong color of the button corners with ClearLooks controls - code cleanup (use types FXlong, FXulong, FXuint, FXuchar for 32 and 64 bits architecture) - disable the UI buttons while searching files - fixed the stop button that didn't work correctly - make search list continuously scroll down while searching - fixed a bug when reading file names from the results of the find command - let the FileDialog in SELECT_FILE_DIRECTORY mode display also link to directories (fixed in FileList.cpp) - patched ttyinit.c for FreeBSD according to bug #176 - fixed some compiler warnings on Ubuntu 13.04 - updated the documentation to reflect the new search feature - added some search options: size, date, permissions, users, groups, empty files - fixed some glitches with the search panel - fixed a compilation bug under non Linux systems (bug #185) - implemented the context menu functions in search panel - set the initial search path to the panel current directory - fixed drag and drop from the search window - ported the search dialog (version from 1.33-devel) to the actual Xfe Version 1.35 (released 22/08/2013) - changed the default keyboard shortcut for Rename to F2, and for New file to Ctrl-N - updated the documentation to add a paragraph that explains the script functionality - for consistency, use the word "folder" instead of "directory" everywhere in the application, - added a Scripts menu to the file panel right click context menu. This allows the user to execute shell scripts on the selected files and folders, just like in Nautilus. The location of the script directory is ~/.config/xfe/scripts - added spanish colombian translation (thanks to Vladimir Támara Patiño ) - fixed a bug where copy / paste didn't replace a folder, but creates a subfolder (bug #183) - increased the maximum number of path links to 1000 and the maximum path length to 4096. This has no impact on performances and allows Xfe to better resist to very deep path trees (bug #184) - fixed keyboard shortcuts like Del or Shift-Del that didn't work when when CapsLock is on (bug #178) - now use -Wall for release compilation and thus fixed a lot of compilation warnings - fixed BSD compilation errors (thanks to Vladimir Támara Patiño and Pietro Cerruti)) - fixed a crash that occurred when selecting the last file of a file panel (bug #179) - replaced many sprintf() calls with snprintf() (thanks to Vladimir Támara Patiño) - updated swedish translation (thanks to Ingemar Karlsson ) - updated greek translation (thanks to Nikos Papadopoulos <231036448@freemail.gr>) Version 1.34 (released 11/02/2013) - date format is now the same everywhere (and can be selected from the Preferences dialog) - it is now possible to specify two start directories at the command line in Xfe. This can be combined with the --panels option to select the panel view mode. If no panel view mode is selected and two start directories are specified, then the two panels mode is selected by default - added a Clearlooks theme and modified the Human and Sea Sky themes - scrollbar color can now be changed - fixed wrong bordercolor in foxhacks.cpp - default audio and video apps are now audacious and mplayer - a middle click on selected files now opens the associated file viewer - when selecting file name in the symlink dialog, don't select the path - when selecting file name in the rename dialog, don't select the (last) file extension - add --as-needed to LDFLAGS in debian/rules - fixed a typo in help.h (patch from Joo) - added POTFILES.skip to the po directory (patch from Joo) - for xvt inside of xfe there is the need to configure xvt depending of the kernel. Adding some code for using with variants of the hurd system to ttyinit.c (patch from Joo) - set xpm application icons size to 48x48 instead of 32x32 (bug #3571058) - get rid of the unuseful Confirm Quit option - applied patch from gentoo maintainers that adds --enable-minimalflags (respect system flags as much as possible) to the configure script (bug #3598473) - fixed a bug in FXURL::encode() that prevented to paste files with a '%' character in their name (bug #3603196) - removed the sfx script, because it seems that nearly nobody uses it - now, when a directory is selected in file panel, paste send files in clipboard to it. And it is no more allowed to paste files when a single file (but not a directory) or several files / directories are selected in the file panel (bugs #3568004 and #3484709) - keyboard shortcuts now work when Caps Lock is on (bug #3568005) - Groupbox now have rounded corners when Clearlooks controls are used - Xfe main window has now a simpler, nicer layout - fixed several regressions in the dir history buttons and history lists - make last visited directory visible in FileList to avoid scrolling again to visit it - now the file and directory lists are not refreshed anymore when Xfe is minimized Version 1.33.1 (pre-release) - when only one file / folder is selected, display its name in the delete / move to trash dialog - code cleanup (int, long, FXlong, FXulong types) - the execution confirmation dialog is now only displayed with executable text files - fixed the timestamp that was badly generated in the startup notification process. Now firefox can be launched without UI problems - fixed a problem where the current directory was not correctly set when executing a file from a panel - fixed a typo in main.cpp ('--panel' instead of '--panels') - the three viewers xfv, xfp and xfi can now be closed with the Escape key (and still with the Ctrl-Q shortcut of course) - let xfe -pn (n=1,2, or 3) work to select the panel mode (thanks to miven) - simplified the FilePanel status bar information when only one file is selected (thanks to miven) - fixed a type cast in ttyinit.c - added support for tbz archives (another name for tbz2 or tar.bz2) - select the file name when renaming files, this allows to start typing right away without deleting previous file name - updated brazilian portuguese translation (thanks to Vinícius Moreira de Oliveira - updated czsech translation (thanks to David Vachulka ) Version 1.33 (released 08/08/2012) - updated xferc file - added an optional confirmation dialog when opening (or double clicking on) executable files - added an option to the Preferences dialog to allow settting the date / time format for file and directory lists - fixed a copy / cut problem when files are on different file systems - added dutch translation (thanks to Hans Strijards ) - added an option to the Preferences / Dialogs tab to allow bypassing a warning message display when date preservation fails - fixed missing translations in FilePanel.cpp and DirPanel.cpp Version 1.32.5 (released 06/04/2012) - updated the help dialog and the README file - fixed a bug with drag and drop, when dropping a directory to another directory with the same name - fixed duplicated shortcuts in the Bookmarks menu. Now, when more than 9 bookmarks are used, the new ones have shortcuts based on letters like a, b, c, etc. - fixed two missing shortcuts in polish translation - replaced all occurrences of PLACEMENT_SCREEN with PLACEMENT_OWNER, because the former can cause problems on multiple display machines - set focus to the active panel when invoking a bookmark action - added a confirm dialog to the clear bookmark menu item - fixed wrong icons in copy to, move to, link to and rename dialogs - fixed ld problem for ubuntu, which uses --as-needed by default (thanks to Joo for the patch). The patch replaces the $LDFLAGS variable with $LIBS in configure.ac - fixed wrong mimetypes in desktop files (thanks to Joo) - updated xferc.in file - added support for xz (and tar.xz) archive format, and removed rar, lzh and arj archive creation because they are rarely used on Unix systems. However, extraction of these archive formats is still possible, of course - fixed a crash in XFilePackage due to an inexistent tooltip string - updated greek translation (thanks to Nikos Papadopoulos <231036448@freemail.gr>) Version 1.32.4 (released 24/05/2011) - added new file types and icons for common font types - updated spanish and argentinian spanish translations (Martin Carr et al.) - added icons for Scilab file type (.sci and .sce) - fixed the duplicated new file icon in the File menu - updated czech translation (thanks to David Vachulka - replaced playmidi with timidity in file associations - fixed a memory leak in DirList Version 1.32.3 (released 22/03/2011) - fixed a regression related to the copy/paste problem between xfe and nautilus 2.30.1. This regression occurred because of the suppression of the last \n at the end of the clipboard string, thus breaking the mechanism used to retrieve each line of the clipboard. Now the problem is fixed. - fixed missing strings in the german translation (thanks to Joo ) - updated the documentation by adding some clarifications about the startup notification process - fixed an issue in configure.ac to allow compiling xfe with gcc 4.5.x - renamed configure.in to configure.ac - fixed several issues with drag and drop within, from and to the DirList. Now, DirList and FileList paths should be consistent. Also, when removing a directory outside xfe, the application should correctly update the DirList - now, xfe honors $XDG_DATA_HOME and $XDG_CONFIG_HOME for local Trash and local config paths - fixed a compilation issue when the fox library was not compiled with Xft - changed the way compilation flags are handled in the configure process. Now, if CXXFLAGS and CFLAGS are defined by the user, they are used. If not, then compilation options are defined according to the options passed to the configure script. - fixed a drag and drop problem between dolphin or konqueror and xfe - fixed a copy/paste problem between xfe and nautilus 2.30.1 (the file list had an \n at the end that prevented copy/paste from xfe to nautilus to work properly) - fixed a typo in XFilePackage.cpp - replaced oowriter, oodraw, etc. with the more conservative commands swriter, sdraw, etc. in xferc.in - fixed a nasty bug that occurred when trying to move a directory into itself or into one of its sub-directories - updated german translation (thanks to Jens Körner ) - added h++ and hpp file types to xferc.in - updated polish translation (thanks to Franciszek Janowski ) - changed the menu category of the Xfe application in xfe.desktop.in - updated brazilian portuguese translation (thanks to Phantom X Version 1.32.2 (released 20/09/2010) - renamed the EditWindow class to WriteWindow, for consistency - fixed the position of repeated error messages displayed during file operations : now the message windows should not move each time the user selects OK - fixed the way error messages are handled when something goes wrong in the copy / move /delete file operations - fixed the display of the deletion date, that was incorrectly set to one hour and one month in the future - added a message to warn the user (at the first launch) of an old Xfe version about the new configuration file location - the '~' character can now be used again in the 'Open with' dialog - don't display the panel active icon in one panel mode, because it is not relevant - removed double error messages when trying to copy / move / rename a file over itself - created symbolic links now have a path that is relative to the refered file - fixed the double error message in xfp that was displayed when the file format is unknown. Also added a wait cursor that is useful when the package size is huge - fixed a problem that occurred when testing the result of the pclose() system call, because of the harvest zombie mechanism which intercepts any terminated child process. This caused a bug in xfp (when opening a package) and xfe (when querying a package). Also fixed the query package mechanism, to be more clever when a file does not belong to any package - added document icons for Scribus (sla or slc extension) - fixed a bug in the "open with" history, where the last item was removed whenever a command was run. Also increased all history sizes to 30 instead of 20. - removed a confirmation dialog when removing / trashing a symlink on a directory - fixed a bug when copying / moving directories to a directory with the same name(ex : /A/1/file1, /A/1/file2 to /B/1, etc.) This should work as expected now. - fixed a crash that occurred when dragging a folder in big icon view (thanks to Sarkar Anjishnu for discovering and reporting this bug). The bug was introduced in version 1.22... - fixed a scrolling problem in the tree list when dragging a file onto it (thanks to Mathis Dirksen-Thedens for discovering this bug) - fixed a crash in Properties dialog that occurred when the df command comes from busybox instead of coreutils - removed the encoding key in desktop files. According to Joo Martin (Debian maintainer) it is now deprecated by the FreeDesktop standard. All strings are required to be encoded in UTF-8 inside desktop files. - updated german translation (thanks to Joo ) - added some new filetypes to xferc.in (thanks again to Joo) - applied patch from Joachim Wiedorn (Debian maintainer) that allows to compile Xfe with kfreebsd and hurd kernels (thanks to you Joo!) - new translation to chinese (Taiwan), thanks to Wei-Lun Chao - fixed a compilation problem with gcc 4.4.x Now the inline functions statrep() and lstatrep() are declared in xfeutils.h - updated russian translation (thanks to vad vad ) - new translation to bosnian (thanks to Pr. Samir Ribi and his students Bajrami Emran, Balagija Jasmina, Bilalovi and Omar Cogo Emir) - fixed the problem of the initial window position with window managers like icewm, openbox, etc. Version 1.32.1 (released 12/11/2009) - .sh and .csh files (i.e. shell scripts) are executed when double clicking on them, if they are executable - added support of ARJ archive format - for extraction of rar archives, replaced the "rar x" command with "unrar x", which is more common on Linux systems - fixed a bug that prevented to display the "+" sign correctly for some versions of the readdir() system function where the . and .. directories are not listed first - fixed a bug that prevented to display the "+" sign correctly in a directory list, when the file system type does not support dirent.d_type (e.g. reiserfs) - fixed a bug in File::mount() where an empty error message was displayed each time a file system was mounted or unmounted - fixed a crash bug related to FilePanel::onUpdPkgQuery() when selecting files in some cases - updated swedish translation (thanks to Anders F Björklund ) - fixed a problem when dragging a file over a symlink folder in a file panel. After dragging, the symlink icon was incorrectly set to the folder icon. This bug was already in version 1.19.2. - updated hungarian translation (thanks to Sipos Sándor ) - updated brazilian portuguese translation (thanks to Phantom X - fixed a potential problem in the startup_completed() function to avoid exiting Xfe when XOpenDisplay() fails. This situation arises in some Linux distros (Mandriva 2009, Opensuse 11, Fedora 10) when suing the root mode. I couldn't find the origin of the problem, which is not present on Debian Lenny, Ubuntu Jaunty, Fedora 11. Version 1.32 (released 19/10/2009) - modified script sfx.sh to add uninstalling of xpm icons - modified script makesfx.sh to add stripping of binaries - fixed a typo in the Makefile.am that prevented man files to be installed - added xpm icons to be compliant with the Debian Policy. Also changed the debian/menu file for the same purpose. - fixed the size of the su button in MessageBox.cpp - added CFLAGS configuration to configure.in - added a mechanism to prevent zombie processes when forking - removed the xfvt executable and integrated it in the code. This avoids a mostly unused executable into the Xfe package. Version 1.31 (pre-release) - fixed a segfault when viewing the Properties of an archive file - fixed a bug that prevented the folder history list to be updated when clicking on a tree item - fixed a bug in the folder history list : when the refresh button was clicked, the root directory was erroneously added to the folder history list - updated spanish translation (thanks to Félix Medrano Sanz ) - updated czech translation (thanks to David Vachulka - updated greek trabslation (thanks to Nikos Papadopoulos <231036448@freemail.gr>) - updated german translation (thanks to Joo Martin ) - updated the Xfe man page to add the directory URI capability - added a tiny terminal program xfvt (~55 KB, based on Xvt 2.1, by John Bovey) that is used in the root mode authentication. This allows Xfe to be independent from the terminal program installed on the system. Also used nohup to allow closing the terminal without destroying the Xfe window! Version 1.30 (pre-release) - fixed the error message displayed in root mode when the terminal program is not found - fixed an issue with the gvfs file system when Xfe is launched as root. For now, I choosed to disable the detection of this file system, but I must investigate about gvfs to understand what really causes the problem. - fixed a problem in Makefile.am that prevented performing several 'make dist' one after the other - fixed the file type in FileList.cpp when the file is a symbolic link that refers to a file with no association - several fixes in Properties.cpp related to startup notification - added a local option to the Properties dialog to disable startup notification for a given executable file - added a global option to the Preferences dialog to disable startup notification. This only affects the way applications are started from within Xfe. Note that, even if the option is disabled, xfe, xfi, xfv, xfp and xfw still indicate they have started to the window manager (provided that xfe was not compiled with the --disable-sn configure option). - added greek localization (thanks to Nikos Papadopoulos) - fixed some typos in strings - shell scripts can be executed again. It was not a good idea to avoid their execution in Xfe... Version 1.29 (pre-release) - in startup notification error reporting, we ignore errors related to X_SetInputFocus - when a SMB mount is performed when xfe is open, the smb hard disk icon is now correctly shown - when making a file panel active, we also want the directory panel point on the same directory - in message dialogs, the su button must not be displayed when the root mode is disallowed - fixed problems when reporting system errors using errno - fixed the sfx.sh.in script to correctly handle desktop files - some changes in Makefile.am to better handle po files and other config and script files - many changes in configure.in due to the use of intltool - internationalization of desktop files using intltool Version 1.28 (pre-release) - in FilePanel, display the "Open with" dialog box when a command is not found - added an option to disallow root mode (can be useful if xfe is deployed in a company, where root access is not allowed) - made a conditional compilation in src/Makefile.am, relatively to the startup notification compilation option - fixed malformed URIs when dragging files to another application. The correct form is for example file:///home/test/... - added an option to confirm trash operations. We now distinguish trash confirmation from delete confirmation. - fixed problems with file operation shortcuts when DirPanel is active - fixed a serious memory leak in XFileImage - in copy file operations, the progress window is now stretchable - when --disable-sn is used in configure, desktop files now have StartupNotify=false - fixed a bug in the location bar that in some cases displayed a malformed directory path instead of the correct one - the location bar can now open directories specified as URIs, like file:///home/test - now Xfe can open at the command line directories specified as URIs, like file:///home/test - added the forgotten xfeutils.cpp file to POTFILES.in - fixed a bug in positioning the xfv window (the position() function must be called *before* the FXMainWindow::create() function). Thanks to Joo Martin for discovering this bug. - fixed the allowTooltip variable that was not initialized in IconList.cpp - implemented a startup notification using version 0.9 of the libstartup-notification-1.0. Added a compilation option --disable-sn that allows to disable the use of the startup notification Version 1.27 (pre-release) - fixed a compilation problem when the FOX library is compiled without the --with-xft configure option (thanks to Claudio Fontana) - updated hungarian trasnlation (thanks to Sandor Sipos) - fixed a missing TAB in EditWindow.cpp (thanks to David Vachulka) - updated swedish translation (thanks to Anders F Bjorklund) - fixed some bugs in the file path sent by the Properties dialog to the chown and chmod functions - changed the way permissions are handled in the Properties dialog : now symbolink links are ignored when trying to change their permissions. However, it is possible to change their owner but the link are not followed. I also added special permissions (suid, sgid and sticky) with a warning message for the user about possible unsafe behaviour. - fixed a possible crash when the current directory contains no item (this could arise in some situations where the user does not have read access on the directory he is working in) - set focus on the panels when selecting/deselcting files with Ctrl-A, Ctrl-I, etc. - fixed a bug in Pathlinker, when navigating through directories where one name is used as the begining of an another name (ex: test and test1) - fixed a problem with truncated strings in the Properties dialog - now the Properties dialog is displayed before that the recursive size is computed - the wait cursor is no more useful - updated the help.h file and the associated french translation - added file size and modification time to the overwrite dialogs - trashed hidden files and directories are always shown in the trash can - updated the README and the help.h files - when copying and moving files/folder to the trash can (at the trash base location), also create the trash info file. - when deleting, moving or renaming files/folders from the trash can (at the trash base location), also delete the trash info file. But don't delete it if the file is located in a subdirectory in the trash can. - added a key binding for the View action (default is Shift-F4) - changed the confirm empty directory dialog inn FilePanel to use the same ConfirmOverwrite dialog as elsewhere - fixed a segfault in Properties.cpp when performing a chmod or a chown on a file without permissions : the file object was deleted too soon - added a cancel button to the ConfirmOverwriteDialog - fixed the progress dialog that annoyingly appeared behind dialog boxes when a file operation is interrupted - fixed a bug when updating the file panel context menu : the rename menu was not grayed out with multiple file selection - fixed several memory leaks due to the use of strdup() without corresponding free() Version 1.26 (pre-release) - fixed the cancel action in the Keybindings dialog : now, cancellation works as expected - added the total number of files and number of subfolders to the Properties dialog when the selection contains directories - changing permission or owner of a broken link is now done silently (no more annoying error message) - fixed the phantom trash menu when the trash can system is disabled - fixed a problem with the wait cursor that was not displayed over the file list in some cases - modified the trash can system to be more compliant with the Freedesktop standards. Now Xfe creates the info files where the original path and the deletion date are stored and displays the original path and deletion date in the file list and in the file tooltip. - fixed a problem with static variables in several classes - moving files to the trash can now creates the .trashinfo files, as required by the freedesktop standards Version 1.25 (pre-release) - added a Keybindings tab to the Preferences dialog that allows the user to interactively modify the key bindings - fixed a FOX bug in parseAccel() that prevented key bindings like Ctrl-F10 to be correctly interpreted - added the _ICONLIST_STANDARD icon list type to distinguish between file lists, serach lists and standard lists - fixed a bug in Preferences.cpp related to the show_mount_prev variable that was not correctly initialized. - added the onCmdHeaderClicked callback to the IconList. This is to allow the target object to get the message that the user has clicked on a header button. Version 1.24 (pre-release) - fixed a problem when trying to create the new config directory or the new trash location if the parent folder does not exist. To fix this, I added the mkpath() that creates the parent directrories if necessary. - fixed a non initialized variable (smoothscroll) in XFileImage - fixed a crash of XFilePackage, when opening a package. Since I removed in version 1.22 the icon->create() instruction from icons.cpp I had to add similar instructions to the XFilePackage::create() function. This works, but I don't clearly understand the origin of the problem. - changed the location of the Xfe config files and the trash can. The new locations are .config/xfe for config files and .local/share/Trash/files for trashed files. These are compliant with the Free Desktop standards. Note that at the moment, Xfe does not use the info files when trashing files. - removed the "TRASH" string from trashed file names. This string is indeed not really necessary. - fixed error dialog when copying files on a Windows disk and trying to preserve dates - fixed some untranslated strings in File.cpp - fixed the file filter history and made it retained when quitting Xfe - added a button to the FilePanel status bar for the file filter command - display the file filter string in red (and added this color as an attention color to the color theme) - french translation update - the copyright string is now in xfedefs.h - started to work on configurable key bindings for all apps - added a Shift-Tab keyboard shortcut to cycle through the panels in reverse order. Note it is only useful in tree and two panels mode - enabled again the keyboard shortcuts on the DirPanel because now we have a way to know which panel is active. Thus it is no more confusing to use shortcuts everywhere Version 1.23 (pre-release) - now shell scripts cannot be executed but are edited or viewed in all cases. This prevent to launch scripts by mistake. - fixed a problem where in some cases files could have an association but no file type - fixed a problem when navigating through the main menu using the keyboard : in one panel and tree panel modes, the right panel menu appeared as a "phantom" menu. Now it's fixed. - fixed a problem when cancelling a drag and drop operation: the operation is now globally stopped as it should be - avoid refreshing the directory size when when performing lenghty file operation (copy/move/delete, etc.) on a large number of files - some code optimization to improve performances when xfe lists files in a big FileList - improved xfe startup time by reducing the number of calls to FileList::listItems() to 2 instead of 6! - added a tooltip text for the active icon of each panel - when the path linker is not displayed (selected from the Preferences dialog), display a path text instead in every file list - stop refreshing the file list when performing lenghty file operation on a large number of files. This prevent flickering and speeds up a bit the file operation - fixed a severe performance issue when pasting a long list of files. This was because of the \r character at the end of the uri strings that I removed from clipboard string to be compliant with nautilus. I completely removed the \r character and tested copy/paste/dnd operations with nautilus, konqueror, thunar, dolphin, krusader, rox and pcmanfm. Everything seems OK now. - now Xfe tests if folders have sub-folders or not and displays the tree list accordingly Version 1.22 (pre-release) - all mounted file systems (including proc, sys, dev) now have the proper icon. Removeable media also have the file system icon and can be unmounted by the user if he has the correct permissions. - fixed the CXXFLAGS that was unappropriately cleared before compiling - fixed a compilation bug with gcc 4.4 (strstr now returns a constant char* instead of a char*) - fixed the terminal command string for root mode. This string must be included within quotes for some terminals to work as expected - added a Ctrl-l shortcut to clear the location bar and allow to directly enter text into the text field - fixed a memory leak related to the run and open ComboBox history - changed the clipboard content when copying file names from Xfe to a text application. Now, the full pathes of all the selected files are pasted, as it seems to be the standard behaviour Version 1.21 (pre-release) - added an option to let Xfi list only known image types - saving the window position when quitting an application is now optional. This is to be more consistent with the default behaviour of modern applications and window managers - fixed the confirmation message when deleting non empty folder. Added a Yes for All button to the message box. - replaced "foreground color" with "text color" in the Preferences dialog, because it is more informative - fixed some focus problems on the file list when clicking on an already checked toolbar button (or activating the button using a shortcut) - now in MessageBox, we can justify text and place icon as desired - the type-to-jump-to-filename feature now can be case insensitive, and is now coherent with the file list sort order - in panel cycling, made the selected item always visible when focus shifts to a panel - added desktop files to start Xfe and the related tools from the desktop menu - added translator names to the Xfe about menu - added a led icon to the panels that helps to distinguish which panel has the focus. Removed the old gray out mechanism - fixed the file list background color, because it was wrongly obtained from the main background color - fixed a serious performance issue with xfv and xfw when opening large files. This was due to the isutf8() function which was very badly coded (shame on me) - limited the scrollbar button size to barsize*2 instead of barsize/2 - some polish of the main windows - customised gui control hilite and shadow colors for better looking themes - added the rounded gradient capability (Clearlooks) to scrollbars, comboboxes, progress bars and arrow buttons - added the ability to overwrite existing directories during copy operation even when they are not empty Version 1.20 (pre-release) - disabled the root mode menus when Xfe is already launched as root - fixed the refresh bug in the DirList, when dragging a directory at a level up - changed the file permissions to rw when copying from a CDROM or a DVDROM (Linux only) - fixed a FOX issue in the FileList, where in row mode the scrolling was vertically instead of horizontally - fixed a FOX issue that prevented composed characters to be input when the mouse pointer is not within the text field - fixed a FOX issue in FXTextField that crashed some input dialogs when FOX was compiled with the --with-xim option - fixed a FOX issue in FXComposeContext that prevented any character to be input when FOX was compiled with the --with-xim option (to get support for composed characters) - added support for OOXML documents in xferc (thanks to Joo Martin ) - updated german translation (thanks to Joo Martin ) - fixed the "Jumping Jack Xfe" bug in DirPanel and PathLinker classes - some code cleanup in FilePanel : added the dirpanel variable to the constructor to gain access to the DirPanel class - 7zip archives are now handled by the standard 7z program. This also allows to decompress 7zip archives without deleting the archive file - updated czech translation (thanks to David Vachulka ) - updated swedish translation (thanks to Anders F Björklund ) - updated japanese translation (thanks to Karl Skewes ) Version 1.19.2 (released 01-08-2008) - changed default archiver program from file-roller to xarchiver, changed default PDF viewer from acroread to xpdf, and changed default PS viewer from evince to gv. These new defaults are more conservative and desktop independent. - added support for 7zip archive format (need the p7zip external program) - fixed some issues in the german translation - updated hungarian translation (thanks to Sándor Sipos ) - some code cleanup (remove of unused variables) - fixed a bug that prevented the panel "dirs first" option to be retained - fixed a problem with the default cursor when switching to double click mode (thanks to Cal Peake ) - updated spanish translation (thanks to Xuko Sky ) - updated japanese translation (thanks to Karl Skewes ) Version 1.19.1 (released 03-07-2008) - when right clicking in an empty place in the directory tree, display the panel context menu - fixed the normal color of Xfv, Xfw, Xfi and Xfp when they are started for the first time before Xfe. - workaround for a bug on Openbox window manager that caused Xfe and other applications to start at the first time with a hidden window bar. Now, we simply start at (50,50 instead of (0,0). Perhaps, an Openbox or FOX bug? - fixed a bug that prevented to rename a file or directory using the Properties dialog - fixed a bug with the path linker that caused a continuous refresh of Xfe and then a high CPU usage - added a new menu item to the file list to autosize icon names in icon view. - DirPanel options are now persistent and are stored in the DIR PANEL section of the registry - fixed the shortcut of the trash menu - removed most of the friend classes - also added these new items to the FileDialog and to Xfi - added new items to the Panel menu and to the popup menu, to be able to sort on user, group, permissions and deletion date - in detailed mode, fixed a problem with column darkening when sorting from the main or popup menu - changed all occurrences of the "filepath" variable to "pathname", to be more consistent for developments - improved the way the FileList is periodically refreshed. Now, we don't force anymore a complete refresh every 30 seconds as before, except when something really changed. This allows Xfe to avoid continuously refreshing the thumbnails. which is prohibitive when there are large images. - added a FILEDIALOG section the xfe registry in replacement of the "filedialog_*" options. Version 1.19 (released 11-06-2008) - fixed copy/move operations when dragging files to the tree list : we don't want to change the current directory to the target directory (thanks to Mathis Dirksen-Thedens for this tip) - updated swedish translation (thanks to Anders F Björklund ) Version 1.18 (released 05-06-2008) - in FileDialog and detailed mode, we also retain the size of each column - in Xfe, normal and text fonts can now be changed at the same time without restarting Xfe after each change - in Xfi, Xfw, Xfv and Xfp, the OPTIONS section of the configuration files is related to the application specific local options. The SETTINGS section is reserved for more general options, like for example FOX options. This is more consistent with the convention adopted for Xfe (the main application). - fixed a bug that prevented Xfi to retain its file list mode and its icon arangement - the file dialog now saves its state (size, list mode, hidden files, thumbnails, ...) between sessions and applications - updated japanese translation (thanks to Karl Skewes ) - fixed some typos and updated accordingly french, italian, brazilian portuguese, hungarian, czech and chinese translations (thanks to Claudio Fontana for discovering these typos) Version 1.17 (pre-release) - added the rounded gradient capability to toggle buttons - fixed the problem of GUI updating : now the GUI is only updated when the user interacts with the program. This significantly saves some CPU. - fixed the path link when hovering over a directory in the file or directory list - added support for extracting ACE archives (the unace program must be present on the system) - fixed some bugs related to the path linker - updated brazilian portuguese translation (thanks to Phantom X ) - added support for extracting ace archives - fixed the color of the engaged buttons when using the rounded gradient controls - in the archive dialog, now typing an archive extension automatically sets the correct archive format - added the new path linker to the file dialog and to the file list of Xfi. Removed the old DirBox from the file dialog. Version 1.16 (pre-release) - updated czech translation (thanks to David Vachulka ) - fixed the search and replace dialogs in Xfw, because there was problems with the rounded gradient theme - completely revamped the pathlinker feature. Now we display links as real buttons and we can go anywhere through the visited path. Also fixed the problem of the right most button used for Panel focus - updated chinese translation (thanks to li xin ) - updated italian translation (thanks to Claudio Fontana ) Version 1.15 (pre-release) - updated hungarian translation (thanks to Sándor Sipos ) - updated brazilian portuguese translation (thanks to Phantom X ) - fixed a crash bug that occurred when toggling the thumbnails button and moving to another directory - fixed the gradient button background color when the background color is not the base color Version 1.14 (pre-release) - updated brazilian portuguese translation (thanks to Phantom X ) - fixed a big memory leak when displaying thumbnails in the FileList : the X11 pixmap memory was not correctly freed - changed a bit the way the registry directories and files are managed. However, it should be transparent for the end user. The vendor key is not used anymore in the registry but it is still used during the application creation to set the WM_CLASS window property. - fixed the background color of the line and column numbers in xfv - added the TextLabel widget, based on FXTextField. This allows to have a different widget for the file operation dialogs Version 1.13 (pre-release) - added a rounded rectangle capability to FXTextField - added the FOX color theme to the Preferences dialog - FOX hack to optionally display all buttons with a nice gradient effect and rounded corners (thanks to Sander Jansen for the related code) Version 1.12 (pre-release) - improved the way the FilePanel popup dialog is displayed when using the Shift-F10 keyboard shorcut - added an option to display or hide the FilePanel path linker - we now use the .cpp extension for the source files, instead of .cc . This is to be consistent with the FOX library. - xterm is no more required for the root mode. Now, if xterm is not present on the system, we use the terminal program that is specified in the Preferences dialog. However, xterm is still the default and the user's terminal is only used as a fallback. This is because xterm has many options that can be used to nicely format the user dialog. - updated chinese translation (thanks to xinli ) - fixed a small problem in file operation dialogs with the size of the command message. Now, we adjust the message size by taking into account the real font size. - fixed a regression in FileDialog where the ICONLIST_AUTOSIZE directive was ignored - in file dialogs , fixed foreground, background and highlight colors in detailed mode - compiling in debug mode does not set the -O2 flag - additional review of the french translation. Fixed some issues. - added new selectable default programs in the Preferences dialog : PDF, audio and video viewers - removed the wheel lines option in Xfw. It is indeed redundant with the same option in Xfe - fixed the smooth scrolling and wheel lines options in Xfp, Xfv, Xfw and Xfi - fixed a small bug in XFilePackage where the window size was not saved after clicking on the close button - in the xferc config file, the OPTIONS section is now reserved to xfe specific options. Other options that are common to all four applications are now saved under the SETTINGS section of xferc. Nothing changed in other config files. Note : when reading the xfe registry from Xfv and others, generic FOX options like wheellines, selbackcolor, etc., are automatically read from the xferc config file. Specific options like single_click, file_tooltips, etc., must be read explicitely. - file dialogs now retain their size, mode and also the hidden files and thumbnails state - work done to have a better consistency between file dialogs and file operations (concerning the file/folder selection mode) Version 1.11 (pre-release) - fixed a problem when resizing the size column (the right justified one) in detailed mode - implemented optional relative resizing of panels and columns in file list detailed mode - added japanese translation (thanks to Karl Skewes ) Version 1.10 (pre-release) - fixed the file dialog associated to some file operations (rename, open with, add to arch, etc.). Thanks to Karl Skewes who discovered these bugs. - fixed problem when renaming the last file of a list to a different directory - fixed problem when renaming a file or folder located on a mounted volume - removed DirListBox.cc from POTFILES.in - fixed a problem when opening new windows in XFileView and XFileWrite : now the new window size is the same as the last opened - fixed a regression in the Properties dialog, when multiple files are selected - fixed a bug that occured when resizing the panels using the splitter - added the reverse order menu item to the main Panel menu. This one was missing for some obscure reason. - updated hungarian translation (thanks to Sándor Sipos ) - in FilePanel, don't select the first item (the parent directory) with select all or select inverse - for consistency purpose, also added a similar panel context menu to the DirPanel. - in FilePanel, the panel context menu item is now a submenu. It should be more usable like this. - new complete KDE icon theme - new partial tango icon theme - new partial XFCE icon theme Version 1.09 (pre-release) - fixed a bug that prevented dragging files from Xfe to the ROX filer or desktop - fixed a bug that prevented unmounting removable file systems after executing some copy/move/extract/etc. function in Xfe (this was related to the chdir performed before some operations) - in FilePanel, the starting directory of the extract to command is now set to the home directory - added an option to avoid displaying tooltips in the FileList or DirList - display again some information in the status bar when only one file is selected. This useful when navigating using the keyboard - allowed again file names without extension to have their icon (there is still a problem with file names like zip or cc, but I have no solution for them at the moment) - allowed again empty file names in FileDialog (why did I remove this feature in version 1.07?) - fixed a bug when dragging files to the FilePanel : the Pathlinker was not refreshed correctly - fixed a bug when copying/pasting/renaming/symlinking or dragging a directory in the DirList : now we correctly display the target directory Version 1.08 (pre-release) - added a patch from Tomas Kolousek that adds an option to force a panel mode from the command line. Thanks Tomas! - added stuff in configure.in to handle the problem of the Xft support in FOX library. One can now compile Xfe even if FOX has been compiled without Xft support - fixed a problem when working with filenames that contain characters like ' " $ \ etc. (thanks to Glynn Clements ) - fixed a bug with single click in the FileList when horizontally scrolling the list - disabled the focus file list and dir list refresh mecanism introduced in version 1.06 : it has serious refresh problems when the listed files are modified and xfe has not the focus Version 1.07 (pre-release) - fixed a pointer problem in the function isEmptyDir() of File.cc (thanks to Tobias Ulmer) - single click file and directory open options are now completely independant - added a new panel context menu item that allows to open the panel context menu. The old control right click way is still there. - disallow empty file names in FileDialog (Note: can't remember why I did this. So I cancel this in version 1.09) - added error dialogs when nothing is entered in an operation dialog - fixed problems with some error dialogs when errno is not set - fixed the refresh problem of the FileList when moving a dialog upon it (added the isOdd() function to the IconItem class, thanks to Alain Ducasse for the tip) Version 1.06 (pre-release) - when sorting files in the FileList, if option Directories first is checked, then directories are always displayed on top of the list. This seems indeed more convenient. - modified browse input dialog to distinguish between the cases of single and multiple files selections - added a menu item to create a new symbolic link refering an existing file or directory - added an option to set the smooth scrolling on/off in the Preferences dialog. This is only valid for file lists. - added two menu items in the Tools section : one for synchronizing the two panels (i.e. being at the same directory in both panels) and the other for switching directories between panels - fixed a bug in the main Makefile.am that prevented 'make distclean' to work properly - limited the size of the file operation dialog messages when long file names are used - fixed a bug in the Preferences / Programs dialog where the archiver browse dialog was wrongly related to the image viewer - fixed problems with the progress dialog and the error dialogs in file copy/move operations - added an error message in xfi when trying to load a corrupted image file - fixed a crash bug in xfi that occurred when clicking on a non image file after a valid image file had been loaded - updated the xferc.in configuration file (thanks again to Joo Martin ) - updated again german translation (thanks to Joo Martin ) - replaced file names double quoting with single quoting - fix a bug in the File::archive() method : an existing target was not correctly detected - do a better refresh of the file list : when xfe has not the focus, we don't perform a complete refresh of the file list, but only a refresh when files or directories have changed. This should save some CPU. (Note: removed later in version 1.08) Version 1.05 (pre-release) - fixed compilation warnings with gcc 4.2 related to string constants - updated german translation (thanks to Joo Martin ) - updated czech translation (thanks to David Vachulka ) - updated brazilian translation (thanks to Phantom X ) Version 1.04 (released 04-09-2007) - changed 'pbar' to 'progressbar' and 'pdialog' to 'progressdialog' for legibility in File.cc, FilePanel.cc and DirPanel.cc - updated Chinese translation, thanks to Li Xin - added the deletion date to the TreeList tooltip, when the directory under mouse is in trash can - changed the way root directory sizes for TreeList and IconList tooltips are computed : the performances should be much better now - removed the Save Settings menu of Xfi because settings are now automatically saved - when cancel is pressed in the More Preferences dialog of Xfi, all options are now reset to the previous values - when cancel is pressed in the Preferences dialog of Xfe, all options are now reset to the previous values Version 1.03 (pre-release) - fixed some strings displayed when selecting icon or program files - updated the README and help.h files - fixed the selection of the icons theme directory in the Preferences dialog - fixed a small regression when selecting directories in FileDialog in Copy to, Move to, Rename, etc. - some cosmetics in the Theme tab of the Preferences dialog - changed the default icon theme to gnomeblue and also changed the default base color to something lighter - icons files that are the same between different themes are now handled using symbolic links. This avoids wasting disk space and is more easy to maintain in the source tree Version 1.02 (pre-release) - improved the way a directory is selected in FileDialog : in an empty directory, if we hit OK then we get the current directory instead of doing nothing - fixed a crash bug in XFileImage, because the numsortheader variable was not initialized in IconList - when using the directory back, forward and up commands, the focus is keeped on the current tree or file panel - in DirList and single click mode, navigating with up and down arrow keys do not expand directories anymore - in FileList, maintain the folder icon open when displaying the drag and drop menu - the drag and drop dialog is now optional - updated czech translation (Thanks to David Vachulka ) - fixed some strings in the french translation - fixed an incorrect string when deleting a non empty directory - changed the buffer size in copy operation from 4096 to 16384 bytes. This slightly improves the performances. - in DirList, maintain the folder icon open when displaying the drag and drop menu - fixed the open icon of a link folder that was not shown when dragging in DirList - some cosmetics on the FileList tooltip - added more informations to the tooltip displayed when hovering on an item in the DirList - when scrolling with pgUp and pgDown keys in FileList, the selection now follows the scroll - colored the sorted column as in many file managers - added the new class IconList because the corresponding FOX class was too hacked Version 1.01 (pre-release) - in single click mode and detailed file list, the hand cursor now only appears when the mouse pointer is over the name column - added an option to confirm the deletion of empty directories - fixed a crash bug when moving the last file of a panel to another place - fixed an issue with the size of the file operation dialogs. Now, the dialog size should be more adjusted to the text. - now the size and sort function of the file list columns in XFileImage are saved between sessions - fixed some typos in the french translation (accents) - added an icon to each non modal window - fixed a typo in the french translation - used addAccel() instead of hidden buttons for some shortcuts - fixed the french translation of the help menu that disapeared - removed the "Show hidden folders" menu in the View menu because it is confusing when the tree list is not displayed - fixed an issue with the include path in src/Makefile.am (thanks to Antoine Jacoutot) Version 1.00 (released 16-07-2007) - adjusted the makesfx.sh and sfx.sh scripts to reflect the rename of Xfq and to allow uninstalling the FOX libraries - fixed a bug that prevented the use of the open command on multiple files - added Chinese translation, thanks to Li Xin - added support for sshfs file system. Normally, this should work now without translating the uids and gids. - fixed another regression in the update status function of the FilePanel class (refered links were no more displayed) - fixed a regression in the update status function of the FilePanel class (crash when Tab pressed in two panels mode) - fixed a bug with the associations of file names with capital characters and no extension (in FilePanel.cc and in Properties.cc) - added two default programs to the Preferences menu : image editor and archiver - made help window to be non modal - last (or first or new, depending on the file operation) selected item is now enabled after the operation. This facilitates keyboard navigation. - both color and icon themes now can be changed at the same time - added blue and brown icons themes (thanks to Dean Linkous ) Version 0.99.8 (pre release) - fixed a problem with the CommandWindow when executing a command that return nothing - updated help and readme files - changed the way that icon themes are selected. This should be more intuitive now. - added a new "Extract to folder" menu for archive extraction - fixed a crash bug that occurred when displaying properties of a mount point on a crypted filesystem - renamed XFileQuery to XFilePackage (which is more appropriate) anq Xfq to Xfp - simplification of the bookmarks menu code in XFileExplorer - fixed a regression in the Preference dialog, where some options that need restart were no more retained - synchronized file associations between different Xfe instances. However, for icons to be immediately updated it is necessary to click on the toolbar refresh button. Version 0.99.7 (pre release) - fixed several bugs in PathLinker that prevented correct display of the path buttons in some cases - synchronized bookmarks between different Xfe instances - fixed a small bug in DialogBox, where hitting the return key didn't activate the OK button - added Ctrl-W hotkey to each app. This shortcut closes the window. Replaced the Ctrl-W (Zoom to fit Window) in Xfi with Ctrl-F. - removed the quit buttons in each app. I think it's not necessary. - fixed a bug in the FilePanel : when using the "open with" command, at the second time the wait cursor was always open - fixed drag and drop when dragging into directories in Xfe : the directory where we are dragging from is now displayed after the drag menu appears - added copy/paste scheme to the search / replace dialogs in Xfw. Fixed a bug in the search for selected text menu items - major Xfe code reorganisation : now the file management routines are located in the FilePanel and DirPanel classes. Toolbar buttons and main menu items are now relative to the file panels only. The directory panel only uses the right click popup menu for his file operations. This is more consistent whith the way other file managers operate. Version 0.99.6 (pre release) - added a file browse icon to the open with and execute command dialogs - better consistency in the FilePanel status - added more informations to the tooltip displayed when hovering on an item in the FileList - now, when nothing is selected in the file panels, the delete menus, buttons and keys are disabled. However, the user can still delete a directory in the tree panel by using the right click menu. This avoids possible manipulation errors when using the delete keys. - translation of the help dialog to french, thanks to Claude Leo Mercier for his help () - split of the main toolbar in two smaller ones. This allows to better display toolbars on a small screen. - fixed a problem when copying broken links - fixed a crash bug in the help dialog - added an option in PreferencesBox to adjust the mouse scrolling speed and redesigned the Preferences tabs - toolbars can now be docked on each side of the window - now enable (not select) parent directory when entering a new directory. This improves usability when browsing using the keyboard. Thanks to hudsucker for the patch. - added a context menu to the FileList in XFileImage - added the ability to copy/paste text between most dialogs in all applications Version 0.99.5 (pre release) - added swedish translation (Anders Björklund ) - added the ability to copy/paste file names between the FileList (or DirList) and dialogs. I have chosen to only keep the first file name of the clipboard contents. - in root mode, obtain the correct background and foreground xterm colors - I realized that the directory size in detail panel mode is not useful, so I removed it Version 0.99.4 (pre release) - added the ability to use sudo instead of su for the root mode. This allows Ubuntu users to use the root mode, and sudo is more versatile than su. - FOX hack to display non UTF-8 file names (e.g. 8 bits) correctly. A warning message is displayed in file dialogs when the file name is not in UTF-8. It is possible to copy/move/rename files with non UTF-8 file names but string manipulation into the text field is ugly. This is due to the fact that FOX 1.6.x don't directly support anymore 8 bits strings. Version 0.99.3 (pre release) - fixed a problem when testing if the distribution used in Debian based. I tested the presence of "apt-get" but it seems more appropriate to test the existence of "dpkg" on the system - fixed a bug in xfv : the position and size of the window were not saved when closing the program using the cross icon on the window - replaced the create archive dialog with a (hopefully) more intuitive one - replaced the DirlistBox with a FileDialog (more powerful) when extracting archives - added the ability to browse files for selecting destination in file operations - now supports symlink on a multiple selection - fixed the F5 shortcut which is now attributed to "copy to" like in most file commanders - added Brazilian Portuguese translation (thanks to Jose Carlos Medeiros ) - added a popup menu to select the drag type (copy, move, link or cancel) when dragging file(s) to Xfe Version 0.99.2 (pre release) - added the ability to click on the panel title to set the focus on it - fixed an issue when opening a new Xfe window : the starting directory was not always the home directory as it should be - added clipboard support to Xfe : we can now copy/cut/paste from and to Nautilus (Gnome Desktop), Konqueror (KDE desktop) and Thunar (XFCE desktop). Copying and pasting from and to any file manager that uses the standard text/uri-list type should also work. Version 0.99.1 (pre release) - fixed a problem with Matlab file icons in xferc.in - updated and fixed the french translation - reintroduced the filter indication in FilePanel. It was lost since the introduction of the path link widget. - fixed a bug in Xfw, Xfv and Xfq where black lines were displayed as highlight color in FileDialog - updated czsech translation (thanks to David Vachulka ) - added a copy menu / toolbar button to XFileView. This allows to copy text between xfv and any other editor. Version 0.99 (released 12-03-2007) - fixed missing su dialogs when trying to create a new file or folder in FilePanel and DirPanel - updated to gettext 0.16.1 - added the image size (in pixels) to the XFileImage window title - upgraded configure system to automake 1.9 - added an option to XFileImage to allow fitting the image to the window when opening - changed the reverse order button in dir panel, it is now a check button - re-introduced the reverse order option in the file panels, because it is necessary in icon modes - added an option in the file panels that allow to sort file and directories without separating them - fixed a bug when trying to enter a read only directory in FileDialog and XFileImage - the registry was not updated in some cases in the Preferences dialog - changed the cursor to a hand when browsing using a single click - added options to allow single click file and directory open in FilePanel, FileDialog and XFileImage - file copy operations now keep the original date of the input files or directory (although it is not the default in the Unix /bin/cp command, it is the default in many file managers, and it is more useful from the user point of view) - fixed a crash bug when creating a link to the / directory - fixed typos in cleanPath() and filePath() - fixed a small typo in Preferences.h - fixed a bug that prevented settings to be retained on Mac OS X (and other systems?) - updated czech translation (thanks to David Vachulka ) - updated deutsch translation (thanks to Joo Martin ) Version 0.98.2 (released 20-02-2007) - added stuff to create a self extracting package. The user can type sh xfe-0.99-i386.sh to install Xfe to /usr/local - added a Windows icon theme - converted ru.po to UTF-8 - fixed a crash bug whith the FileDialog when associating a program to a file (the StringList pointers were not defined because setDirectory() was not called) - fixed a bug with the progress bar when copying files of size > 4GB. The percentage was not correctly displayed. - removed the statout() and lstatout() functions that were too slow on a computer with a lot of NFS or Samba mount points. They are replaced by statrep() and lstatrep() that are faster. The timeout for down mount points is now 30 seconds (this is the default timeout of stat() and lstat() on Linux systems), and the mtab is checked every 5 seconds. Up and down mount points are now refreshed every 5 minutes. This change should make Xfe more responsive in the general case, but less reponsive when some mount points are not respondind. This is the tradeoff... - replaced exit() by _exit() in every fork child Version 0.98.1 (released 13-02-2007) - I realized that xfe could not be installed by a non root user because of the /etc/xfe/xferc configuration file location. So I decided to move this file to $prefix/share/xfe/xferc which can easily be customized by a user that wants to install xfe in a non system place. - fixed a bug in pkgInstall() that prevented packages to be installed when xfe is started from a directory which is not the same as the package directory - converted most of po files to UTF-8 - avoid zombies by using system() instead of execl() in the runcmd() function - added the forgotten pclose() in main.cc and XFileQuery.cc that produced a sh zombie - fixed a bug with diacritic symbols when the locale is not set to UTF-8 (thanks to David Vachulka for this improvement) - added a recent files list to xfv - xfw and xfv can now manage 50 windows instead of 20 - fixed a bug in XFileWrite where the window menu didn't show the active window (this was related to the keyboard scrolling on popup menus) - in the FilePanel context menu, it is now possible to edit and view multiple files - xfw and xfv can now open multiple files from the file dialog box - xfv is now able to view multiple files Version 0.96 (pre-release) - fixed a bug where mount point /dev/.static/dev is not responding (however, not an xfe bug!) - fixed a bug in the toolbar big/mini/details icons not properly shown - updated OpenOffice.org and MS Office file types - fixed a translation bug : the CommandWindow class was not translated - added an XFCE4 color theme - made the file list highlight color a standard part of color themes - some cosmetics in XFileQuery - fixed a crash bug in XFileQuery due to icons that were not correctly created. Added icon->create() to loadiconfile in icons.cc and to createData in FileDict - fixed a bug in XFileImage when loading an unsupported image file - implementation of the back and forward history in the FileDialog - implementation of the back and forward history in the FileList - some code cleanup in classes FileList and DirList Version 0.95 (pre-release) - fixed a bug where the WaitCursor was not closed in some cases - fixed a bug with FXTextField when displaying the InputDialog : now the dialog should have the correct width. - changed the way the open command is handled. Now multiple files having the same association are handled simultaneously. It thus should be easier to queue files in xmms, for example. - added a Trash menu to reduce the file menu. When the trash is not used, the trash menu is not shown - added enable-release and enable-debug to configure options - small hack to the FXTextField class to allow to copy/paste with the mouse on the file operation dialog - some cosmetics on the Properties dialog and on the XFileWrite preferences menus - fixed a bug in the status bar of the Filepanel when displaying the usr, grp and size of the file Version 0.94 (pre-release) - fixed a bug in the FileList with drag and drop - allowed sorting by file permissions - added a Go to trash button and menu item - added a deletion date column when displaying the files in the trash can. This allows to sort against the deletion date. - changed the way the deleted files are tagged - added a working print command to xfi - icons are now loaded from the disk at the application start. This allows the user to easily change the default icons. Version 0.93 (pre-release) - added a working print command to xfv and xfw - added version number on the about dialog of xfq, xfv, xfw, xfi - added an extension column to the Filelist. It is useful for sorting files based on the file extension Version 0.92 (pre-release) - updated the help text and the man files - added a new app : X File Write, a simple text editor, derived from the FOX text editor Adie, however much simpler It is used as the default editor for Xfe. - some cosmetics in the Preferences dialog - fixed a bug in the Properties / File association dialog that prevented to change the icons for tar.gz and tar.bz2 file types - fixed a bug in the Properties / File association dialog where all files were uncorrectly found as archives - the default editor, text viewer and image viewer now can be changed in the Preferences menu Version 0.91 (pre-release) - removed the static linking option (not compatible with the configuration changes) - updated the README and help files - changed the trash location to ~/.xfe/trash - changed the config file names to xferc, xfirc, xfqrc and xfvrc - changed the filetype icons directory to /usr/share/xfe/icons - changed the config directories to /etc/xfe (global) and ~/.xfe/config (local) Version 0.90 (pre-release) - fixed the static linking issue - fixed a compilation warning (dereferencing type-punned pointer...) - added a small hack of the FXPopup class that allows to navigate with the keyboard in context menus (right click) - fixed the problem of the '^H' when dealing with rar archives - changed the default editor from nedit to xedit (default for XWindow systems) - hide the redundant location label in one panel and tree panel mode (thanks to a patch by Anders F. Björklund) - added support for Debian packages in Xfe and Xfq (thanks to a patch by Anders F. Björklund) - for Linux systems, added the ability to unmount (as root) file systems that are only listed in /etc/mtabs - fixed a bug that prevented to mount/unmount file systems with spaces in their name - cosmetic change on the overwrite box : changed the buttons position to be consistent with others - added an optional command that allows to bypass the trashcan for permanent file deletion - added a Ubuntu Human color theme (thanks to a patch by Anders F. Björklund) Version 0.89 (pre-release) - slight modification of the suffix of the deleted file to improve legibility - added a drag corner to the applications (Xfe, Xfv, Xfi and Xfq) - in the permission dialog, when the recursive mode is selected, added the ability to select between "File and folders" or "Folders only" or "Files only" - fixed a problem when displaying the file permissions in the file list. The FOX function FXSystem::modeString() seems to be not compatible with the standard st_mode format - port to FOX 1.6.0 - fixed a small typo in the German translation Version 0.88 (released 02-07-2006) - now the global Desktop file is copied to the local registry ~/.foxrc/XFileExplorer/XFe at the first launch of Xfe (or if the file doesn't exist). This allows the user to easily edit the Xfe file to suit its needs. - improved the performances on Linux systems when computing the dirsize (not recursive) of the root ('/') directory by avoiding to scan the mount points (could be time consuming on a slow network) - for archive operations use the directory name as a starting guess for the archive file name - removed a lot of global variables (global options) - added two new color options (foreground / background) for the file and dir lists in the Preferences/Colors dialog. The foreground (font) color and the bacground color of the file and dir panels can now be set independantly of the global interface Version 0.87 (pre-release) - temporarily disabled the print menus in XFileView and XFileImage because they were not implemented at all! - when dragging files from a read-only directory, converted the move action to copy (useful when dragging files from a cdrom for example, thanks to pechkov for the tip) - major update of the Desktop file (now only uses lower case file extensions) - added more file associations and icons (OpenOffice, StarOffice, etc.) Thanks to Vidar Jon Bauge ! - added a specific icon for broken links and fixed a small bug relative to the status bar in FilePanel - added russian translation (thanks to Dmitij Lebed - added danish translation (thanks to Vidar Jon Bauge ) - fixed a problem when creating a file or a folder with Xfe : umask was not respected. Thanks to marvin6161 for providing a patch - fixed a segfault when right clicking in the DirPanel on a mount point with permission 700 Thanks to marvin6161 for providing a patch - fixed a segfault that sometimes occured when dragging a file to the directory list - fixed a problem with supplementary groups not taken into account (thanks to Armin Buehler for providing a patch) - updated to gettext 0.14.5 - fixed some problems with executable file names like zip, cc, etc. Now, they should be handled correctly - now there is no more difference between upper case and lower case file extension - set the big icons and mini icons views in ICONLIST_AUTOSIZE mode to avoid file names truncation - updated Italian translation (thanks to Claudio Fontana ) Version 0.86 - added norvegian translation (thanks to Vidar Jon Bauge ) - added a waitpid call in statout(), lstatout() and mt_lstat() to avoid zombies processes - the directory size is now periodically refreshed instead of updated every FOX event. This allows Xfe to be more responsive. - renamed function dirpath() into pathsize() in File.cc - added the possibility to cycle through the three panels when the right panel is shown - restored the "one panel" and "tree and two panels modes" since some people find it useful Version 0.85 (pre-release) - fixed a problem when archiving directories with escape characters in their name (thanks to Luc.Habert@ens.fr for discovering and patching this bug) - fixed a bug in checkTimeout() and removed the test on now.tv_sec - added .wri and .dpatch extensions to Desktop.in - fix compilation on amd64 platforms with gcc-4.0 (patch from Andreas Jochens) - added the "New window" menu item to allow starting a new Xfe session from the actual window - set the KDE and GNOME themes more actual and renamed them to GNOME2 and KDE3 - replaced the mini file manager icon with a better one (thanks to antonix ) - replaced the zip file icons with better ones (thanks to antonix ) - fixed problems with the German translation (broken shortcuts) Version 0.84 (released 06-27-2005) - fixed a bug when dragging files from Gnome (or other desktops?) to Xfe. The number of files was incorrectly set to n+1 instead of n. - fixed a small regression that occured when trying to copy or move a directory to a place where a directory with the same name already exists - simplified the source tree to reduce the compilation time Version 0.83 (pre-release) - modified the layout of the permissions tab to be more intuitive (first permissions, then owner, and finally command) - added button "Owner only" in the permissions tab to allow chown only operations - fixed a bug in chmod and chown operations when trying to recursively change permissions on a single folder - new Debian package icon - when multiple files are selected, the default for Properties/Permissions dialog is now "Set marked". This is more consistent with the single selected file case. - updated xfe.spec.in to reflect FOX 1.4.x support - changed executable files icon - added Windows EXE icon - added Ctrl-W shortcut to the Quit button - changed the font in Help window to text font (improve readability) - changed delete and empty trash icons, for consistency - fixed a problem when moving a file and that file already exists : only one overwrite dialog should appear. Fixed the File::move() function in the File class. - updated the README and help.cc files - implementation of the trash can for file delete operations - fixed a small bug in exists() function that prevented broken links to be deleted Version 0.82 (pre-release) - added an API ::stampname() to prepare file deletion to trash can - in FilePanel, deselect the '..' item when the popup menu is displayed - revisited the refresh strategy : file operations should be faster now! - revisited the problem of moving files between different file systems : now a progress bar is correctly set up in this case - added support for drag and link operations (binded to ctrl + shift + mouse left button) - fixed the panel and dirpanel navigation with the keyboard. It is now possible to cycle the panels with the Tab key and select any file or folder (with FOX >= 1.4.16) - replaced all occurrences of access() with isWritable() isLWritable and isReadExecutable(). This is to use our statout() and lstatout() functions with timeout on Linux systems. - added or updated the following translations : pt_PT (Miguel Santinho), de (Tim Benke), es (Martín Carr), hu (SZERVAC Attila). Thanks to these people! - now uses the identical() function to test if source is identical to target. This allows the test to also work on case insensitive filesystems (thanks to Bastian Kleineidam) - replaced all ocurrences of ::exists(dequote()) with ::exists() because of problems with file names such as 't\\\est' - fixed the WM_CLASS name. It is now set to "XFileExplorer" and it is also the vendor name. Now, Xfe configuration files are located in the .foxrc/XFileExplorer directory - added an option to display or not the mount/umount success messages (thanks to pechkov) - replaced all occurrences of strcmp() with streq() (thanks to Francesco Abbate) - a manual refresh now triggers an update of the mtdevices and updevices lists - fixed a bug in File.cc when renaming or moving a file on a FAT partition : if source and destination file names were the sames (on case insensitive file systems), the file was deleted - fixed a bug in FilePanel.cc in onUpdMount and onUpdUnMount functions. The mount and unmount buttons were not grayed out in the correct way - fixed a bug in File.cc in function dirsize that caused directory listing of / to be very long - now Xfe warns at startup about mount points that are not responding - speed up file listing when we are in a smb or nfs mount Version 0.81 (pre-release) - fixed bug when deleting a link file that refered on a file without write permission - fixed a bug when copying files without permission from a directory to another - fixed the file path in the clipboard when the file or directory to copy is in the root tree - added a label with path name to the Xfi file list - fixed the directory used when opening files in Xfv, Xfq and Xfi - replaced strcpy() with strlcpy() to avoid possible buffer overflows (thanks to serj@varna.net for this tip). - updated the french translation - some minor changes in the copy to/move/symlink procedures - fixed a crash bug when right clicking on a mounted directory without write access - added new context menu item in DirPanel "Reverse order" to reverse the directory sort order - removed unuseful "expand dir" and "collapse dir" popup menu items in DirPanel - refreshed DirList code using FXDirList as a model - replaced sprintf() with snprintf() to avoid possible buffer overflows (thanks to serj@varna.net for this tip). - the main cursor was redefined to be the standard X Window cursor. This is now fixed. - added icons and tooltips to the Debian menus Version 0.80 (Released 04-19-2005) - Added the stuff (in the 'debian' directory) to allow creating a debian package - Completed the four man files - Updated french translation - Cleanup of the AddToArch and Extract functions - Added support for RAR and LZH archive format (the rar and lha programs must be present on the system) - Fixed the extract menus in FilePanel to only display 'Extract here' with .Z, .gz or .bz2 compressed files - Removed the absolute path of archive commands because it is not standardized on Linux distributions. Now, we assume that archive commands are in the path - Deselect the '..' directory for file operation - Added check and radio buttons to the FilePanel context menu - More code cleanup in XFileExplorer.cc and FilePanel.cc (more separation between the two) Version 0.79 (pre-release) - Fixed some keyboard shortcuts in Xfe, Xfi, Xfq and Xfv - Some code reorganization in FilePanel.cc and XFileExplorer.cc - Thumbnails state is now saved in Xfi - Changed the way icons are scaled when thumbnails are activated. Now, we don't use a tmp file anymore - Fixed the mount/unmount menus and buttons. Now, the unmount button is grayed out when a filesystem is mounted, and conversely. - Allow to mount/unmount from the FilePanel Version 0.78 (pre-release) - Menu items now are grayed out when only ".." is selected - Added an "Extract here" command for archives to the FilePanel context menu - Code cleanup in FilePanel.cc (replaced some char * with FXString) - Hide the dialog that appeared below the progress bar when moving files between different file systems - fixed a problem when dragging the ".." file. Now, no file operation can occur on it - suppressed the "one panel" and "tree and two panels" modes because they are not really useful - changed the toolbar aspect in all apps to exploit new features in FOX 1.4 - port to FOX 1.4 Version 0.77 (pre-release) - new application XFileImage (Xfi) for image viewing Version 0.76 (pre-release) - fixed a bug where directory sizes were not properly displayed in the status bar or in the properties dialog for directories with spaces in them (thanks to Cal Peake). - with display thumbnails, the mini icon is now drawn from the big icon. This is more efficient than starting again with the image file (around two times faster for big images). - changed the way display thumbnails is selected. Transfered the related code from FileDict to FileList. - for thumbnails displaying, the default is set to not display thumbnails images - added some shortcuts to the file selection dialog Version 0.75 (pre-release) - added more error messages for file operations - the copy/cut/paste clipboard is now persistent - now Open and Paste menu are grayed out when unuseful - added Copy to menu for consistency - added a property tab for multiple file selection with size, number of files and files type Version 0.74 (pre-release) - fixed the sorting function for file types - removed the "Console file manager" menu item because it is of no use - fixed a crash bug when changing the default viewer or editor (removed the call to clearitems() in FileList::setAssociations) - fixed the number of items in the FileList - added the locked folder icon in the DirList - fixed a bug when doing chmod or chown in the DirList. Now, it should work properly. - fixed a bug when deleting files, where all the selected files were not always deleted. This bug is related to the periodic refresh process, so I have added a variable in FileList to disallow periodic refresh when deleting files. Version 0.73 (pre-release) - fixed the placement of the Properties dialog. It is now centered on the screen. - added --iconic and --maximized command line options - progress bars are no more floating over parent - fixed the placement of the "Execute command" dialog - fixed a bug in XFileQuery : "MessageBox::create: trying to create window before creating owner window." - Directory '..' now stays on top of the file list, whatever the sort method - added maximize button to TextWindow and CommandWindow - now, the extraction dialog can be resized or maximized. - fixed the bug with file association where the command name had an extra letter Version 0.72 (Released 09-24-2004) - Root directory is now expanded by default when launching Xfe on it. - Fixed a bug in displaying the file size of very large files (> to 4.3 GB) and in sorting the file sizes. - The maximum bookmarks number is set to 20 instead of 10. A warning message is displayed when the limit is reached. - removed the path in the archive creation dialog, for the same reasons. - removed the path in the "New file" and "New directory" dialogs because it was not very practical with long path names (thanks to Millar Barrie for the suggestion). - fixed a bug with xfq : set the filename to "untitled" instead of NULL when no filename is specified - fixed a crash bug when extracting archives (delete problem with DirListBox object) - added an "Open" command to open a single or multiple selected files. This is useful to play mp3 files with xmms for example - added optional thumbnails preview for BMP, XPM, GIF, TIF, PNG and JPEG image formats. Version 0.71 (pre-release) - fixed a crash when a file name extension is only a dot. - added Italian translation (thanks to Giorgio Moscardi and Valerio Alliod ) - allow xfe to save the window position on exit and restore the window position on start (thanks to R. Boucher ) - replaced SEL_RIGHTBUTTONPRESS with SEL_RIGHTBUTTONRELEASE in FilePanel.cc and in DirPanel.cc to fix a bug in the refresh process (this one was hard to find!) - locale adjustment in the spec file (thanks to Andrzej Stypula) - fixed a problem when unmounting a device and Xfe was not releasing the device - fixed a bug with .gz archives extraction. Now the extraction of tar, gz, bz2, Z, zip archives should be correct. - add of a include to CommandWindow.cc and File.cc (thanks to Andrzej Stypula) - file permissions adjustment in the spec file (thanks to Andrzej Stypula) Version 0.70 (Released 07-29-2004) - fixed a bug in DirListBox with the expand/collapse tree commands - fixed a bug when hiding the status bar : now, the entire bar can be hidden - fixed the date format in the Properties dialog - Tab key now allows to cycle through the DirPanel and FilePanels - improved the refresh in DirList that was consuming too much resources - fixed a bug with the file dates in FileList that were no more in local format - added a shortcut to Shift-F10 for the right popup menu in FilePanel Version 0.69 (pre-release) - fixed a crash bug with Xfq, when the file to open doesn't exist - fixed a bug in FileList when selecting a file and moving the horizontal scroll bar - fixed a bug with large filesystems size - more better handle (I hope...) of NFS and SMB breakdowns - new icons for floppy, cdrom, zip and nfs drives - fixed a bug when deleting read-only files in read-only sub-directories and a parent directory with write access Version 0.68 (pre-release) - port to FOX 1.2! - adaptation of the code to the new APIs - some bug fixes - some cosmetic changes - added mnemonics to all menus - now Xfe is more responsive whith broken NFS or SMB mounts! Version 0.67 (pre-release) - add of the directory path to the window title (thanks to Drayke Naiobrin for the initial patch) - changed the way the file names are sorted. Now, upper cases are no more sorted first. This is more consistent with other file managers. Version 0.66 (Released) - updated french translation - updated help window Version 0.65 (pre-release) - when control + right click is pressed in the FilePanel, all items are deselected - fixed a small regression that occured when pasting a directory in FilePanel and no item was selected - fixed a small regression in DirPanel that prevented to unmount a file system - replaced everywhere the word 'directory' with 'folder' for consistency - when a filter patter is used, this pattern is now shown in the FilePanel label - fixed a small bug in filter command : the filter pattern was not correctly updated - changed the way panel views are handled. Now, there are four views and four icons in the toolbar to switch between these views. This should be more intuitive to use and one needs only one click to switch from any view to any new one (this was not the case before). Version 0.64 (pre-release) - fixed problems with panels widths to avoid too small panels - toolbar and menus cleanup and reorganization - add of buttons to status bars (in DirPanel and FilePanel) to show/hide files or directories. Remove of the corresponding toolbar button. Remove of the directory path in DirPanel (it is redundant with the active panel's path) - changed the way the context menu is handled in DirPanel : now, right clicking on DirPanel also changes the current directory to the selected one (contrary to Windows Explorer) - fixed a small problem in Properties where the 'du' command displayed error messages on the console when permission on the directory or file was denied - fixed a bug in DirPanel : the status and directory name were not correctly updated after a file operation on the directory list when using the method FilePanel::onCmdFileMan - fixed bug in DirPanel : after a file operation, the modified item was no more visible if it was scrolled down (need to add a call to recompute() in method getitem() in DirList) - fixed bugs in DirPanel : deleting a folder in the directory list caused an error message to appear ('shell-init: could not get current directory...') in some cases - fixed a crash bug in DirList that occured when successively displaying and hiding hidden folders with subfolders - the cursor in the 'Add to archive' dialog was not set to the end of the text - symbolic links (files or folders) now have a specific icon in file and directory lists - dotdot (..) folders now have a specific icon in file and directory lists - mount points now have a specific icon in file and directory lists - removed the DirBox from the toolbar : it was not really useful! - changed CreateData method in FileDict class according to FOX 1.0.48. This should fix a bug with association icons in the file list (Thanks to Michael Baron). - added a Text font, to be used in Terminal window (e.g. as a fixed font), and in XFileView and XFileQuery - font menu moved under Preferences menu and OptionsBox class renamed as PreferencesBox Version 0.63 (pre-release) - remember sorted column in detailed panel view - in detailed panel view, prevent name size to be too small - file sizes are now given everywhere in human readable form - hacked FXIconList to right justify the file size in the file list - inverted file size and file type in the file list - renamed AttributesBox class to PropertiesBox - revisited general design to be more consistent with other KDE or GNOME or X programs Version 0.62 (pre-release) - changed default wheel scrolling interval : default is now 5 lines and can be changed in the registry file by modifying the 'wheellines=5' line under the [SETTINGS] section - clarified confirmation messages for file and folder delete operations - fixed a bug in archive creation : it is no more possible to include the '..' directory in an archive! - fixed a bug where it was impossible to create new files and new directories with spaces in their name (thanks to Bastian Kleineidam for having detected this bug) - add a command window object to manage executed commands, archives, rpm, etc. The command window executes commands as child processes and get their output asynchronously within the dialog box. - upgrade to gettext 0.12.1 Version 0.61 (pre-release) - the time format used in the file list is now based on the locale platform - added Argentinian Spanish translation (Bruno Gilberto Luciani ) - added Spanish translation (Lucas 'Basurero' Vieites ) Version 0.60 (Released) - added Catalan translation (muzzol ) - updated french translation - usage message added - help menu added, with a help window (content of this window needs to be completed) - modified the execute command to display the command log in a separate window (if necessary) - modified the rpm upgrade/uninstall commands to display a log window instead of a progress dialog - modified the extract/archive commands to display a log window instead of a progress dialog - add error messages for file operations when the file system is full Version 0.59 (pre-release) - modified the "Confirm Delete" box used when deleting write-protected files. This should be more usable now - add of support for large files (> 2 GB) operations - fixed a crash bug when linking or renaming a file and the target already exists Version 0.58 (pre-release) - fixed a crash bug when right clicking in the directory panel in a place where there is no item Version 0.57 (pre-release) - add support of PNG icons for file icons - fixed transparency problems with most of PNG file icons - fixed a bug in DirPanel that prevented a correct display of the directory size when the directory name had spaces in it Version 0.56 (pre-release) - fixed a bug when pasting a file with ask_before_copy=0. In some cases, the input dialog was still used. - when trying to copy or paste a file in the same directory as the source , the target name used in the input dialog is now the name of the source (and not the directory name as previously). This is to make it easier to modify the file name directly in the input dialog. - fixed i18n of some message boxes by adding a specific MessageBox class Version 0.55 (pre-release) - fixed a bug in the file delete progress dialog : the directory path was omitted - fixed a bug in the extract archive progress dialog : the destination directory was omitted - improvement of the file delete operation. Now, it is allowed to delete a write-protected file if the user is owner of it. In addition, a dialog asks the user what he wants to do. Version 0.54.5 (pre-release) - fixed a bug where the right panel size was not correct when clicking on the "show two panels" toolbar icon - some changes in Desktop file associations - fixed a bug with file operations when the file names have a space in it - fixed a bug with the move command between separate hard disks - fixed a bug where the progress dialogs didn't display the source and target file names when the overwrite box was open Version 0.54.4 (pre-release) - changed the way the panel sizes are handled. Now, the left panel size is retained and fixed when resizing the Xfe window. This is a more usual way to do. - fixed the icon in the overwrite box widget - added an overwrite box to the "Add to archive" operation - fixed a bug where the "Show hidden folders" option was not retained after leaving Xfe - the file names in the progress dialogs were slightly truncated. This is fixed now. - add Turkish translation (erkaN ) - add a wait cursor to a number of file operations (attributes,copy, delete, mount/unmount...) Version 0.54.3 (pre-release) - french translation update - keyboard accelerators in dialog boxes now work as expected - in two panels mode, pressing the tab key cycles through the panels. No effect in one panel mode - fixed a small regression that prevented the unmount command to work - fixed a bug with the Edit/View command : when an Edit or View association is not defined, the correct mechanism is to call the default viewer or editor - fixed a bug in the Attributes menu where the size of a directory was not correctly displayed if its name had escape characters - fixed the permissions in the attributes tab when multiple files are selected Version 0.54.2 (released) - fixed a small bug in DirPanel.cc that prevented compilation of Xfe on a non Linux system - fixed the text alignment problem in the properties window - replaced builtin GIF icons with PNG icons - added Polish translation (Jacek Dziura ) - when renaming a file in two panels mode, the destination directory was not selected from the current panel Version 0.54.1 (released) - added Brazilian Portuguese translation (Eduardo R.B.S. ) - added German translation (Bastian Kleineidam ) - fixed a bug with files names like '~test' that were not correctly handled. Rename of the helper function getPath() to filePath() to avoid confusions with some other helper functions in FOX - fixed a bug in DirPanel.cc that prevented compilation of Xfe with gcc 3.2.3 Version 0.54 (released) - fixed a bug with the rename command in the directory panel : the target name was not correct in some situations - fixed a bug in the new file and new directory operations : it was not possible to create file names with escape characters - fixed a bug in the directory panel : the directory size was not correctly shown when the path name had escape characters - fixed a bug in the progress bar with long path names - fixed a bug in the file delete operation : sometimes, the current directory was not the correct one - add a lot of mini-icons to the general and context menus in Xfe, Xfv and Xfq - add shortcuts (Del, Ctrl-C, Ctrl-X, Ctrl-V, Ctrl-N, Ctrl-S) to file operations for the tree panel - add a button to the toolbar for the show tree operation - change the way icons are displayed for the hide hidden, hide tree and two panels button icons Version 0.53 (pre-release) - new function getNumSelectedItems() in FileList class, that returns the number of selected items in the file list (used to replace recurrent code in FilePanel.cc and XFileExplorer.cc) - new keyboard shortcuts : this should help users familiar with both Windows Explorer and Midnight Commander. Some operations have two shortcuts (e.g. Delete has Del and F8). - new FileDialog class, used to get full consistency with the application look and feel. It is derived from the standard Fox FXFileDialog, but with some simplifications. - fixed a bug in archive creation : escape characters were not preserved in the archive name - fixed a segfault when dragging a directory in the directory panel - fixed a small regression where the zip files were no more seen as archives! - the file operations menu items and buttons are now grayed out when no file are selected Version 0.52 (pre-release) - in X File View, the last opened file name is not saved anymore - changed the file delete shortcut from Ctrl-Del to Del because the bug in the Fox Library was at last fixed! This is more consistent with other file managers... Thus Xfe now requires Fox version 1.0.36 or higher. - add of French translation (by me, of course) - fixed the Xfe icon destination in Makefile.am Version 0.51 (pre-release) - upgrade of the configure scripts to automake-1.5 and autoconf-2.53 - add of i18n support Version 0.50 (pre-release) - remove of the 'Hidden folder' check box in the directory panel and add of the name of the directory path instead - add of some icons - add of a 'Console File Manager' button and menu item to allow to call Midnight Commander (or another console file manager) with a simple click - add of the 'Rpm query' menu item in the file panels. This gives the name of the RPM package that the selected file is belonging to. - fixed a bug in the rename function of the Attributes window - code cleanup of the 'DirPanel' class - in two panels mode, each panel now can be resized individually and their size is retained for the next session - the size of the files in a directory is indicated in the directory tree status bar (but not recursively) - rename of class 'Panel' to 'FilePanel' for consistency - rename of class 'XFileExp' to 'XFileExplorer' for consistency Version 0.49 (pre-release) - add a location bar with an history of visited directories - add a 'New file' item to the menu, panel context menu and toolbar - add a 'Terminal here' item to the context menus - fixed a memory leak in Attributes.cc Version 0.48 (pre-release) - add of more icons to the context menus - add of copy/paste/rename/delete/extract menus to the directory list - don't allow anymore multiple selection in the directory list - fixed a bug in the Attributes window : the rename function was not the correct one - add of an attribute menu to the directory list Version 0.47 (pre-release) - add of a context menu with expand tree / collapse tree functions to the directory list - add of the 'DirPanel' class for the directory tree list Version 0.46 (pre-release) - hovering over a folder in the directory list now expands the directory in the tree - hovering over a folder in the file list now expands the directory in the list - panel focus now can be obtain when clicking anywhere in the window - shift or control key + right mouse button doesn't select any file. This allows a direct access to the global popup menu instead of the selection related popup menu (useful when items fill the file list) Version 0.45 (pre-release) - fixed a small bug when giving a starting directory name - completely rewrite the file management routines to be more consistent with the file move/copy/symlink/rename routines - add some error messages to the file operations routines Version 0.44 (pre-release) - add progress dialog and progress bar for drag and drop file operations - add of keyboard shortcuts for rename, move, symlink operations - add of an option '--with-static=yes/no' to the configure script, to be able to link a static version of Xfe. This is useful for computers that don't have the required libraries. - modification of the spec file to deal with the '--with-static' option. Version 0.43 (pre-release) - symlink command with multiple files selection cannot be used anymore - add of a progress bar for lengthy file move/rename operations - fixed a number of bugs in the rename and move functions. Add of error messages for some error conditions - reorganisation of the code : now, each custom widget has its own class - remove of the xincs.h include (to be more portable) Version 0.42 (released) - the hard disk icon was not displayed in the tree list. This caused some crashes. - fixed a bug that caused Xfe to crash when extracting an archive - fixed bugs where the show_hidden_files, show_hidden_dir and auto_save_layout commands were not saved when leaving Xfe - add of errors messages when trying to copy/paste/move/rename to an inexisting directory or when the target directory is not writable - add of error messages when creating a new directory and the parent directory doesn't exist or is not writable Version 0.41 (pre-release) - use switch/case instead of if/else if in File.cc - use the installation prefix to define the global icons path. Thus, if prefix=/usr/local, then iconpath=/usr/local/lib/foxicons, and if prefix=/usr, iconpath=/urs/lib/foxicons. - fixed a little bug with the browse icon path button Version 0.40 (released) - new icons for locked folders - use reswrap to construct the files icons.h and icons.cc at compile time, for Xfe, Xfv and Xfq - fixed a bug to let Xfq work with rpm version 3.x Version 0.39 (released) - fixed a bug where the locked folder icons where not displayed in file list - fixed a bug with copy/paste in two panels mode Version 0.38 (pre-release) - add of X File Query (Xfq), a simple RPM package viewer and installer, with the same look and feel as Xfe. Version 0.37 (pre-release) - the color theme of Xfv is now the same as Xfe. Removed the color option box. Version 0.36 (pre-release) - fixed some bugs relative to the move, rename and copy operations when the destination is a directory. Seems to work correctly now! Version 0.35 (released) - add of X File View (Xfv), a simple text viewer with the same look and feel as Xfe. Version 0.34 (pre-release) - add of a progress dialog for mount / unmount file system operations. Version 0.33 (pre-release) - add of a progress dialog for archive (extraction and creation) operations. Version 0.32 (pre-release) - add of a progress dialog for chmod and chown operations. - now dead links are seen! (was not the case even in Xwc!) - fixed a number of bugs related to the chown and chmod operations. Version 0.31 (pre-release) - add of a GNOME color theme. Version 0.30 (pre-release) - add of a progress dialog for file move operations. Version 0.29 (pre-release) - add of a progress dialog for file delete operations. Version 0.28 (pre-release) - add of a progress bar for file copy operations. Version 0.27.1 (released) - Correct a bug introduced in the previous release. Sorry for the inconvenience. Version 0.27 (released) - Add Overwrite Box for file copy / move /symlink operations. Version 0.26 (released) - correct a compilation problem with gcc 3.2. - add a toolbar button for switching between one / two panels. Version 0.25 (released) - correct an important bug in the file deletion process. - add a toolbar button for showing / hiding hidden files. Version 0.24 (released) - initial release of X File Explorer - fully functional with a lot of bugs, I suppose. xfe-1.42/libsn/0000755000175100017510000000000012746115271010342 500000000000000xfe-1.42/libsn/sn-util.h0000644000175100017510000000653012562633340012030 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_UTIL_H__ #define __SN_UTIL_H__ /* Guard C code in headers, while including them from C++ */ #ifdef __cplusplus # define SN_BEGIN_DECLS extern "C" { # define SN_END_DECLS } #else # define SN_BEGIN_DECLS # define SN_END_DECLS #endif SN_BEGIN_DECLS typedef unsigned long sn_size_t; typedef int sn_bool_t; /* Padding in vtables */ typedef void (* SnPaddingFunc) (void); /* Free data */ typedef void (* SnFreeFunc) (void *data); void* sn_malloc (sn_size_t n_bytes); void* sn_malloc0 (sn_size_t n_bytes); void* sn_realloc (void *mem, sn_size_t n_bytes); void sn_free (void *mem); void* sn_try_malloc (sn_size_t n_bytes); void* sn_try_realloc (void *mem, sn_size_t n_bytes); /* Convenience memory allocators */ #define sn_new(struct_type, n_structs) \ ((struct_type *) sn_malloc (((sn_size_t) sizeof (struct_type)) * ((sn_size_t) (n_structs)))) #define sn_new0(struct_type, n_structs) \ ((struct_type *) sn_malloc0 (((sn_size_t) sizeof (struct_type)) * ((sn_size_t) (n_structs)))) #define sn_renew(struct_type, mem, n_structs) \ ((struct_type *) sn_realloc ((mem), ((sn_size_t) sizeof (struct_type)) * ((sn_size_t) (n_structs)))) /* Memory allocation virtualization, so you can override memory * allocation behavior. sn_mem_set_vtable() has to be the very first * libsn function called if being used */ typedef struct { void* (*malloc) (sn_size_t n_bytes); void* (*realloc) (void *mem, sn_size_t n_bytes); void (*free) (void *mem); /* optional */ void* (*calloc) (sn_size_t n_blocks, sn_size_t n_block_bytes); void* (*try_malloc) (sn_size_t n_bytes); void* (*try_realloc) (void *mem, sn_size_t n_bytes); SnPaddingFunc padding1; SnPaddingFunc padding2; } SnMemVTable; void sn_mem_set_vtable (SnMemVTable *vtable); sn_bool_t sn_mem_is_system_malloc (void); typedef sn_bool_t (* SnUtf8ValidateFunc) (const char *str, int max_len); void sn_set_utf8_validator (SnUtf8ValidateFunc validate_func); SN_END_DECLS #endif /* __SN_UTIL_H__ */ xfe-1.42/libsn/sn-launcher.c0000644000175100017510000003166212562633335012657 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include "sn-launcher.h" #include "sn-internals.h" #include "sn-xmessages.h" #include #include #include #include static SnList* context_list = NULL; struct SnLauncherContext { int refcount; SnDisplay *display; int screen; char *startup_id; char *name; char *description; int workspace; char *wmclass; char *binary_name; char *icon_name; struct timeval initiation_time; unsigned int completed : 1; unsigned int canceled : 1; }; /** * sn_launcher_context_new: * @display: an #SnDisplay * @screen: X screen number * @event_func: function to be called when a notable event occurs * @event_func_data: data to pass to @event_func * @free_data_func: function to be called on @event_func_data when freeing the context * * Creates a new launcher context, to be used by the program that is * starting a startup sequence. For example a file manager might * create a launcher context when the user double-clicks on * an application icon. * * Return value: a new #SnLauncherContext **/ SnLauncherContext* sn_launcher_context_new (SnDisplay *display, int screen) { SnLauncherContext *context; if (context_list == NULL) context_list = sn_list_new (); context = sn_new0 (SnLauncherContext, 1); context->refcount = 1; context->display = display; sn_display_ref (context->display); context->workspace = -1; sn_list_prepend (context_list, context); return context; } /** * sn_launcher_context_ref: * @context: a #SnLauncherContext * * Increments the reference count of @context **/ void sn_launcher_context_ref (SnLauncherContext *context) { context->refcount += 1; } /** * sn_launcher_context_unref: * @context: a #SnLauncherContext * * Decrements the reference count of @context and frees the * context if the count reaches zero. **/ void sn_launcher_context_unref (SnLauncherContext *context) { context->refcount -= 1; if (context->refcount == 0) { sn_list_remove (context_list, context); sn_free (context->startup_id); sn_free (context->name); sn_free (context->description); sn_free (context->wmclass); sn_free (context->binary_name); sn_free (context->icon_name); sn_display_unref (context->display); sn_free (context); } } static char* strip_slashes (const char *src) { char *canonicalized_name; char *s; canonicalized_name = sn_internal_strdup (src); s = canonicalized_name; while (*s) { if (*s == '/') *s = '|'; ++s; } return canonicalized_name; } /** * sn_launcher_context_initiate: * @context: an #SnLaunchContext * @launcher_name: name of the launcher app, suitable for debug output * @launchee_name: name of the launchee app, suitable for debug output * @timestamp: X timestamp of event causing the launch * * Initiates a startup sequence. All the properties of the launch (such * as type, geometry, description) should be set up prior to * initiating the sequence. **/ void sn_launcher_context_initiate (SnLauncherContext *context, const char *launcher_name, const char *launchee_name, Time timestamp) { static int sequence_number = 0; static sn_bool_t have_hostname = FALSE; static char hostbuf[257]; char *s; int len; char *canonicalized_launcher; char *canonicalized_launchee; int i; #define MAX_PROPS 12 char *names[MAX_PROPS]; char *values[MAX_PROPS]; char *message; char workspacebuf[257]; char screenbuf[257]; if (context->startup_id != NULL) { fprintf (stderr, "%s called twice for the same SnLaunchContext\n", __func__); return; } if (!have_hostname) { if (gethostname (hostbuf, sizeof (hostbuf)-1) == 0) have_hostname = TRUE; else hostbuf[0] = '\0'; } canonicalized_launcher = strip_slashes (launcher_name); canonicalized_launchee = strip_slashes (launchee_name); /* man I wish we could use g_strdup_printf */ len = strlen (launcher_name) + strlen (launchee_name) + 256; /* 256 is longer than a couple %d and some slashes */ s = sn_malloc (len + 3); snprintf (s, len, "%s/%s/%d-%d-%s_TIME%lu", canonicalized_launcher, canonicalized_launchee, (int) getpid (), (int) sequence_number, hostbuf, (unsigned long) timestamp); ++sequence_number; sn_free (canonicalized_launcher); sn_free (canonicalized_launchee); context->startup_id = s; i = 0; names[i] = "ID"; values[i] = context->startup_id; ++i; names[i] = "SCREEN"; snprintf (screenbuf, sizeof(screenbuf)-1, "%d", context->screen); values[i] = screenbuf; ++i; if (context->name != NULL) { names[i] = "NAME"; values[i] = context->name; ++i; } if (context->description != NULL) { names[i] = "DESCRIPTION"; values[i] = context->description; ++i; } if (context->workspace >= 0) { names[i] = "DESKTOP"; snprintf (workspacebuf, sizeof(workspacebuf)-1, "%d", context->workspace); values[i] = workspacebuf; ++i; } if (context->wmclass != NULL) { names[i] = "WMCLASS"; values[i] = context->wmclass; ++i; } if (context->binary_name != NULL) { names[i] = "BIN"; values[i] = context->binary_name; ++i; } if (context->icon_name != NULL) { names[i] = "ICON"; values[i] = context->icon_name; ++i; } assert (i < MAX_PROPS); names[i] = NULL; values[i] = NULL; gettimeofday (&context->initiation_time, NULL); message = sn_internal_serialize_message ("new", (const char**) names, (const char**) values); sn_internal_broadcast_xmessage (context->display, context->screen, "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", message); sn_free (message); } void sn_launcher_context_complete (SnLauncherContext *context) { char *keys[2]; char *vals[2]; char *message; if (context->startup_id == NULL) { fprintf (stderr, "%s called for an SnLauncherContext that hasn't been initiated\n", "sn_launcher_context_complete"); return; } keys[0] = "ID"; keys[1] = NULL; vals[0] = context->startup_id; vals[1] = NULL; message = sn_internal_serialize_message ("remove", (const char**) keys, (const char **) vals); sn_internal_broadcast_xmessage (context->display, context->screen, "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", message); sn_free (message); } const char* sn_launcher_context_get_startup_id (SnLauncherContext *context) { return context->startup_id; } sn_bool_t sn_launcher_context_get_initiated (SnLauncherContext *context) { return context->startup_id != NULL; } /** * sn_launcher_context_setup_child_process: * @context: an #SnLauncherContext * * This function should be called after forking, but before exec(), in * the child process being launched. It sets up the environment variables * telling the child process about the launch ID. * This function will leak the strings passed to putenv() so should * only be used prior to an exec(). * **/ void sn_launcher_context_setup_child_process (SnLauncherContext *context) { char *startup_id; size_t stsize; if (context->startup_id == NULL) { fprintf (stderr, "%s called for an SnLauncherContext that hasn't been initiated\n", "sn_launcher_context_setup_child_process"); return; } /* Man we need glib here */ stsize = strlen (context->startup_id) + strlen ("DESKTOP_STARTUP_ID") + 3; startup_id = sn_malloc (stsize); strncpy (startup_id, "DESKTOP_STARTUP_ID=", stsize); strncat (startup_id, context->startup_id, stsize); putenv (startup_id); /* Can't free strings passed to putenv */ } /* FIXME use something pluggable, not fprintf */ #define WARN_ALREADY_INITIATED(context) do { if ((context)->startup_id != NULL) { \ fprintf (stderr, "%s called for an SnLauncherContext that has already been initiated\n", \ __func__); \ return; \ } } while (0) void sn_launcher_context_set_name (SnLauncherContext *context, const char *name) { WARN_ALREADY_INITIATED (context); sn_free (context->name); context->name = sn_internal_strdup (name); } void sn_launcher_context_set_description (SnLauncherContext *context, const char *description) { WARN_ALREADY_INITIATED (context); sn_free (context->description); context->description = sn_internal_strdup (description); } void sn_launcher_context_set_workspace (SnLauncherContext *context, int workspace) { WARN_ALREADY_INITIATED (context); context->workspace = workspace; } void sn_launcher_context_set_wmclass (SnLauncherContext *context, const char *klass) { WARN_ALREADY_INITIATED (context); sn_free (context->wmclass); context->wmclass = sn_internal_strdup (klass); } void sn_launcher_context_set_binary_name (SnLauncherContext *context, const char *name) { WARN_ALREADY_INITIATED (context); sn_free (context->binary_name); context->binary_name = sn_internal_strdup (name); } void sn_launcher_context_set_icon_name (SnLauncherContext *context, const char *name) { WARN_ALREADY_INITIATED (context); sn_free (context->icon_name); context->icon_name = sn_internal_strdup (name); } void sn_launcher_context_set_extra_property (SnLauncherContext *context, const char *name, const char *value) { WARN_ALREADY_INITIATED (context); /* FIXME implement this */ } void sn_launcher_context_get_initiated_time (SnLauncherContext *context, long *tv_sec, long *tv_usec) { if (context->startup_id == NULL) { fprintf (stderr, "%s called for an SnLauncherContext that hasn't been initiated\n", "sn_launcher_context_get_initiated_time"); return; } if (tv_sec) *tv_sec = context->initiation_time.tv_sec; if (tv_usec) *tv_usec = context->initiation_time.tv_usec; } void sn_launcher_context_get_last_active_time (SnLauncherContext *context, long *tv_sec, long *tv_usec) { if (context->startup_id == NULL) { fprintf (stderr, "%s called for an SnLauncherContext that hasn't been initiated\n", "sn_launcher_context_get_initiated_time"); return; } /* for now, maybe forever, the same as initiated time. */ if (tv_sec) *tv_sec = context->initiation_time.tv_sec; if (tv_usec) *tv_usec = context->initiation_time.tv_usec; } xfe-1.42/libsn/sn-xmessages.c0000644000175100017510000004654412562633335013062 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * Copyright (C) 2009 Julien Danjou * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include #include "sn-xmessages.h" #include "sn-list.h" #include "sn-internals.h" typedef struct { void *xid; Window root; Atom type_atom; Atom type_atom_begin; char *message_type; SnXmessageFunc func; void *func_data; SnFreeFunc free_data_func; } SnXmessageHandler; typedef struct { Atom type_atom_begin; Window xwindow; char *message; int allocated; } SnXmessage; void sn_internal_add_xmessage_func (SnDisplay *display, int screen, const char *message_type, const char *message_type_begin, SnXmessageFunc func, void *func_data, SnFreeFunc free_data_func) { SnXmessageHandler *handler; SnList *xmessage_funcs; sn_internal_display_get_xmessage_data (display, &xmessage_funcs, NULL); handler = sn_new0 (SnXmessageHandler, 1); handler->xid = sn_internal_display_get_id (display); handler->root = sn_internal_display_get_root_window (display, screen); handler->type_atom = sn_internal_atom_get (display, message_type); handler->type_atom_begin = sn_internal_atom_get (display, message_type_begin); handler->message_type = sn_internal_strdup (message_type); handler->func = func; handler->func_data = func_data; handler->free_data_func = free_data_func; sn_list_prepend (xmessage_funcs, handler); } typedef struct { const char *message_type; SnXmessageFunc func; void *func_data; Window root; SnXmessageHandler *handler; } FindHandlerData; static sn_bool_t find_handler_foreach (void *value, void *data) { FindHandlerData *fhd = data; SnXmessageHandler *handler = value; if (handler->func == fhd->func && handler->func_data == fhd->func_data && handler->root == fhd->root && strcmp (fhd->message_type, handler->message_type) == 0) { fhd->handler = handler; return FALSE; } return TRUE; } void sn_internal_remove_xmessage_func (SnDisplay *display, int screen, const char *message_type, SnXmessageFunc func, void *func_data) { FindHandlerData fhd; SnList *xmessage_funcs; sn_internal_display_get_xmessage_data (display, &xmessage_funcs, NULL); fhd.message_type = message_type; fhd.func = func; fhd.func_data = func_data; fhd.handler = NULL; fhd.root = sn_internal_display_get_root_window (display, screen); if (xmessage_funcs != NULL) sn_list_foreach (xmessage_funcs, find_handler_foreach, &fhd); if (fhd.handler != NULL) { sn_list_remove (xmessage_funcs, fhd.handler); sn_free (fhd.handler->message_type); if (fhd.handler->free_data_func) (* fhd.handler->free_data_func) (fhd.handler->func_data); sn_free (fhd.handler); } } void sn_internal_broadcast_xmessage (SnDisplay *display, int screen, const char *message_type, const char *message_type_begin, const char *message) { if (!sn_internal_utf8_validate (message, -1)) { fprintf (stderr, "Attempted to send non-UTF-8 X message: %s\n", message); return; } switch (sn_internal_display_get_type (display)) { case SN_DISPLAY_TYPE_XLIB: { Atom type_atom; Atom type_atom_begin; Window xwindow; XSetWindowAttributes attrs; Display *xdisplay = sn_display_get_x_display (display); attrs.override_redirect = True; attrs.event_mask = PropertyChangeMask | StructureNotifyMask; xwindow = XCreateWindow (xdisplay, RootWindow (xdisplay, 0), -100, -100, 1, 1, 0, CopyFromParent, CopyFromParent, CopyFromParent, CWOverrideRedirect | CWEventMask, &attrs); type_atom = sn_internal_atom_get (display, message_type); type_atom_begin = sn_internal_atom_get (display, message_type_begin); { XEvent xevent; const char *src; const char *src_end; char *dest; char *dest_end; xevent.xclient.type = ClientMessage; xevent.xclient.message_type = type_atom_begin; xevent.xclient.display = xdisplay; xevent.xclient.window = xwindow; xevent.xclient.format = 8; src = message; src_end = message + strlen (message) + 1; /* +1 to include nul byte */ while (src != src_end) { dest = &xevent.xclient.data.b[0]; dest_end = dest + 20; while (dest != dest_end && src != src_end) { *dest = *src; ++dest; ++src; } XSendEvent (xdisplay, RootWindow (xdisplay, screen), False, PropertyChangeMask, &xevent); xevent.xclient.message_type = type_atom; } } XDestroyWindow (xdisplay, xwindow); XFlush (xdisplay); } break; } } typedef struct { void *xid; Atom atom; Window xwindow; sn_bool_t found_handler; } HandlerForAtomData; static sn_bool_t handler_for_atom_foreach (void *value, void *data) { SnXmessageHandler *handler = value; HandlerForAtomData *hfad = data; if (handler->xid == hfad->xid && (handler->type_atom == hfad->atom || handler->type_atom_begin == hfad->atom)) { hfad->found_handler = TRUE; return FALSE; } else return TRUE; } static sn_bool_t some_handler_handles_event (SnDisplay *display, Atom atom, Window win) { HandlerForAtomData hfad; SnList *xmessage_funcs; sn_internal_display_get_xmessage_data (display, &xmessage_funcs, NULL); hfad.atom = atom; hfad.xid = sn_internal_display_get_id (display); hfad.xwindow = win; hfad.found_handler = FALSE; if (xmessage_funcs) sn_list_foreach (xmessage_funcs, handler_for_atom_foreach, &hfad); return hfad.found_handler; } typedef struct { Window window; SnXmessage *message; } FindMessageData; static sn_bool_t find_message_foreach (void *value, void *data) { SnXmessage *message = value; FindMessageData *fmd = data; if (fmd->window == message->xwindow) { fmd->message = message; return FALSE; } return TRUE; } static SnXmessage* message_new(Atom type_atom_begin, Window win) { SnXmessage *message = sn_new0 (SnXmessage, 1); message->type_atom_begin = type_atom_begin; message->xwindow = win; message->message = NULL; message->allocated = 0; return message; } static sn_bool_t message_set_message(SnXmessage *message, const char *src) { const char *src_end; char *dest; sn_bool_t completed = FALSE; src_end = src + 20; message->message = sn_realloc (message->message, message->allocated + (src_end - src)); dest = message->message + message->allocated; message->allocated += (src_end - src); /* Copy bytes, be sure we get nul byte also */ while (src != src_end) { *dest = *src; if (*src == '\0') { completed = TRUE; break; } ++dest; ++src; } return completed; } static SnXmessage* get_or_add_message(SnList *pending_messages, Window win, Atom type_atom_begin) { FindMessageData fmd; SnXmessage *message; fmd.window = win; fmd.message = NULL; if (pending_messages) sn_list_foreach (pending_messages, find_message_foreach, &fmd); message = fmd.message; if (message == NULL) { message = message_new(type_atom_begin, win); sn_list_prepend (pending_messages, message); } return message; } static SnXmessage* add_event_to_messages (SnDisplay *display, Window win, Atom message_type, const char *data) { SnXmessage *message; SnList *pending_messages; sn_internal_display_get_xmessage_data (display, NULL, &pending_messages); message = get_or_add_message(pending_messages, win, message_type); /* We don't want screwy situations to end up causing us to allocate * infinite memory. Cap the length of a message. */ #define MAX_MESSAGE_LENGTH 4096 if (message->allocated > MAX_MESSAGE_LENGTH) { /* This message is some kind of crap - just dump it. */ sn_free (message->message); sn_list_remove (pending_messages, message); sn_free (message); return NULL; } if (message_set_message (message, data)) { /* Pull message out of the pending queue and return it */ sn_list_remove (pending_messages, message); return message; } else return NULL; } typedef struct { SnDisplay *display; SnXmessage *message; } MessageDispatchData; static sn_bool_t dispatch_message_foreach (void *value, void *data) { SnXmessageHandler *handler = value; MessageDispatchData *mdd = data; if (handler->type_atom_begin == mdd->message->type_atom_begin && sn_internal_display_get_id (mdd->display) == handler->xid) (* handler->func) (mdd->display, handler->message_type, mdd->message->message, handler->func_data); return TRUE; } static void xmessage_process_message (SnDisplay *display, SnXmessage *message) { if (message) { /* We need to dispatch and free this message; ignore * messages containing invalid UTF-8 */ if (sn_internal_utf8_validate (message->message, -1)) { MessageDispatchData mdd; SnList *xmessage_funcs; sn_internal_display_get_xmessage_data (display, &xmessage_funcs, NULL); mdd.display = display; mdd.message = message; /* We could stand to be more reentrant here; it will * barf if you add/remove a handler from inside the * dispatch */ if (xmessage_funcs != NULL) sn_list_foreach (xmessage_funcs, dispatch_message_foreach, &mdd); } else { /* FIXME don't use fprintf, use something pluggable */ fprintf (stderr, "Bad UTF-8 in startup notification message\n"); } sn_free (message->message); sn_free (message); } } sn_bool_t sn_internal_xmessage_process_event (SnDisplay *display, XEvent *xevent) { sn_bool_t retval = FALSE; SnXmessage *message = NULL; switch (xevent->xany.type) { case ClientMessage: if (some_handler_handles_event (display, xevent->xclient.message_type, xevent->xclient.window)) { retval = TRUE; message = add_event_to_messages (display, xevent->xclient.window, xevent->xclient.message_type, xevent->xclient.data.b); } break; } xmessage_process_message (display, message); return retval; } static void sn_internal_append_to_string_escaped (char **append_to, int *current_len, const char *append) { char *escaped; int len; char buf[2]; const char *p; buf[1] = '\0'; len = 0; escaped = NULL; /* We are the most inefficient algorithm ever! woot! */ /* really need GString here */ p = append; while (*p) { if (*p == '\\' || *p == '"' || *p == ' ') { buf[0] = '\\'; sn_internal_append_to_string (&escaped, &len, buf); } buf[0] = *p; sn_internal_append_to_string (&escaped, &len, buf); ++p; } if (escaped != NULL) { sn_internal_append_to_string (append_to, current_len, escaped); sn_free (escaped); } } char* sn_internal_serialize_message (const char *prefix, const char **property_names, const char **property_values) { int len; char *retval; int i; /* GLib would simplify this a lot... */ len = 0; retval = NULL; sn_internal_append_to_string (&retval, &len, prefix); sn_internal_append_to_string (&retval, &len, ":"); i = 0; while (property_names[i]) { sn_internal_append_to_string (&retval, &len, " "); sn_internal_append_to_string (&retval, &len, property_names[i]); sn_internal_append_to_string (&retval, &len, "="); sn_internal_append_to_string_escaped (&retval, &len, property_values[i]); ++i; } return retval; } /* Takes ownership of @append */ static void append_string_to_list (char ***list, char *append) { if (*list == NULL) { *list = sn_new0 (char*, 2); (*list)[0] = append; } else { int i; i = 0; while ((*list)[i] != NULL) ++i; *list = sn_renew (char*, *list, i + 2); (*list)[i] = append; (*list)[i+1] = NULL; } } static char* parse_prefix_up_to (const char *str, int up_to, const char **end) { char *prefix; const char *p; int len; prefix = NULL; *end = NULL; p = str; while (*p && *p != up_to) ++p; if (*p == '\0') return NULL; len = p - str; prefix = sn_internal_strndup (str, len); *end = str + len; return prefix; } /* Single quotes preserve the literal string exactly. escape * sequences are not allowed; not even \' - if you want a ' * in the quoted text, you have to do something like 'foo'\''bar' * * Double quotes allow $ ` " \ and newline to be escaped with backslash. * Otherwise double quotes preserve things literally. * * (This is overkill for X messages, copied from GLib shell code, * copyright Red Hat Inc. also) */ static sn_bool_t unescape_string_inplace (char *str, char **end) { char* dest; char* s; sn_bool_t escaped; sn_bool_t quoted; dest = s = str; escaped = FALSE; quoted = FALSE; while (*s) { if (escaped) { escaped = FALSE; *dest = *s; ++dest; } else if (quoted) { if (*s == '"') quoted = FALSE; else if (*s == '\\') escaped = TRUE; else { *dest = *s; ++dest; } } else { if (*s == ' ') break; else if (*s == '\\') escaped = TRUE; else if (*s == '"') quoted = TRUE; else { *dest = *s; ++dest; } } ++s; } *dest = '\0'; *end = s; return TRUE; } static sn_bool_t parse_property (const char *str, char **name_p, char **val_p, const char **end_p) { char *val; char *name; char *copy; char *p; *end_p = NULL; copy = sn_internal_strdup (str); p = copy; while (*p == ' ') ++p; name = parse_prefix_up_to (p, '=', (const char**) &p); if (name == NULL) { sn_free (copy); return FALSE; } ++p; /* skip '=' */ while (*p == ' ') ++p; { char *end; end = NULL; if (!unescape_string_inplace (p, &end)) { sn_free (copy); sn_free (name); return FALSE; } val = sn_internal_strndup (p, end - p); p = end; } while (*p == ' ') ++p; *end_p = str + (p - copy); sn_free (copy); *name_p = name; *val_p = val; return TRUE; } sn_bool_t sn_internal_unserialize_message (const char *message, char **prefix_p, char ***property_names, char ***property_values) { /* GLib would simplify this a lot... */ char *prefix; char **names; char **values; const char *p; char *name; char *value; *prefix_p = NULL; *property_names = NULL; *property_values = NULL; prefix = NULL; names = NULL; values = NULL; prefix = parse_prefix_up_to (message, ':', &p); if (prefix == NULL) return FALSE; ++p; /* skip ':' */ name = NULL; value = NULL; while (parse_property (p, &name, &value, &p)) { append_string_to_list (&names, name); append_string_to_list (&values, value); } *prefix_p = prefix; *property_names = names; *property_values = values; return TRUE; } xfe-1.42/libsn/sn-launchee.c0000644000175100017510000001377712562633335012651 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include "sn-launchee.h" #include "sn-internals.h" #include "sn-xmessages.h" #include struct SnLauncheeContext { int refcount; SnDisplay *display; int screen; char *startup_id; }; /** * sn_launchee_context_new: * @display: an #SnDisplay * @screen: an X screen number * @startup_id: launch ID as in DESKTOP_STARTUP_ID env variable * * Creates a new launchee-side context for the startup notification * protocol. * * Return value: a new launchee context **/ SnLauncheeContext* sn_launchee_context_new (SnDisplay *display, int screen, const char *startup_id) { SnLauncheeContext *context; context = sn_new0 (SnLauncheeContext, 1); context->refcount = 1; context->display = display; sn_display_ref (context->display); context->screen = screen; context->startup_id = sn_internal_strdup (startup_id); return context; } /** * sn_launchee_context_new_from_environment: * @display: an #SnDisplay * @screen: an X screen number * * Tries to create an #SnLauncheeContext given information in the * program's environment (DESKTOP_STARTUP_ID environment * variable). Returns %NULL if the env variables are not available or * can't be parsed. * * Return value: a new #SnLauncheeContext or %NULL **/ SnLauncheeContext* sn_launchee_context_new_from_environment (SnDisplay *display, int screen) { const char *id_str; id_str = getenv ("DESKTOP_STARTUP_ID"); if (id_str == NULL) return NULL; return sn_launchee_context_new (display, screen, id_str); } void sn_launchee_context_ref (SnLauncheeContext *context) { context->refcount += 1; } void sn_launchee_context_unref (SnLauncheeContext *context) { context->refcount -= 1; if (context->refcount == 0) { sn_display_unref (context->display); sn_free (context->startup_id); sn_free (context); } } /** * sn_launchee_context_get_startup_id: * @context: an #SnLauncheeContext * * Get the startup ID for the context. * * Return value: the startup ID for the context. **/ const char* sn_launchee_context_get_startup_id (SnLauncheeContext *context) { return context->startup_id; } /** * sn_launchee_context_get_id_has_timestamp: * @context: an #SnLauncheeContext * * Return whether the startup ID for the context contains a timestamp * * Return value: whether the startup ID has an embedded timestamp **/ int sn_launchee_context_get_id_has_timestamp (SnLauncheeContext *context) { char * time_str; time_str = sn_internal_find_last_occurrence(context->startup_id, "_TIME"); return time_str != NULL; } /** * sn_launchee_context_get_timestamp: * @context: an #SnLauncheeContext * * Return the timestamp embedded in the startup ID * * Return value: timestamp embedded in the startup ID **/ Time sn_launchee_context_get_timestamp (SnLauncheeContext *context) { char * time_str; time_str = sn_internal_find_last_occurrence(context->startup_id, "_TIME"); if (time_str != NULL) { /* Skip past the "_TIME" part */ time_str += 5; return sn_internal_string_to_ulong (time_str); } fprintf (stderr, "libsn: No timestamp contained in the startup ID!\n"); /* Unfortunately, all values are valid; let's just return -1 */ return -1; } /** * sn_launchee_context_complete: * @context: an #SnLauncheeContext * * Called by the launchee when it is fully started up and the startup * sequence should end. * **/ void sn_launchee_context_complete (SnLauncheeContext *context) { char *keys[2]; char *vals[2]; char *message; keys[0] = "ID"; keys[1] = NULL; vals[0] = context->startup_id; vals[1] = NULL; message = sn_internal_serialize_message ("remove", (const char**) keys, (const char**) vals); sn_internal_broadcast_xmessage (context->display, context->screen, "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", message); sn_free (message); } /** * sn_launchee_context_setup_window: * @context: a #SnLauncheeContext * @xwindow: window to be set up * * Sets up @xwindow, marking it as launched by the startup sequence * represented by @context. For example sets the _NET_STARTUP_ID * property. Only the group leader windows of an application MUST be * set up with this function, though if any other windows come from a * separate startup sequence, they can be set up separately. * **/ void sn_launchee_context_setup_window (SnLauncheeContext *context, Window xwindow) { sn_internal_set_utf8_string (context->display, xwindow, "_NET_STARTUP_ID", context->startup_id); } xfe-1.42/libsn/sn-internals.h0000644000175100017510000000607212562633340013053 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_INTERNALS_H__ #define __SN_INTERNALS_H__ #include #include #include #include #include #include SN_BEGIN_DECLS #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #ifndef NULL #define NULL ((void*) 0) #endif enum SnDisplayType { SN_DISPLAY_TYPE_XLIB }; /* --- From sn-common.c --- */ Screen* sn_internal_display_get_x_screen (SnDisplay *display, int number); Window sn_internal_display_get_root_window (SnDisplay *display, int number); int sn_internal_display_get_screen_number (SnDisplay *display); void* sn_internal_display_get_id (SnDisplay *display); enum SnDisplayType sn_internal_display_get_type (SnDisplay *display); void sn_internal_display_get_xmessage_data (SnDisplay *display, SnList **funcs, SnList **pending); /* --- From sn-monitor.c --- */ sn_bool_t sn_internal_monitor_process_event (SnDisplay *display); /* --- From sn-util.c --- */ sn_bool_t sn_internal_utf8_validate (const char *str, int max_len); char* sn_internal_strdup (const char *str); char* sn_internal_strndup (const char *str, int n); void sn_internal_strfreev (char **strings); unsigned long sn_internal_string_to_ulong (const char* str); char* sn_internal_find_last_occurrence (const char* haystack, const char* needle); void sn_internal_append_to_string (char **append_to, int *current_len, const char *append); /* --- From sn-xmessages.c --- */ sn_bool_t sn_internal_xmessage_process_event (SnDisplay *display, XEvent *xevent); SN_END_DECLS #endif /* __SN_INTERNALS_H__ */ xfe-1.42/libsn/sn-list.c0000644000175100017510000000657412562633335012035 00000000000000/* List abstraction used internally */ /* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include "sn-list.h" #include "sn-internals.h" typedef struct SnListNode { void *data; struct SnListNode *next; } SnListNode; struct SnList { SnListNode *head; }; static SnListNode* sn_list_node_alloc (void) { return sn_new0 (SnListNode, 1); } SnList* sn_list_new (void) { SnList *list; list = sn_new (SnList, 1); list->head = NULL; return list; } void sn_list_free (SnList *list) { SnListNode *node; node = list->head; while (node != NULL) { SnListNode *next = node->next; sn_free (node); node = next; } sn_free (list); } void sn_list_prepend (SnList *list, void *data) { if (list->head == NULL) { list->head = sn_list_node_alloc (); list->head->data = data; } else { SnListNode *node; node = sn_list_node_alloc (); node->data = data; node->next = list->head; list->head = node; } } void sn_list_append (SnList *list, void *data) { if (list->head == NULL) { list->head = sn_list_node_alloc (); list->head->data = data; } else { SnListNode *node; node = list->head; while (node->next != NULL) node = node->next; node->next = sn_list_node_alloc (); node->next->data = data; } } void sn_list_remove (SnList *list, void *data) { SnListNode *node; SnListNode *prev; prev = NULL; node = list->head; while (node != NULL) { if (node->data == data) { if (prev) prev->next = node->next; else list->head = node->next; sn_free (node); return; } prev = node; node = node->next; } } void sn_list_foreach (SnList *list, SnListForeachFunc func, void *data) { SnListNode *node; node = list->head; while (node != NULL) { SnListNode *next = node->next; /* reentrancy safety */ if (!(* func) (node->data, data)) return; node = next; } } sn_bool_t sn_list_empty (SnList *list) { return list->head == NULL; } xfe-1.42/libsn/sn-util.c0000644000175100017510000001730612562633335012032 00000000000000/* This code derived from GLib, Copyright (C) 1997-2002 * by the GLib team. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include #include "sn-util.h" #include "sn-internals.h" #include #include #include #include #include #ifndef REALLOC_0_WORKS static void* standard_realloc (void* mem, sn_size_t n_bytes) { if (!mem) return malloc (n_bytes); else return realloc (mem, n_bytes); } #endif /* !REALLOC_0_WORKS */ #ifdef SANE_MALLOC_PROTOS # define standard_malloc malloc # ifdef REALLOC_0_WORKS # define standard_realloc realloc # endif /* REALLOC_0_WORKS */ # define standard_free free # define standard_calloc calloc # define standard_try_malloc malloc # define standard_try_realloc realloc #else /* !SANE_MALLOC_PROTOS */ static void* standard_malloc (sn_size_t n_bytes) { return malloc (n_bytes); } # ifdef REALLOC_0_WORKS static void* standard_realloc (void* mem, sn_size_t n_bytes) { return realloc (mem, n_bytes); } # endif /* REALLOC_0_WORKS */ static void standard_free (void* mem) { free (mem); } static void* standard_calloc (sn_size_t n_blocks, sn_size_t n_bytes) { return calloc (n_blocks, n_bytes); } #define standard_try_malloc standard_malloc #define standard_try_realloc standard_realloc #endif /* !SANE_MALLOC_PROTOS */ /* --- variables --- */ static SnMemVTable sn_mem_vtable = { standard_malloc, standard_realloc, standard_free, standard_calloc, standard_try_malloc, standard_try_realloc, NULL, NULL }; /* --- functions --- */ void* sn_malloc (sn_size_t n_bytes) { if (n_bytes) { void* mem; mem = sn_mem_vtable.malloc (n_bytes); if (mem) return mem; fprintf (stderr, "libsn: failed to allocate %lu bytes", (unsigned long) n_bytes); } return NULL; } void* sn_malloc0 (sn_size_t n_bytes) { if (n_bytes) { void* mem; mem = sn_mem_vtable.calloc (1, n_bytes); if (mem) return mem; fprintf (stderr, "libsn: failed to allocate %lu bytes", (unsigned long) n_bytes); } return NULL; } void* sn_realloc (void *mem, sn_size_t n_bytes) { if (n_bytes) { mem = sn_mem_vtable.realloc (mem, n_bytes); if (mem) return mem; fprintf (stderr, "libsn: failed to allocate %lu bytes", (unsigned long) n_bytes); } if (mem) sn_mem_vtable.free (mem); return NULL; } void sn_free (void* mem) { if (mem) sn_mem_vtable.free (mem); } void* sn_try_malloc (sn_size_t n_bytes) { if (n_bytes) return sn_mem_vtable.try_malloc (n_bytes); else return NULL; } void* sn_try_realloc (void *mem, sn_size_t n_bytes) { if (n_bytes) return sn_mem_vtable.try_realloc (mem, n_bytes); if (mem) sn_mem_vtable.free (mem); return NULL; } static void* fallback_calloc (sn_size_t n_blocks, sn_size_t n_block_bytes) { sn_size_t l = n_blocks * n_block_bytes; void* mem = sn_mem_vtable.malloc (l); if (mem) memset (mem, 0, l); return mem; } static sn_bool_t vtable_set = FALSE; sn_bool_t sn_mem_is_system_malloc (void) { return !vtable_set; } void sn_mem_set_vtable (SnMemVTable *vtable) { if (!vtable_set) { vtable_set = TRUE; if (vtable->malloc && vtable->realloc && vtable->free) { sn_mem_vtable.malloc = vtable->malloc; sn_mem_vtable.realloc = vtable->realloc; sn_mem_vtable.free = vtable->free; sn_mem_vtable.calloc = vtable->calloc ? vtable->calloc : fallback_calloc; sn_mem_vtable.try_malloc = vtable->try_malloc ? vtable->try_malloc : sn_mem_vtable.malloc; sn_mem_vtable.try_realloc = vtable->try_realloc ? vtable->try_realloc : sn_mem_vtable.realloc; } else { fprintf (stderr, "libsn: memory allocation vtable lacks one of malloc(), realloc() or free()"); } } else { fprintf (stderr, "libsn: memory allocation vtable can only be set once at startup"); } } static SnUtf8ValidateFunc utf8_validator = NULL; void sn_set_utf8_validator (SnUtf8ValidateFunc validate_func) { utf8_validator = validate_func; } sn_bool_t sn_internal_utf8_validate (const char *str, int max_len) { if (utf8_validator) { if (max_len < 0) max_len = strlen (str); return (* utf8_validator) (str, max_len); } else return TRUE; } char* sn_internal_strdup (const char *str) { char *s; s = sn_malloc (strlen (str) + 1); strcpy (s, str); return s; } char* sn_internal_strndup (const char *str, int n) { char *new_str; if (str) { new_str = sn_new (char, n + 1); strncpy (new_str, str, n); new_str[n] = '\0'; } else new_str = NULL; return new_str; } void sn_internal_strfreev (char **strings) { int i; if (strings == NULL) return; i = 0; while (strings[i]) { sn_free (strings[i]); ++i; } sn_free (strings); } unsigned long sn_internal_string_to_ulong (const char* str) { unsigned long retval; char *end; errno = 0; retval = strtoul (str, &end, 0); if (end == str || errno != 0) retval = 0; return retval; } /** * sn_internal_find_last_occurrence: * @haystack: a nul-terminated string. * @needle: the nul-terminated string to search for. * * Searches the string @haystack for the last occurrence * of the string @needle. * * Return value: a pointer to the found occurrence, or * %NULL if not found. **/ char* sn_internal_find_last_occurrence (const char* haystack, const char* needle) { int i; int needle_len; int haystack_len; const char *p; if (haystack == NULL) return NULL; if (needle == NULL) return NULL; needle_len = strlen (needle); haystack_len = strlen (haystack); if (needle_len == 0) return (char *)haystack; if (haystack_len < needle_len) return NULL; p = haystack + haystack_len - needle_len; while (p >= haystack) { for (i = 0; i < needle_len; i++) if (p[i] != needle[i]) goto next; return (char *)p; next: p--; } return NULL; } void sn_internal_append_to_string (char **append_to, int *current_len, const char *append) { int len; char *end; assert (append != NULL); len = strlen (append); *append_to = sn_realloc (*append_to, *current_len + len + 1); end = *append_to + *current_len; strcpy (end, append); *current_len = *current_len + len; } xfe-1.42/libsn/sn-common.c0000644000175100017510000002036712562633335012346 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * Copyright (C) 2009 Julien Danjou * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include #include "sn-common.h" #include "sn-internals.h" struct SnDisplay { int refcount; enum SnDisplayType type; union { struct { Display *xdisplay; Screen **screens; SnDisplayErrorTrapPush push_trap_func; SnDisplayErrorTrapPop pop_trap_func; } xlib; } x; int n_screens; SnList *xmessage_funcs; SnList *pending_messages; }; /** * sn_display_new: * @xdisplay: an X window system display * @push_trap_func: function to push an X error trap * @pop_trap_func: function to pop an X error trap * * Creates a new #SnDisplay object, containing * data that libsn associates with an X display. * * @push_trap_func should be a function that causes X errors to be * ignored until @pop_trap_func is called as many times as * @push_trap_func has been called. (Nested push/pop pairs must be * supported.) The outermost @pop_trap_func in a set of nested pairs * must call XSync() to ensure that all errors that will occur have in * fact occurred. These functions are used to avoid X errors due to * BadWindow and such. * * Return value: the new #SnDisplay **/ SnDisplay* sn_display_new (Display *xdisplay, SnDisplayErrorTrapPush push_trap_func, SnDisplayErrorTrapPop pop_trap_func) { SnDisplay *display; int i; display = sn_new0 (SnDisplay, 1); display->type = SN_DISPLAY_TYPE_XLIB; display->x.xlib.xdisplay = xdisplay; display->n_screens = ScreenCount (xdisplay); display->x.xlib.screens = sn_new (Screen*, display->n_screens); display->refcount = 1; display->x.xlib.push_trap_func = push_trap_func; display->x.xlib.pop_trap_func = pop_trap_func; for (i = 0; i < display->n_screens; ++i) display->x.xlib.screens[i] = ScreenOfDisplay (display->x.xlib.xdisplay, i); return display; } /** * sn_display_ref: * @display: an #SnDisplay * * Increment the reference count for @display **/ void sn_display_ref (SnDisplay *display) { display->refcount += 1; } /** * sn_display_unref: * @display: an #SnDisplay * * Decrement the reference count for @display, freeing * display if the reference count reaches zero. **/ void sn_display_unref (SnDisplay *display) { display->refcount -= 1; if (display->refcount == 0) { if (display->xmessage_funcs) sn_list_free (display->xmessage_funcs); if (display->pending_messages) sn_list_free (display->pending_messages); switch (display->type) { case SN_DISPLAY_TYPE_XLIB: sn_free (display->x.xlib.screens); break; } sn_free (display); } } /** * sn_display_get_x_display: * @display: an #SnDisplay * * * * Return value: X display for this #SnDisplay **/ Display* sn_display_get_x_display (SnDisplay *display) { if(display->type == SN_DISPLAY_TYPE_XLIB) return display->x.xlib.xdisplay; return NULL; } /** * sn_internal_display_get_id: * @display: an #SnDisplay * * * * Return value: X display id. **/ void * sn_internal_display_get_id (SnDisplay *display) { switch (display->type) { case SN_DISPLAY_TYPE_XLIB: return display->x.xlib.xdisplay; } return NULL; } /** * sn_internal_display_get_x_screen: * @display: an #SnDisplay * @number: screen number to get * * Gets a screen by number; if the screen number * does not exist, returns %NULL. * * Return value: X screen or %NULL **/ Screen* sn_internal_display_get_x_screen (SnDisplay *display, int number) { if (display->type != SN_DISPLAY_TYPE_XLIB || number < 0 || number >= display->n_screens) return NULL; else return display->x.xlib.screens[number]; } /** * sn_internal_display_get_root_window: * @display: an #SnDisplay * @number: screen number to get root window from * * Gets a root window; if the screen number * does not exist, returns %NULL. * * Return value: X root window or %NULL **/ Window sn_internal_display_get_root_window (SnDisplay *display, int number) { if (number >= 0 && number < display->n_screens) switch (display->type) { case SN_DISPLAY_TYPE_XLIB: return RootWindow (display->x.xlib.xdisplay, number); } return None; } /** * sn_internal_display_get_type * @display: an #SnDisplay * * * * Return value: X connection type */ enum SnDisplayType sn_internal_display_get_type (SnDisplay *display) { return display->type; } /** * sn_internal_display_get_screen_number: * @display an #SnDisplay * * * * Return value: The number of screen for this #SnDisplay **/ int sn_internal_display_get_screen_number (SnDisplay *display) { return display->n_screens; } /** * sn_display_process_event: * @display: a display * @xevent: X event * * libsn should be given a chance to see all X events by passing them * to this function. If the event was a property notify or client * message related to the launch feedback protocol, the * sn_display_process_event() returns true. Calling * sn_display_process_event() is not currently required for launchees, * only launchers and launch feedback displayers. The function returns * false for mapping, unmapping, window destruction, and selection * events even if they were involved in launch feedback. * * Return value: true if the event was a property notify or client message involved in launch feedback **/ sn_bool_t sn_display_process_event (SnDisplay *display, XEvent *xevent) { sn_bool_t retval; retval = FALSE; if (sn_internal_monitor_process_event (display)) retval = TRUE; if (sn_internal_xmessage_process_event (display, xevent)) retval = TRUE; return retval; } /** * sn_display_error_trap_push: * @display: a display * * Calls the push_trap_func from sn_display_new() if non-NULL. **/ void sn_display_error_trap_push (SnDisplay *display) { switch (display->type) { case SN_DISPLAY_TYPE_XLIB: if (display->x.xlib.push_trap_func) (* display->x.xlib.push_trap_func) (display, display->x.xlib.xdisplay); break; } } /** * sn_display_error_trap_pop: * @display: a display * * Calls the pop_trap_func from sn_display_new() if non-NULL. **/ void sn_display_error_trap_pop (SnDisplay *display) { switch (display->type) { case SN_DISPLAY_TYPE_XLIB: if (display->x.xlib.pop_trap_func) (* display->x.xlib.pop_trap_func) (display, display->x.xlib.xdisplay); break; } } void sn_internal_display_get_xmessage_data (SnDisplay *display, SnList **funcs, SnList **pending) { if (display->xmessage_funcs == NULL) display->xmessage_funcs = sn_list_new (); if (display->pending_messages == NULL) display->pending_messages = sn_list_new (); if (funcs) *funcs = display->xmessage_funcs; if (pending) *pending = display->pending_messages; } xfe-1.42/libsn/sn-monitor.h0000644000175100017510000001016412562633340012540 00000000000000/* Monitor API - if you are a program that monitors launch sequences */ /* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_MONITOR_H__ #define __SN_MONITOR_H__ #include SN_BEGIN_DECLS typedef struct SnMonitorContext SnMonitorContext; typedef struct SnMonitorEvent SnMonitorEvent; typedef struct SnStartupSequence SnStartupSequence; typedef void (* SnMonitorEventFunc) (SnMonitorEvent *event, void *user_data); typedef enum { SN_MONITOR_EVENT_INITIATED, SN_MONITOR_EVENT_COMPLETED, SN_MONITOR_EVENT_CHANGED, SN_MONITOR_EVENT_CANCELED /* not used for now */ } SnMonitorEventType; SnMonitorContext* sn_monitor_context_new (SnDisplay *display, int screen, SnMonitorEventFunc event_func, void *event_func_data, SnFreeFunc free_data_func); void sn_monitor_context_ref (SnMonitorContext *context); void sn_monitor_context_unref (SnMonitorContext *context); void sn_monitor_event_ref (SnMonitorEvent *event); void sn_monitor_event_unref (SnMonitorEvent *event); SnMonitorEvent* sn_monitor_event_copy (SnMonitorEvent *event); SnMonitorEventType sn_monitor_event_get_type (SnMonitorEvent *event); SnStartupSequence* sn_monitor_event_get_startup_sequence (SnMonitorEvent *event); SnMonitorContext* sn_monitor_event_get_context (SnMonitorEvent *event); void sn_startup_sequence_ref (SnStartupSequence *sequence); void sn_startup_sequence_unref (SnStartupSequence *sequence); const char* sn_startup_sequence_get_id (SnStartupSequence *sequence); sn_bool_t sn_startup_sequence_get_completed (SnStartupSequence *sequence); const char* sn_startup_sequence_get_name (SnStartupSequence *sequence); const char* sn_startup_sequence_get_description (SnStartupSequence *sequence); int sn_startup_sequence_get_workspace (SnStartupSequence *sequence); Time sn_startup_sequence_get_timestamp (SnStartupSequence *sequence); const char* sn_startup_sequence_get_wmclass (SnStartupSequence *sequence); const char* sn_startup_sequence_get_binary_name (SnStartupSequence *sequence); const char* sn_startup_sequence_get_icon_name (SnStartupSequence *sequence); int sn_startup_sequence_get_screen (SnStartupSequence *sequence); void sn_startup_sequence_get_initiated_time (SnStartupSequence *sequence, long *tv_sec, long *tv_usec); void sn_startup_sequence_get_last_active_time (SnStartupSequence *sequence, long *tv_sec, long *tv_usec); void sn_startup_sequence_complete (SnStartupSequence *sequence); SN_END_DECLS #endif /* __SN_MONITOR_H__ */ xfe-1.42/libsn/sn-launchee.h0000644000175100017510000000445312562633340012641 00000000000000/* Launchee API - if you are a program started by other programs */ /* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_LAUNCHEE_H__ #define __SN_LAUNCHEE_H__ #include SN_BEGIN_DECLS typedef struct SnLauncheeContext SnLauncheeContext; SnLauncheeContext* sn_launchee_context_new (SnDisplay *display, int screen, const char *startup_id); SnLauncheeContext* sn_launchee_context_new_from_environment (SnDisplay *display, int screen); void sn_launchee_context_ref (SnLauncheeContext *context); void sn_launchee_context_unref (SnLauncheeContext *context); const char* sn_launchee_context_get_startup_id (SnLauncheeContext *context); int sn_launchee_context_get_id_has_timestamp (SnLauncheeContext *context); Time sn_launchee_context_get_timestamp (SnLauncheeContext *context); void sn_launchee_context_complete (SnLauncheeContext *context); void sn_launchee_context_setup_window (SnLauncheeContext *context, Window xwindow); SN_END_DECLS #endif /* __SN_LAUNCHEE_H__ */ xfe-1.42/libsn/sn.h0000644000175100017510000000250412562633340011052 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_SN_H__ #define __SN_SN_H__ /* Convenience header that includes all the other headers */ #include #include #include #endif /* __SN_SN_H__ */ xfe-1.42/libsn/sn-monitor.c0000644000175100017510000005540012562633335012541 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include "sn-monitor.h" #include "sn-internals.h" #include "sn-xmessages.h" #include struct SnMonitorContext { int refcount; SnDisplay *display; int screen; SnMonitorEventFunc event_func; void *event_func_data; SnFreeFunc free_data_func; /* a context doesn't get events for sequences * started prior to context creation */ int creation_serial; }; struct SnMonitorEvent { int refcount; SnMonitorEventType type; SnMonitorContext *context; SnStartupSequence *sequence; }; struct SnStartupSequence { int refcount; SnDisplay *display; int screen; char *id; char *name; char *description; char *wmclass; int workspace; Time timestamp; char *binary_name; char *icon_name; unsigned int completed : 1; unsigned int canceled : 1; unsigned int timestamp_set : 1; int creation_serial; struct timeval initiation_time; }; static SnList *context_list = NULL; static SnList *sequence_list = NULL; static int next_sequence_serial = 0; static void xmessage_func (SnDisplay *display, const char *message_type, const char *message, void *user_data); /** * sn_monitor_context_new: * @display: an #SnDisplay * @screen: an X screen number * @event_func: function to call when an event is received * @event_func_data: extra data to pass to @event_func * @free_data_func: function to free @event_func_data when the context is freed * * Creates a new context for monitoring startup sequences. Normally * only launch feedback indicator applications such as the window * manager or task manager would use #SnMonitorContext. * #SnLauncherContext and #SnLauncheeContext are more often used by * applications. * * To detect startup sequence initiations, PropertyChangeMask must be * selected on all root windows for a display. libsn does not do this * for you because it's pretty likely to mess something up. So you * have to do it yourself in programs that use #SnMonitorContext. * * Return value: a new #SnMonitorContext **/ SnMonitorContext* sn_monitor_context_new (SnDisplay *display, int screen, SnMonitorEventFunc event_func, void *event_func_data, SnFreeFunc free_data_func) { SnMonitorContext *context; context = sn_new0 (SnMonitorContext, 1); context->refcount = 1; context->event_func = event_func; context->event_func_data = event_func_data; context->free_data_func = free_data_func; context->display = display; sn_display_ref (context->display); context->screen = screen; if (context_list == NULL) context_list = sn_list_new (); if (sn_list_empty (context_list)) sn_internal_add_xmessage_func (display, screen, "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", xmessage_func, NULL, NULL); sn_list_prepend (context_list, context); /* We get events for serials >= creation_serial */ context->creation_serial = next_sequence_serial; return context; } /** * sn_monitor_context_ref: * @context: an #SnMonitorContext * * Increments the reference count on @context. * **/ void sn_monitor_context_ref (SnMonitorContext *context) { context->refcount += 1; } /** * sn_monitor_context_unref: * @context: an #SnMonitorContext * * Decrements the reference count on @context and frees the * context if the count reaches 0. **/ void sn_monitor_context_unref (SnMonitorContext *context) { context->refcount -= 1; if (context->refcount == 0) { sn_list_remove (context_list, context); if (sn_list_empty (context_list)) sn_internal_remove_xmessage_func (context->display, context->screen, "_NET_STARTUP_INFO", xmessage_func, NULL); if (context->free_data_func) (* context->free_data_func) (context->event_func_data); sn_display_unref (context->display); sn_free (context); } } void sn_monitor_event_ref (SnMonitorEvent *event) { event->refcount += 1; } void sn_monitor_event_unref (SnMonitorEvent *event) { event->refcount -= 1; if (event->refcount == 0) { if (event->context) sn_monitor_context_unref (event->context); if (event->sequence) sn_startup_sequence_unref (event->sequence); sn_free (event); } } SnMonitorEvent* sn_monitor_event_copy (SnMonitorEvent *event) { SnMonitorEvent *copy; copy = sn_new0 (SnMonitorEvent, 1); copy->refcount = 1; copy->type = event->type; copy->context = event->context; if (copy->context) sn_monitor_context_ref (copy->context); copy->sequence = event->sequence; if (copy->sequence) sn_startup_sequence_ref (copy->sequence); return copy; } SnMonitorEventType sn_monitor_event_get_type (SnMonitorEvent *event) { return event->type; } SnStartupSequence* sn_monitor_event_get_startup_sequence (SnMonitorEvent *event) { return event->sequence; } SnMonitorContext* sn_monitor_event_get_context (SnMonitorEvent *event) { return event->context; } void sn_startup_sequence_ref (SnStartupSequence *sequence) { sequence->refcount += 1; } void sn_startup_sequence_unref (SnStartupSequence *sequence) { sequence->refcount -= 1; if (sequence->refcount == 0) { sn_free (sequence->id); sn_free (sequence->name); sn_free (sequence->description); sn_free (sequence->wmclass); sn_free (sequence->binary_name); sn_free (sequence->icon_name); sn_display_unref (sequence->display); sn_free (sequence); } } const char* sn_startup_sequence_get_id (SnStartupSequence *sequence) { return sequence->id; } sn_bool_t sn_startup_sequence_get_completed (SnStartupSequence *sequence) { return sequence->completed; } const char* sn_startup_sequence_get_name (SnStartupSequence *sequence) { return sequence->name; } const char* sn_startup_sequence_get_description (SnStartupSequence *sequence) { return sequence->description; } int sn_startup_sequence_get_workspace (SnStartupSequence *sequence) { return sequence->workspace; } Time sn_startup_sequence_get_timestamp (SnStartupSequence *sequence) { if (!sequence->timestamp_set) { fprintf (stderr, "libsn: Buggy startup-notification launcher! No timestamp!\n"); /* Unfortunately, all values are valid; let's just return -1 */ return -1; } else return sequence->timestamp; } const char* sn_startup_sequence_get_wmclass (SnStartupSequence *sequence) { return sequence->wmclass; } const char* sn_startup_sequence_get_binary_name (SnStartupSequence *sequence) { return sequence->binary_name; } const char* sn_startup_sequence_get_icon_name (SnStartupSequence *sequence) { return sequence->icon_name; } int sn_startup_sequence_get_screen (SnStartupSequence *sequence) { return sequence->screen; } /** * sn_startup_sequence_get_initiated_time: * @sequence: an #SnStartupSequence * @tv_sec: seconds as in struct timeval * @tv_usec: microseconds as struct timeval * * When a startup sequence is first monitored, libstartup-notification * calls gettimeofday() and records the time, this function * returns that recorded time. * **/ void sn_startup_sequence_get_initiated_time (SnStartupSequence *sequence, long *tv_sec, long *tv_usec) { if (tv_sec) *tv_sec = sequence->initiation_time.tv_sec; if (tv_usec) *tv_usec = sequence->initiation_time.tv_usec; } /** * sn_startup_sequence_get_last_active_time: * @sequence: an #SnStartupSequence * @tv_sec: seconds as in struct timeval * @tv_usec: microseconds as in struct timeval * * Returns the last time we had evidence the startup was active. * This function should be used to decide whether a sequence * has timed out. * **/ void sn_startup_sequence_get_last_active_time (SnStartupSequence *sequence, long *tv_sec, long *tv_usec) { /* for now the same as get_initiated_time */ if (tv_sec) *tv_sec = sequence->initiation_time.tv_sec; if (tv_usec) *tv_usec = sequence->initiation_time.tv_usec; } void sn_startup_sequence_complete (SnStartupSequence *sequence) { char *keys[2]; char *vals[2]; char *message; if (sequence->id == NULL) return; if (sequence->screen < 0) return; keys[0] = "ID"; keys[1] = NULL; vals[0] = sequence->id; vals[1] = NULL; message = sn_internal_serialize_message ("remove", (const char**) keys, (const char **) vals); sn_internal_broadcast_xmessage (sequence->display, sequence->screen, "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", message); sn_free (message); } static SnStartupSequence* sn_startup_sequence_new (SnDisplay *display) { SnStartupSequence *sequence; sequence = sn_new0 (SnStartupSequence, 1); sequence->refcount = 1; sequence->creation_serial = next_sequence_serial; ++next_sequence_serial; sequence->id = NULL; sequence->display = display; sn_display_ref (display); sequence->screen = -1; /* not set */ sequence->workspace = -1; /* not set */ sequence->timestamp = 0; sequence->timestamp_set = FALSE; sequence->initiation_time.tv_sec = 0; sequence->initiation_time.tv_usec = 0; gettimeofday (&sequence->initiation_time, NULL); return sequence; } typedef struct { SnMonitorEvent *base_event; SnList *events; } CreateContextEventsData; static sn_bool_t create_context_events_foreach (void *value, void *data) { /* Make a list of events holding a ref to the context they'll go to, * for reentrancy robustness */ SnMonitorContext *context = value; CreateContextEventsData *ced = data; /* Don't send events for startup sequences initiated before the * context was created */ if (ced->base_event->sequence->creation_serial >= context->creation_serial) { SnMonitorEvent *copy; copy = sn_monitor_event_copy (ced->base_event); copy->context = context; sn_monitor_context_ref (copy->context); sn_list_prepend (ced->events, copy); } return TRUE; } static sn_bool_t dispatch_event_foreach (void *value, void *data) { SnMonitorEvent *event = value; /* Dispatch and free events */ if (event->context->event_func) (* event->context->event_func) (event, event->context->event_func_data); sn_monitor_event_unref (event); return TRUE; } static sn_bool_t filter_event (SnMonitorEvent *event) { sn_bool_t retval; retval = FALSE; /* Filter out duplicate events and update flags */ switch (event->type) { case SN_MONITOR_EVENT_CANCELED: if (event->sequence->canceled) { retval = TRUE; } else { event->sequence->canceled = TRUE; } break; case SN_MONITOR_EVENT_COMPLETED: if (event->sequence->completed) { retval = TRUE; } else { event->sequence->completed = TRUE; } break; default: break; } return retval; } static SnStartupSequence* add_sequence (SnDisplay *display) { SnStartupSequence *sequence; sequence = sn_startup_sequence_new (display); if (sequence) { sn_startup_sequence_ref (sequence); /* ref held by sequence list */ if (sequence_list == NULL) sequence_list = sn_list_new (); sn_list_prepend (sequence_list, sequence); } return sequence; } static void remove_sequence (SnStartupSequence *sequence) { sn_list_remove (sequence_list, sequence); sn_startup_sequence_unref (sequence); } static void dispatch_monitor_event (SnDisplay *display, SnMonitorEvent *event) { if (event->type == SN_MONITOR_EVENT_INITIATED) { if (event->sequence == NULL) event->sequence = add_sequence (display); } if (event->sequence != NULL && !filter_event (event)) { CreateContextEventsData cced; cced.base_event = event; cced.events = sn_list_new (); sn_list_foreach (context_list, create_context_events_foreach, &cced); sn_list_foreach (cced.events, dispatch_event_foreach, NULL); /* values in the events list freed on dispatch */ sn_list_free (cced.events); /* remove from sequence list */ if (event->type == SN_MONITOR_EVENT_COMPLETED) remove_sequence (event->sequence); } } sn_bool_t sn_internal_monitor_process_event (SnDisplay *display) { sn_bool_t retval; if (context_list == NULL || sn_list_empty (context_list)) return FALSE; /* no one cares */ retval = FALSE; return retval; } typedef struct { SnDisplay *display; const char *id; SnStartupSequence *found; } FindSequenceByIdData; static sn_bool_t find_sequence_by_id_foreach (void *value, void *data) { SnStartupSequence *sequence = value; FindSequenceByIdData *fsd = data; if (strcmp (sequence->id, fsd->id) == 0 && sn_internal_display_get_id (sequence->display) == sn_internal_display_get_id (fsd->display)) { fsd->found = sequence; return FALSE; } return TRUE; } static SnStartupSequence* find_sequence_for_id (SnDisplay *display, const char *id) { FindSequenceByIdData fsd; if (sequence_list == NULL) return NULL; fsd.display = display; fsd.id = id; fsd.found = NULL; sn_list_foreach (sequence_list, find_sequence_by_id_foreach, &fsd); return fsd.found; } static sn_bool_t do_xmessage_event_foreach (void *value, void *data) { SnMonitorEvent *event = value; SnDisplay *display = data; dispatch_monitor_event (display, event); return TRUE; } static sn_bool_t unref_event_foreach (void *value, void *data) { sn_monitor_event_unref (value); return TRUE; } static void xmessage_func (SnDisplay *display, const char *message_type, const char *message, void *user_data) { /* assert (strcmp (message_type, KDE_STARTUP_INFO_ATOM) == 0); */ char *prefix; char **names; char **values; int i; const char *launch_id; SnStartupSequence *sequence; SnList *events; prefix = NULL; names = NULL; values = NULL; if (!sn_internal_unserialize_message (message, &prefix, &names, &values)) return; launch_id = NULL; i = 0; while (names[i]) { if (strcmp (names[i], "ID") == 0) { launch_id = values[i]; break; } ++i; } events = sn_list_new (); if (launch_id == NULL) goto out; sequence = find_sequence_for_id (display, launch_id); if (strcmp (prefix, "new") == 0) { if (sequence == NULL) { SnMonitorEvent *event; char *time_str; sequence = add_sequence (display); if (sequence == NULL) goto out; sequence->id = sn_internal_strdup (launch_id); /* Current spec says timestamp is part of the startup id; so we need * to get the timestamp here if the launcher is using the current spec */ time_str = sn_internal_find_last_occurrence (sequence->id, "_TIME"); if (time_str != NULL) { /* Skip past the "_TIME" part */ time_str += 5; sequence->timestamp = sn_internal_string_to_ulong (time_str); sequence->timestamp_set = TRUE; } event = sn_new (SnMonitorEvent, 1); event->refcount = 1; event->type = SN_MONITOR_EVENT_INITIATED; event->context = NULL; event->sequence = sequence; /* ref from add_sequence goes here */ sn_list_append (events, event); } } if (sequence == NULL) goto out; if (strcmp (prefix, "change") == 0 || strcmp (prefix, "new") == 0) { sn_bool_t changed = FALSE; i = 0; while (names[i]) { if (strcmp (names[i], "BIN") == 0) { if (sequence->binary_name == NULL) { sequence->binary_name = sn_internal_strdup (values[i]); changed = TRUE; } } else if (strcmp (names[i], "NAME") == 0) { if (sequence->name == NULL) { sequence->name = sn_internal_strdup (values[i]); changed = TRUE; } } else if (strcmp (names[i], "SCREEN") == 0) { if (sequence->screen < 0) { int n; n = atoi (values[i]); if (n >= 0 && n < sn_internal_display_get_screen_number (sequence->display)) { sequence->screen = n; changed = TRUE; } } } else if (strcmp (names[i], "DESCRIPTION") == 0) { if (sequence->description == NULL) { sequence->description = sn_internal_strdup (values[i]); changed = TRUE; } } else if (strcmp (names[i], "ICON") == 0) { if (sequence->icon_name == NULL) { sequence->icon_name = sn_internal_strdup (values[i]); changed = TRUE; } } else if (strcmp (names[i], "DESKTOP") == 0) { int workspace; workspace = sn_internal_string_to_ulong (values[i]); sequence->workspace = workspace; changed = TRUE; } else if (strcmp (names[i], "TIMESTAMP") == 0 && !sequence->timestamp_set) { /* Old version of the spec says that the timestamp was * sent as part of a TIMESTAMP message. We try to * handle that to enable backwards compatibility with * older launchers. */ Time timestamp; timestamp = sn_internal_string_to_ulong (values[i]); sequence->timestamp = timestamp; sequence->timestamp_set = TRUE; changed = TRUE; } else if (strcmp (names[i], "WMCLASS") == 0) { if (sequence->wmclass == NULL) { sequence->wmclass = sn_internal_strdup (values[i]); changed = TRUE; } } ++i; } if (strcmp (prefix, "new") == 0) { if (sequence->screen < 0) { SnMonitorEvent *event; event = sn_new (SnMonitorEvent, 1); event->refcount = 1; event->type = SN_MONITOR_EVENT_COMPLETED; event->context = NULL; event->sequence = sequence; sn_startup_sequence_ref (sequence); sn_list_append (events, event); fprintf (stderr, "Ending startup notification for %s (%s) because SCREEN " "field was not provided; this is a bug in the launcher " "application\n", sequence->name ? sequence->name : "???", sequence->binary_name ? sequence->binary_name : "???"); } } else if (changed) { SnMonitorEvent *event; event = sn_new (SnMonitorEvent, 1); event->refcount = 1; event->type = SN_MONITOR_EVENT_CHANGED; event->context = NULL; event->sequence = sequence; sn_startup_sequence_ref (sequence); sn_list_append (events, event); } } else if (strcmp (prefix, "remove") == 0) { SnMonitorEvent *event; event = sn_new (SnMonitorEvent, 1); event->refcount = 1; event->type = SN_MONITOR_EVENT_COMPLETED; event->context = NULL; event->sequence = sequence; sn_startup_sequence_ref (sequence); sn_list_append (events, event); } sn_list_foreach (events, do_xmessage_event_foreach, display); out: if (events != NULL) { sn_list_foreach (events, unref_event_foreach, NULL); sn_list_free (events); } sn_free (prefix); sn_internal_strfreev (names); sn_internal_strfreev (values); } xfe-1.42/libsn/sn-common.h0000644000175100017510000000431212562633340012337 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_COMMON_H__ #define __SN_COMMON_H__ #include #include SN_BEGIN_DECLS typedef struct SnDisplay SnDisplay; typedef void (* SnDisplayErrorTrapPush) (SnDisplay *display, Display *xdisplay); typedef void (* SnDisplayErrorTrapPop) (SnDisplay *display, Display *xdisplay); SnDisplay* sn_display_new (Display *xdisplay, SnDisplayErrorTrapPush push_trap_func, SnDisplayErrorTrapPop pop_trap_func); void sn_display_ref (SnDisplay *display); void sn_display_unref (SnDisplay *display); Display* sn_display_get_x_display (SnDisplay *display); sn_bool_t sn_display_process_event (SnDisplay *display, XEvent *xevent); void sn_display_error_trap_push (SnDisplay *display); void sn_display_error_trap_pop (SnDisplay *display); SN_END_DECLS #endif /* __SN_COMMON_H__ */ xfe-1.42/libsn/sn-xutils.h0000644000175100017510000000307412562633340012403 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_XUTILS_H__ #define __SN_XUTILS_H__ #include SN_BEGIN_DECLS Atom sn_internal_atom_get (SnDisplay *display, const char *atom_name); void sn_internal_set_utf8_string (SnDisplay *display, Window xwindow, const char *property, const char *str); SN_END_DECLS #endif /* __SN_XUTILS_H__ */ xfe-1.42/libsn/sn-launcher.h0000644000175100017510000000630712562633340012656 00000000000000/* Launcher API - if you are a program that starts other programs */ /* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_LAUNCHER_H__ #define __SN_LAUNCHER_H__ #include SN_BEGIN_DECLS typedef struct SnLauncherContext SnLauncherContext; SnLauncherContext* sn_launcher_context_new (SnDisplay *display, int screen); void sn_launcher_context_ref (SnLauncherContext *context); void sn_launcher_context_unref (SnLauncherContext *context); void sn_launcher_context_initiate (SnLauncherContext *context, const char *launcher_name, const char *launchee_name, Time timestamp); void sn_launcher_context_complete (SnLauncherContext *context); const char* sn_launcher_context_get_startup_id (SnLauncherContext *context); sn_bool_t sn_launcher_context_get_initiated (SnLauncherContext *context); void sn_launcher_context_setup_child_process (SnLauncherContext *context); void sn_launcher_context_set_name (SnLauncherContext *context, const char *name); void sn_launcher_context_set_description (SnLauncherContext *context, const char *description); void sn_launcher_context_set_workspace (SnLauncherContext *context, int workspace); void sn_launcher_context_set_wmclass (SnLauncherContext *context, const char *klass); void sn_launcher_context_set_binary_name (SnLauncherContext *context, const char *name); void sn_launcher_context_set_icon_name (SnLauncherContext *context, const char *name); void sn_launcher_context_set_extra_property (SnLauncherContext *context, const char *name, const char *value); void sn_launcher_context_get_initiated_time (SnLauncherContext *context, long *tv_sec, long *tv_usec); void sn_launcher_context_get_last_active_time (SnLauncherContext *context, long *tv_sec, long *tv_usec); SN_END_DECLS #endif /* __SN_LAUNCHER_H__ */ xfe-1.42/libsn/sn-xmessages.h0000644000175100017510000000562612562633340013057 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_XMESSAGES_H__ #define __SN_XMESSAGES_H__ #include SN_BEGIN_DECLS typedef void (* SnXmessageFunc) (SnDisplay *display, const char *message_type, const char *message, void *user_data); void sn_internal_add_xmessage_func (SnDisplay *display, int screen, const char *message_type, const char *message_type_begin, SnXmessageFunc func, void *func_data, SnFreeFunc free_data_func); void sn_internal_remove_xmessage_func (SnDisplay *display, int screen, const char *message_type, SnXmessageFunc func, void *func_data); void sn_internal_broadcast_xmessage (SnDisplay *display, int screen, const char *message_type, const char *message_type_begin, const char *message); char* sn_internal_serialize_message (const char *prefix, const char **property_names, const char **property_values); sn_bool_t sn_internal_unserialize_message (const char *message, char **prefix, char ***property_names, char ***property_values); SN_END_DECLS #endif /* __SN_XMESSAGES_H__ */ xfe-1.42/libsn/sn-list.h0000644000175100017510000000376012562633340012030 00000000000000/* List abstraction used internally */ /* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #ifndef __SN_LIST_H__ #define __SN_LIST_H__ #include SN_BEGIN_DECLS /* FIXME use sn_internal prefix for all this */ typedef struct SnList SnList; typedef sn_bool_t (* SnListForeachFunc) (void *value, void *data); SnList* sn_list_new (void); void sn_list_free (SnList *list); void sn_list_prepend (SnList *list, void *data); void sn_list_append (SnList *list, void *data); void sn_list_remove (SnList *list, void *data); void sn_list_foreach (SnList *list, SnListForeachFunc func, void *data); sn_bool_t sn_list_empty (SnList *list); SN_END_DECLS #endif /* __SN_LIST_H__ */ xfe-1.42/libsn/sn-xutils.c0000644000175100017510000000440612562633335012402 00000000000000/* * Copyright (C) 2002 Red Hat, Inc. * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, copy, * modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ #include #include "sn-internals.h" #include #include Atom sn_internal_atom_get (SnDisplay *display, const char *atom_name) { switch (sn_internal_display_get_type (display)) { case SN_DISPLAY_TYPE_XLIB: return XInternAtom (sn_display_get_x_display (display), atom_name, False); } return None; } void sn_internal_set_utf8_string (SnDisplay *display, Window xwindow, const char *property, const char *str) { sn_display_error_trap_push (display); switch (sn_internal_display_get_type (display)) { case SN_DISPLAY_TYPE_XLIB: XChangeProperty (sn_display_get_x_display (display), xwindow, sn_internal_atom_get (display, property), sn_internal_atom_get (display, "UTF8_STRING"), 8, PropModeReplace, (unsigned char*) str, strlen (str)); break; } sn_display_error_trap_pop (display); } xfe-1.42/xfw.10000644000175100017510000000142312437622000010027 00000000000000.TH "XFW" "1" "3 December 2014" "Roland Baudin" "" .SH "NAME" xfw \- A simple text editor for X Window .SH "SYNOPSIS" \fBxfw\fP [\-h] [\-\-help] [\-v] [\-\-version] [\fIfilename1\fP] [\fIfilename2\fP] [\fIfilename3\fP] [\fI...\fP] .SH "DESCRIPTION" X File Write (xfw) is a simple text editor, to be used with X File Explorer (xfe) or stand alone. .SH "AUTHOR" Roland Baudin . .SH "OPTIONS" xfw accepts the following options: .TP .B \-r, \-\-read-only Open files in read-only mode. .TP .B \-h, \-\-help Print the help screen and exit. .TP .B \-v, \-\-version Print xfe version information and exit. .TP .B filename1 filename2 filename3 ... Specifies the path(s) to the text file(s) to open when starting xfw. .SH "SEE ALSO" .BR xfe (1), .BR xfi (1), .BR xfp (1) xfe-1.42/xferc.in0000644000175100017510000004717012625057104010617 00000000000000# # Xfe default settings # Version : 05/01/2015 # # These settings are overridden in ~/.xfe/xferc # [SETTINGS] # # Where to search for icons # iconpath = @prefix@/share/xfe/icons/gnomeblue-theme [KEYBINDINGS] # # Default key bindings # These shortcuts can be changed by copying them to your .xferc file # # Common default key bindings for all Xfe applications # Note : ESC and Return key bindings are hardcoded select_all=Ctrl-A copy=Ctrl-C search=Ctrl-F search_prev=Shift-Ctrl-G search_next=Ctrl-G go_home=Ctrl-H invert_selection=Ctrl-I open=Ctrl-O print=Ctrl-P quit=Ctrl-Q paste=Ctrl-V close=Ctrl-W cut=Ctrl-X deselect_all=Ctrl-Z help=F1 new_file=Ctrl-N new_folder=F7 big_icons=F10 small_icons=F11 full_file_list=F12 hidden_files=Ctrl-F6 thumbnails=Ctrl-F7 go_work=Shift-F2 go_up=Backspace go_back=Ctrl-Backspace go_forward=Shift-Backspace # Key bindings specific to X File Explorer (Xfe) add_bookmark=Ctrl-B filter=Ctrl-D execute_command=Ctrl-E new_symlink=Ctrl-J switch_panels=Ctrl-K clear_location=Ctrl-L mount=Ctrl-M rename=F2 refresh=Ctrl-R symlink_to=Ctrl-S terminal=Ctrl-T unmount=Ctrl-U synchronize_panels=Ctrl-Y new_window=F3 edit=F4 copy_to=F5 move_to=F6 properties=F9 one_panel=Ctrl-F1 tree_panel=Ctrl-F2 two_panels=Ctrl-F3 tree_two_panels=Ctrl-F4 hidden_dirs=Ctrl-F5 go_to_trash=Ctrl-F8 new_root_window=Shift-F3 view=Shift-F4 move_to_trash=Del restore_from_trash=Alt-Del delete=Shift-Del empty_trash_can=Ctrl-Del # Key bindings specific to X File Image (Xfi) # Note : Ctrl-+ and Ctrl-- (zoom in and zoom out) key bindings are hardcoded zoom_win=Ctrl-F mirror_horizontally=Ctrl-H zoom_100=Ctrl-I rotate_left=Ctrl-L rotate_right=Ctrl-R mirror_vertically=Ctrl-V # Key bindings specific to X File Write (Xfw) word_wrap=Ctrl-K goto_line=Ctrl-L new=Ctrl-N replace=Ctrl-R save=Ctrl-S line_numbers=Ctrl-T upper_case=Shift-Ctrl-U lower_case=Ctrl-U redo=Ctrl-Y undo=Ctrl-Z [FILETYPES] # # You can add new types and customizations in the file ~/.xfe/xferc # Format : # ext = "open command, view command, edit command;short description;bigicon.png;miniicon.png;mime type" # Full names instead of ext are allowed # Extensions ext should be all lower case # Mime type is not used yet # Default text viewer, editor, etc. are specified as , , etc. # These definitions correspond to the user defined programs in Preferences / Programs dialog # The related file associations can also be changed through Xfe gui or directly within this file # # Xfe configuration files xferc = ",,;Xfe Configuration;config_32x32.png;config_16x16.png;;" xfprc = ",,;Xfe Configuration;config_32x32.png;config_16x16.png;;" xfirc = ",,;Xfe Configuration;config_32x32.png;config_16x16.png;;" xfwrc = ",,;Xfe Configuration;config_32x32.png;config_16x16.png;;" # Administration menu.lst = ",,;Grub Configuration;config_32x32.png;config_16x16.png;;" # Trash info trashinfo = ",,;Trash info;text_32x32.png;text_16x16.png;;" # Information bugs = ",,;Bugs File;bug_32x32.png;bug_16x16.png;;" news = ",,;News File;news_32x32.png;news_16x16.png;;" copyright = ",,;Copyright File;info_32x32.png;info_16x16.png;;" install = ",,;Install File;info_32x32.png;info_16x16.png;;" readme = ",,;Readme File;help_32x32.png;help_16x16.png;;" log = ",,;Log File;info_32x32.png;info_16x16.png;;" changelog = ",,;Log File;info_32x32.png;info_16x16.png;;" control = ",,;Control File;info_32x32.png;info_16x16.png;;" copying = ",,;Copyright File;info_32x32.png;info_16x16.png;;" authors = ",,;Authors File;info_32x32.png;info_16x16.png;;" watch = ",,;Watch File;info_32x32.png;info_16x16.png;;" todo = ",,;Todo File;info_32x32.png;info_16x16.png;;" about-nls = ",,;NLS File;info_32x32.png;info_16x16.png;;" # Bin formats so = ",,;Shared Library;so_32x32.png;shared_16x16.png;;" a = ",,;Static Library;a_32x32.png;shared_16x16.png;;" la = ",,;Libtool library file;a_32x32.png;shared_16x16.png;;" # Edition / compilation / scripting rules = ",,;Rules Makefile;make_32x32.png;make_16x16.png;;" makefile = ",,;Makefile;make_32x32.png;make_16x16.png;;" makefile.am = ",,;Automake Makefile;make_32x32.png;make_16x16.png;;" mk = ",,;Makefile;make_32x32.png;make_16x16.png;;" ac = ",,;Configure Makefile;make_32x32.png;make_16x16.png;;" in = ",,;Configure Makefile;make_32x32.png;make_16x16.png;;" configure = ",,;Configure Script;make_32x32.png;make_16x16.png;;" sh = ",,;Shell Script;shell_32x32.png;shell_16x16.png;;" csh = ",,;C-Shell Script;shell_32x32.png;shell_16x16.png;;" h = ",,;C Header;h_32x32.png;h_16x16.png;;" hpp = ",,;C++ Header;h_32x32.png;h_16x16.png;;" hxx = ",,;C++ Header;h_32x32.png;h_16x16.png;;" o = ",,;Object File;o_32x32.png;o_16x16.png;;" c = ",,;C Source;c_32x32.png;c_16x16.png;;" cc = ",,;C++ Source;cc_32x32.png;cc_16x16.png;;" cpp = ",,;C++ Source;cc_32x32.png;cc_16x16.png;;" cxx = ",,;C++ Source;cc_32x32.png;cc_16x16.png;;" bas = ",,;Basic Source;text_32x32.png;text_16x16.png;;" java = ",,;Java Source;java_32x32.png;java_16x16.png;;" class = ",,;Java Binary;class_32x32.png;class_16x16.png;;" core = ",,;Core Dump;core_32x32.png;core_16x16.png;;" pl = ",,;Perl Source;text_32x32.png;text_16x16.png;;" pm = ",,;Perl Module;text_32x32.png;text_16x16.png;;" py = ",,;Python Source;text_32x32.png;text_16x16.png;;" pyo = ",,;Python Object;o_32x32.png;o_16x16.png;;" rb = ",,;Ruby Source;text_32x32.png;text_16x16.png;;" ml = ",,;Caml Source;text_32x32.png;text_16x16.png;;" pas = ",,;Pascal Source;text_32x32.png;text_16x16.png;;" tcl = ",,;Tcl Source;tcl_32x32.png;tcl_16x16.png;;" bak = ",,;Backup File;bak_32x32.png;bak_16x16.png;;" conf = ",,;Configuration file;config_32x32.png;config_16x16.png;;" config = ",,;Configuration file;config_32x32.png;config_16x16.png;;" ini = ",,;Configuration file;config_32x32.png;config_16x16.png;;" kdelnk = ",,;KDE Link;config_32x32.png;config_16x16.png;;" desktop = ",,;Desktop Entry;config_32x32.png;config_16x16.png;;" txt = ",,;Plain Text;text_32x32.png;text_16x16.png;;" m = ",,;Matlab Source;m_32x32.png;m_16x16.png;;" sci = ",,;Scilab Function;sci_32x32.png;sci_16x16.png;;" sce = ",,;Scilab Script;sci_32x32.png;sci_16x16.png;;" vhdl = ",,;Vhdl Source;vhdl_32x32.png;vhdl_16x16.png;;" vhd = ",,;Vhdl Source;vhdl_32x32.png;vhdl_16x16.png;;" vlog = ",,;Verilog Source;vlog_32x32.png;vlog_16x16.png;;" diff = ",,;Diff File;text_32x32.png;text_16x16.png;;" po = ",,;Locale File;text_32x32.png;text_16x16.png;;" dpatch = ",,;Debian Patch;text_32x32.png;text_16x16.png;;" patch = ",,;Source Patch;text_32x32.png;text_16x16.png;;" spec = ",,;RPM Spec;rpm_32x32.png;rpm_16x16.png;;" xml = ",,;XML File;text_32x32.png;text_16x16.png;;" frm = ",,;VisualBasic Source;text_32x32.png;text_16x16.png;;" asc = ",,;ASCII File;text_32x32.png;text_16x16.png;;" # Web html = "firefox,firefox,;Hyper Text;html_32x32.png;html_16x16.png;;" htm = "firefox,firefox,;Hyper Text;html_32x32.png;html_16x16.png;;" php = "firefox,firefox,;PHP Source;html_32x32.png;html_16x16.png;;" js = ",,;Javascript;html_32x32.png;html_16x16.png;;" css = ",,;Style Sheet;text_32x32.png;text_16x16.png;;" # LaTeX / Postscript / PDF tex = ",,;TeX Document;tex_32x32.png;tex_16x16.png;;" dvi = "xdvi,xdvi,;DVI Document;dvi_32x32.png;dvi_16x16.png;;" pdf = ",,;PDF Document;pdf_32x32.png;pdf_16x16.png;;" ps = "gv,gv,;PostScript Document;ps_32x32.png;ps_16x16.png;;" eps = "gv,gv,;Encapsulated PostScript Document;ps_32x32.png;ps_16x16.png;;" djvu = "djview,djview,;DJVU Document;djvu_32x32.png;djvu_16x16.png;;" xoj = "xournal,xournal,xournal;PDF Edit Information;gz_32x32.png;gz_16x16.png;;" # eBooks epub = "fbreader,fbreader,;ePub eBook;epub_32x32.png;epub_16x16.png;;" fb2 = "fbreader,fbreader,;FB2 eBook;epub_32x32.png;epub_16x16.png;;" orb = "fbreader,fbreader,;ORB eBook;epub_32x32.png;epub_16x16.png;;" # LibreOffice odb = "lobase,lobase,lobase;OpenDocument Database;odf_32x32.png;odf_16x16.png;;" odt = "lowriter,lowriter,lowriter;OpenDocument Text;odt_32x32.png;odt_16x16.png;;" odp = "loimpress,loimpress,loimpress;OpenDocument Presentation;odp_32x32.png;odp_16x16.png;;" odg = "lodraw,lodraw,lodraw;OpenDocument Graphic;odg_32x32.png;odg_16x16.png;;" ods = "localc,localc,localc;OpenDocument Spreadsheet;ods_32x32.png;ods_16x16.png;;" odf = "lomath,lomath,lomath;OpenDocument Formula;odf_32x32.png;odf_16x16.png;;" ott = "lowriter,lowriter,lowriter;OpenDocument Template Text;odt_32x32.png;odt_16x16.png;;" otp = "loimpress,loimpress,loimpress;OpenDocument Template Presentation;odp_32x32.png;odp_16x16.png;;" otg = "lodraw,lodraw,lodraw;OpenDocument Template Graphic;odg_32x32.png;odg_16x16.png;;" ots = "localc,localc,localc;OpenDocument Template Spreadsheet;ods_32x32.png;ods_16x16.png;;" otf = "lomath,lomath,lomath;OpenDocument Template Formula;odf_32x32.png;odf_16x16.png;;" sxw = "lowriter,lowriter,lowriter;OpenOffice 1.0 Text;sxw_32x32.png;sxw_16x16.png;;" sxi = "loimpress,loimpress,loimpress;OpenOffice 1.0 Impress;sxi_32x32.png;sxi_16x16.png;;" sxc = "localc,localc,localc;OpenOffice 1.0 Calc;sxc_32x32.png;sxc_16x16.png;;" sxm = "lomath,lomath,lomath;OpenOffice 1.0 Math;sxm_32x32.png;sxm_16x16.png;;" sxd = "lodraw,lodraw,lodraw;OpenOffice 1.0 Draw;sxd_32x32.png;sxd_16x16.png;;" sdw = "lowriter,lowriter,lowriter;Starwriter 5.0 Document;sxw_32x32.png;sxw_16x16.png;;" sdi = "loimpress,loimpress,loimpress;StarImpress 5.0 Document;sxi_32x32.png;sxi_16x16.png;;" sdc = "localc,localc,localc;StarCalc 5.0 Document;sxc_32x32.png;sxc_16x16.png;;" smf = "lomath,lomath,lomath;StarMath 5.0 Document;sxm_32x32.png;sxm_16x16.png;;" sda = "lodraw,lodraw,lodraw;StarDraw 5.0 Document;sxd_32x32.png;sxd_16x16.png;;" # MS Office rtf = "lowriter,lowriter,lowriter;RTF Document;doc_32x32.png;doc_16x16.png;;" dot = "lowriter,lowriter,lowriter;Word Template;doc_32x32.png;doc_16x16.png;;" doc = "lowriter,lowriter,lowriter;Word Document;doc_32x32.png;doc_16x16.png;;" wbk = "lowriter,lowriter,lowriter;Word Backup Document;doc_32x32.png;doc_16x16.png;;" wri = "lowriter,lowriter,lowriter;Write Document;doc_32x32.png;doc_16x16.png;;" pot = "loimpress,loimpress,loimpress;PowerPoint Template;ppt_32x32.png;ppt_16x16.png;;" ppt = "loimpress,loimpress,loimpress;PowerPoint Presentation;ppt_32x32.png;ppt_16x16.png;;" pps = "loimpress,loimpress,loimpress;PowerPoint Show;ppt_32x32.png;ppt_16x16.png;;" docx = "lowriter,lowriter,lowriter;Word OOXML Document;doc_32x32.png;doc_16x16.png;;" xlsx = "localc,localc,localc;Excel OOXML Spreadsheet;xls_32x32.png;xls_16x16.png;;" pptx = "loimpress,loimpress,loimpress;PowerPoint OOXML Presentation;ppt_32x32.png;ppt_16x16.png;;" xls = "localc,localc,localc;Excel Spreadsheet;xls_32x32.png;xls_16x16.png;;" xlt = "localc,localc,localc;Excel Template;xls_32x32.png;xls_16x16.png;;" vsd = "lodraw,lodraw,lodraw;Visio Drawing;vsd_32x32.png;vsd_16x16.png;;" vst = "lodraw,lodraw,lodraw;Visio Template;vsd_32x32.png;vsd_16x16.png;;" vss = "lodraw,lodraw,lodraw;Visio Solution;vsd_32x32.png;vsd_16x16.png;;" # Bitmap images png = ",,;PNG Image;png_32x32.png;png_16x16.png;;" jpg = ",,;JPEG Image;jpeg_32x32.png;jpeg_16x16.png;;" jpeg = ",,;JPEG Image;jpeg_32x32.png;jpeg_16x16.png;;" xbm = ",,;X Bitmap;xbm_32x32.png;xbm_16x16.png;;" xpm = ",,;X Pixmap;xpm_32x32.png;xpm_16x16.png;;" tif = ",,;TIFF Image;tif_32x32.png;tif_16x16.png;;" tiff = ",,;TIFF Image;tif_32x32.png;tif_16x16.png;;" gif = ",,;GIF Image;gif_32x32.png;gif_16x16.png;;" bmp = ",,;BMP Image;bmp_32x32.png;bmp_16x16.png;;" xcf = ",,;XCF Image;xcf_32x32.png;xcf_16x16.png;;" ico = ",,;Icon Image;gif_32x32.png;gif_16x16.png;;" # Fonts ttf = "fontforge,,fontforge;TrueType Font;font_32x32.png;font_16x16.png;;" otf = "fontforge,,fontforge;OpenType Font;font_32x32.png;font_16x16.png;;" sfd = "fontforge,fontforge,fontforge;Fontforge Source Font;font_32x32.png;font_16x16.png;;" pfa = ",,;Type1 Font;font_32x32.png;font_16x16.png;;" pfb = "fontforge,,fontforge;Type1 Font;font_32x32.png;font_16x16.png;;" afm = ",,fontforge;Type1 Font Metric;font_32x32.png;font_16x16.png;;" pfm = ",,;Type1 Font Metric;font_32x32.png;font_16x16.png;;" # Vector graphics svg = "inkscape,inkscape,inkscape;SVG Image;svg_32x32.png;svg_16x16.png;;" dia = "dia,dia,dia;Dia Drawing;dia_32x32.png;dia_16x16.png;;" emf = ",,;EMF Image;drw_32x32.png;drw_16x16.png;;" wmf = ",,;WMF Image;drw_32x32.png;drw_16x16.png;;" cgm = ",,;CGM Image;drw_32x32.png;drw_16x16.png;;" fig = "xfig,xfig,xfig;FIG Image;drw_32x32.png;drw_16x16.png;;" # DTP sla = "scribus,scribus,scribus;Scribus Document;sla_32x32.png;sla_16x16.png;;" slc = "scribus,scribus,scribus;Scribus Document;sla_32x32.png;sla_16x16.png;;" # Sound wav = ",,audacity;Wave Audio;wave_32x32.png;wave_16x16.png;;" mp3 = ",,audacity;MPEG Audio;mp3_32x32.png;mp3_16x16.png;;" m4a = ",,audacity;MPEG Audio;mp3_32x32.png;mp3_16x16.png;;" mpeg3 = ",,audacity;MPEG Audio;mp3_32x32.png;mp3_16x16.png;;" ogg = ",,audacity;Ogg Vorbis Audio;mp3_32x32.png;mp3_16x16.png;;" xm = ",,;Audio module;wave_32x32.png;wave_16x16.png;;" mod = ",,;Audio module;wave_32x32.png;wave_16x16.png;;" s3m = ",,;Audio module;wave_32x32.png;wave_16x16.png;;" au = "play,play,;Sound;sound_32x32.png;sound_16x16.png;;" aup = "audacity,audacity,audacity;Sound;sound_32x32.png;sound_16x16.png;;" midi = "timidity,timidity,;MIDI File;midi_32x32.png;midi_16x16.png;;" mid = "timidity,timidity,;MIDI File;midi_32x32.png;midi_16x16.png;;" pls = ",,;XMMS Playlist;mp3_32x32.png;mp3_16x16.png;;" m3u = ",,;Audio Playlist;mp3_32x32.png;mp3_16x16.png;;" flac = ",,audacity;FLAC Audio;sound_32x32.png;sound_16x16.png;;" aac = ",,audacity;AAC Audio;sound_32x32.png;sound_16x16.png;;" # Video avi = ",,avidemux --load;Video;video_32x32.png;video_16x16.png;;" vob = ",,avidemux --load;MPEG Video;video_32x32.png;video_16x16.png;;" mpeg = ",,avidemux --load;MPEG Video;video_32x32.png;video_16x16.png;;" mpg = ",,avidemux --load;MPEG Video;video_32x32.png;video_16x16.png;;" wmv = ",,;WMV Video;video_32x32.png;video_16x16.png;;" mov = ",,;MPEG Video;video_32x32.png;video_16x16.png;;" ogm = ",,;OggMedia Video;video_32x32.png;video_16x16.png;;" ogv = ",,;Ogg Video;video_32x32.png;video_16x16.png;;" mkv = ",,;MKV Video;video_32x32.png;video_16x16.png;;" flv = ",,;Flash Video;video_32x32.png;video_16x16.png;;" rm = "realplay,realplay,;RealPlayer Video;video_32x32.png;video_16x16.png;;" ram = "realplay,realplay,;RealPlayer Video;video_32x32.png;video_16x16.png;;" tox = ",,;Video Playlist;video_32x32.png;video_16x16.png;;" mp4 = ",,;MPEG4 Video;video_32x32.png;video_16x16.png;;" # Archives # Be careful: by default, extracting overwrite files with the same name rpm = "xfp,xfp,xfp;RPM Package;rpm_32x32.png;rpm_16x16.png;;" deb = "xfp,xfp,xfp;DEB Package;deb_32x32.png;deb_16x16.png;;" zip = ",,;ZIP Archive;zip_32x32.png;zip_16x16.png;;" 7z = ",,;7ZIP Archive;zip_32x32.png;zip_16x16.png;;" gz = ",,;Gzipped File;gz_32x32.png;gz_16x16.png;;" xz = ",,;XZipped File;gz_32x32.png;gz_16x16.png;;" bz2 = ",,;Bzipped File;bz2_32x32.png;bz2_16x16.png;;" tar = ",,;Tar Archive;tar_32x32.png;tar_16x16.png;;" tgz = ",,;Gzipped Tar;tgz_32x32.png;tgz_16x16.png;;" tar.gz = ",,;Gzipped Tar;tgz_32x32.png;tgz_16x16.png;;" taz = ",,;Compressed Tar;tgz_32x32.png;tgz_16x16.png;;" tar.z = ",,;Compressed Tar;tgz_32x32.png;tgz_16x16.png;;" txz = ",,;XZipped Tar;tgz_32x32.png;tgz_16x16.png;;" tar.xz = ",,;XZipped Tar;tgz_32x32.png;tgz_16x16.png;;" tbz2 = ",,;Bzipped Tar;tbz2_32x32.png;tbz2_16x16.png;;" tar.bz2 = ",,;Bzipped Tar;tbz2_32x32.png;tbz2_16x16.png;;" tbz = ",,;Bzipped Tar;tbz2_32x32.png;tbz2_16x16.png;;" z = ",,;Compressed File;z_32x32.png;z_16x16.png;;" rar = ",,;RAR Archive;rar_32x32.png;rar_16x16.png;;" lzh = ",,;LZH Archive;lzh_32x32.png;lzh_16x16.png;;" arj = ",,;ARJ Archive;arj_32x32.png;arj_16x16.png;;" ace = ",,;ACE Archive;ace_32x32.png;ace_16x16.png;;" jar = ",,;Java Archive;zip_32x32.png;zip_16x16.png;;" # Filesystems image files img = ",,;Image File;package_32x32.png;package_16x16.png;;" iso = ",,;ISO9660 Image;package_32x32.png;package_16x16.png;;" # Windows exe = "wine,,;Windows EXE;exe_32x32.png;exe_16x16.png;;" chm = "xchm,xchm,xchm;Windows Help;chm_32x32.png;chm_16x16.png;;" # File transfer torrent = "transmission-gtk,transmission-gtk,;Torrent File;dl_32x32.png;dl_16x16.png;;" xfe-1.42/NEWS0000644000175100017510000000004011444154372007643 00000000000000Please see the ChangeLog file. xfe-1.42/xfe.spec.in0000644000175100017510000000552011444154372011217 00000000000000Name: @PACKAGE@ Version: @VERSION@ Summary: X File Explorer (Xfe) is a file manager for X. Release: 1 License: GPL Group: File tools Requires: fox >= 1.6 libpng >= 1.2 BuildRequires: fox-devel >= 1.6 libpng-devel >= 1.2 Source: %{name}-%{version}.tar.gz Packager: Roland Baudin BuildRoot: %{_tmppath}/%{name}-buildroot %description X File Explorer (Xfe) is a filemanager for X. It is based on the popular X Win Commander, which is discontinued. Xfe is desktop independent and is written with the C++ Fox Toolkit. It has Windows Commander or MS-Explorer look and is very fast and simple. The main features are: file associations, mount/umount devices, directory tree for quick cd, change file attributes, auto save registry, compressed archives view/creation/extraction and much more. %prep %setup -q %build %configure --with-included-gettext --enable-release make %install rm -rf %{buildroot} %makeinstall %find_lang %{name} if [ -f %{buildroot}%{_datadir}/locale/locale.alias ]; then rm %{buildroot}%{_datadir}/locale/locale.alias fi %clean rm -rf %{buildroot} %files -f %{name}.lang %defattr(644,root,root,755) %doc AUTHORS COPYING README TODO BUGS %attr(755,root,root) %{_bindir}/* %{_datadir}/xfe/icons/* %{_datadir}/xfe/xferc %{_datadir}/applications/xf*.desktop %{_datadir}/pixmaps/* %{_mandir}/man1/* %changelog * Tue Sep 8 2009 Roland Baudin - Added desktop files to the files section * Tue Feb 13 2007 Roland Baudin - Fixed again the location of the config file xferc * Tue Feb 6 2007 Roland Baudin - Rebuild for Fedora Core 6 - Fixed the location of the config file xferc * Thu Nov 23 2006 Roland Baudin - Added configure --enable-release option * Wed Oct 11 2006 Roland Baudin - FOX 1.6.x support - Removed the static build option * Tue Jun 21 2005 Roland Baudin - FOX 1.4.x support. * Tue Aug 3 2004 Andrzej Stypula - locale adjustment * Thu Jul 29 2004 Andrzej Stypula - file permissions adjustment * Thu Jul 29 2004 Roland Baudin - FOX 1.2.x support. * Fri Dec 19 2003 Roland Baudin - Rebuild for Fedora Core 1. * Mon Oct 8 2003 Roland Baudin - Add of libPNG requirements. * Mon Sep 8 2003 Roland Baudin - Spec file for RedHat 9. * Fri Jul 18 2003 Roland Baudin - Add of the man pages and fix of the locale.alias problem. * Mon Apr 14 2003 Roland Baudin - Fixed the Xfe icon destination. * Fri Apr 11 2003 Roland Baudin - Add of i18n. * Tue Jan 28 2003 Roland Baudin - Add of the '--with-static' build option. * Thu Oct 15 2002 Roland Baudin - First release of the spec file for RedHat 7.3. xfe-1.42/xfi.desktop.in.in0000644000175100017510000000042112425731543012343 00000000000000[Desktop Entry] _Name=Xfi _GenericName=Image Viewer _Comment=A simple image viewer for Xfe Exec=xfi %f Terminal=false Type=Application StartupNotify=@STARTUPNOTIFY@ MimeType=image/bmp;image/jpeg;image/gif;image/png;image/tiff;image/xpm; Icon=xfi Categories=Utility;Viewer; xfe-1.42/xfi.10000644000175100017510000000131712437622013010017 00000000000000.TH "XFI" "1" "3 December 2014" "Roland Baudin" "" .SH "NAME" xfi \- A simple image viewer for X Window .SH "SYNOPSIS" \fBxfi\fP [\-h] [\-\-help] [\-v] [\-\-version] [\fIimage filename\fP] .SH "DESCRIPTION" X File Image (xfi) is a simple image viewer, to be used with X File Explorer (xfe) or stand alone. It features image rotations, mirroring and zooming. .SH "AUTHOR" Roland Baudin . .SH "OPTIONS" xfi accepts the following options: .TP .B \-h, \-\-help Print the help screen and exit. .TP .B \-v, \-\-version Print xfe version information and exit. .TP .B image filename Specifies the path to the image file to open when starting xfi. .SH "SEE ALSO" .BR xfe (1), .BR xfw (1), .BR xfp (1) xfe-1.42/missing0000755000175100017510000001533012550553153010552 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: xfe-1.42/COPYING0000644000175100017510000004310511444154372010210 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. xfe-1.42/compile0000755000175100017510000001624512550553153010537 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: xfe-1.42/xfp.desktop.in.in0000644000175100017510000000044212425731571012356 00000000000000[Desktop Entry] _Name=Xfp _GenericName=Package Manager _Comment=A simple package manager for Xfe Exec=xfp %f Terminal=false Type=Application StartupNotify=@STARTUPNOTIFY@ MimeType=application/x-deb;application/x-debian-package;application/x-rpm; Icon=xfp Categories=Utility;PackageManager; xfe-1.42/m4/0000755000175100017510000000000012746115271007553 500000000000000xfe-1.42/m4/Makefile.in0000644000175100017510000003412012634035433011535 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs \ ChangeLog DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ EXTRA_DIST = intl.m4 intldir.m4 lock.m4 visibility.m4 glibc2.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/m4/longdouble.m40000644000175100017510000000227711444154372012076 00000000000000# longdouble.m4 serial 2 (gettext-0.15) dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the compiler supports the 'long double' type. dnl Prerequisite: AC_PROG_CC dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics. AC_DEFUN([gt_TYPE_LONGDOUBLE], [ AC_CACHE_CHECK([for long double], gt_cv_c_long_double, [if test "$GCC" = yes; then gt_cv_c_long_double=yes else AC_TRY_COMPILE([ /* The Stardent Vistra knows sizeof(long double), but does not support it. */ long double foo = 0.0; /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ int array [2*(sizeof(long double) >= sizeof(double)) - 1]; ], , gt_cv_c_long_double=yes, gt_cv_c_long_double=no) fi]) if test $gt_cv_c_long_double = yes; then AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) fi ]) xfe-1.42/m4/nls.m40000644000175100017510000000226611444154372010536 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) xfe-1.42/m4/signed.m40000644000175100017510000000115411444154372011206 00000000000000# signed.m4 serial 1 (gettext-0.10.40) dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([bh_C_SIGNED], [ AC_CACHE_CHECK([for signed], bh_cv_c_signed, [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) if test $bh_cv_c_signed = no; then AC_DEFINE(signed, , [Define to empty if the C compiler doesn't support this keyword.]) fi ]) xfe-1.42/m4/xsize.m40000644000175100017510000000064511444154372011103 00000000000000# xsize.m4 serial 3 dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_REQUIRE([AC_C_INLINE]) AC_CHECK_HEADERS(stdint.h) ]) xfe-1.42/m4/inttypes.m40000644000175100017510000000147211444154372011617 00000000000000# inttypes.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gt_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) ]) if test $gt_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) xfe-1.42/m4/lcmessage.m40000644000175100017510000000240411444154372011677 00000000000000# lcmessage.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([gt_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi ]) xfe-1.42/m4/size_max.m40000644000175100017510000000461011444154372011554 00000000000000# size_max.m4 serial 5 dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS(stdint.h) dnl First test whether the system already has SIZE_MAX. AC_MSG_CHECKING([for SIZE_MAX]) AC_CACHE_VAL([gl_cv_size_max], [ gl_cv_size_max= AC_EGREP_CPP([Found it], [ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif ], gl_cv_size_max=yes) if test -z "$gl_cv_size_max"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. Try hard to find a definition that can dnl be used in a preprocessor #if, i.e. doesn't contain a cast. _AC_COMPUTE_INT([sizeof (size_t) * CHAR_BIT - 1], size_t_bits_minus_1, [#include #include ], size_t_bits_minus_1=) _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, [#include ], fits_in_uint=) if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. AC_TRY_COMPILE([#include extern size_t foo; extern unsigned long foo; ], [], fits_in_uint=0) fi dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl works only with 'long' integers in the host environment, while we dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else dnl Shouldn't happen, but who knows... gl_cv_size_max='((size_t)~(size_t)0)' fi fi ]) AC_MSG_RESULT([$gl_cv_size_max]) if test "$gl_cv_size_max" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi ]) xfe-1.42/m4/po.m40000644000175100017510000004336711444154372010367 00000000000000# po.m4 serial 13 (gettext-0.15) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, [AC_TRY_COMPILE([#include wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) fi ]) xfe-1.42/m4/isc-posix.m40000644000175100017510000000170611444154372011656 00000000000000# isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) xfe-1.42/m4/lock.m40000644000175100017510000002770511444154372010677 00000000000000# lock.m4 serial 6 (gettext-0.16) dnl Copyright (C) 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Tests for a multithreading library to be used. dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, dnl USE_PTH_THREADS, USE_WIN32_THREADS dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with dnl libtool). dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for dnl programs that really need multithread functionality. The difference dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. AC_DEFUN([gl_LOCK_EARLY], [ AC_REQUIRE([gl_LOCK_EARLY_BODY]) ]) dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once. AC_DEFUN([gl_LOCK_EARLY_BODY], [ dnl Ordering constraints: This macro modifies CPPFLAGS in a way that dnl influences the result of the autoconf tests that test for *_unlocked dnl declarations, on AIX 5 at least. Therefore it must come early. AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl AC_BEFORE([$0], [gl_ARGP])dnl AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc systems dnl Check for multithreading. AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) AC_HELP_STRING([--disable-threads], [build without multithread safety]), [gl_use_threads=$enableval], [case "$host_os" in dnl Disable multithreading by default on OSF/1, because it interferes dnl with fork()/exec(): When msgexec is linked with -lpthread, its child dnl process gets an endless segmentation fault inside execvp(). osf*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using : case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks . cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_TRY_LINK test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in . case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi ]) dnl The guts of gl_LOCK. Needs to be expanded only once. AC_DEFUN([gl_LOCK_BODY], [ AC_REQUIRE([gl_LOCK_EARLY_BODY]) gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then dnl Check whether the compiler and linker support weak declarations. AC_MSG_CHECKING([whether imported symbols can be declared weak]) gl_have_weak=no AC_TRY_LINK([extern void xyzzy (); #pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) AC_MSG_RESULT([$gl_have_weak]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks . It's added above, in gl_LOCK_EARLY_BODY. AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no) if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. AC_TRY_LINK([#include ], [pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0);], [gl_have_pthread=yes]) # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. AC_CHECK_LIB(pthread, pthread_kill, [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1, [Define if the pthread_in_use() detection is hard.]) esac ]) else # Some library is needed. Try libpthread and libc_r. AC_CHECK_LIB(pthread, pthread_kill, [gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) if test -z "$gl_have_pthread"; then # For FreeBSD 4. AC_CHECK_LIB(c_r, pthread_kill, [gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix AC_DEFINE([USE_POSIX_THREADS], 1, [Define if the POSIX multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then AC_DEFINE([USE_POSIX_THREADS_WEAK], 1, [Define if references to the POSIX multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. AC_CHECK_TYPE([pthread_rwlock_t], [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1, [Define if the POSIX multithreading library has read/write locks.])], [], [#include ]) # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. AC_TRY_COMPILE([#include ], [#if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif], [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1, [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" AC_TRY_LINK([#include #include ], [thr_self();], [gl_have_solaristhread=yes]) LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_SOLARIS_THREADS], 1, [Define if the old Solaris multithreading library can be used.]) if test $gl_have_weak = yes; then AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1, [Define if references to the old Solaris multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" AC_LIB_LINKFLAGS(pth) gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS -lpth" AC_TRY_LINK([#include ], [pth_self();], gl_have_pth=yes) LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_PTH_THREADS], 1, [Define if the GNU Pth multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then AC_DEFINE([USE_PTH_THREADS_WEAK], 1, [Define if references to the GNU Pth multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=win32 AC_DEFINE([USE_WIN32_THREADS], 1, [Define if the Win32 multithreading API can be used.]) fi fi fi fi AC_MSG_CHECKING([for multithread API to use]) AC_MSG_RESULT([$gl_threads_api]) AC_SUBST(LIBTHREAD) AC_SUBST(LTLIBTHREAD) AC_SUBST(LIBMULTITHREAD) AC_SUBST(LTLIBMULTITHREAD) ]) AC_DEFUN([gl_LOCK], [ AC_REQUIRE([gl_LOCK_EARLY]) AC_REQUIRE([gl_LOCK_BODY]) gl_PREREQ_LOCK ]) # Prerequisites of lib/lock.c. AC_DEFUN([gl_PREREQ_LOCK], [ AC_REQUIRE([AC_C_INLINE]) ]) dnl Survey of platforms: dnl dnl Platform Available Compiler Supports test-lock dnl flavours option weak result dnl --------------- --------- --------- -------- --------- dnl Linux 2.4/glibc posix -lpthread Y OK dnl dnl GNU Hurd/glibc posix dnl dnl FreeBSD 5.3 posix -lc_r Y dnl posix -lkse ? Y dnl posix -lpthread ? Y dnl posix -lthr Y dnl dnl FreeBSD 5.2 posix -lc_r Y dnl posix -lkse Y dnl posix -lthr Y dnl dnl FreeBSD 4.0,4.10 posix -lc_r Y OK dnl dnl NetBSD 1.6 -- dnl dnl OpenBSD 3.4 posix -lpthread Y OK dnl dnl MacOS X 10.[123] posix -lpthread Y OK dnl dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK dnl dnl HP-UX 11 posix -lpthread N (cc) OK dnl Y (gcc) dnl dnl IRIX 6.5 posix -lpthread Y 0.5 dnl dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK dnl dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK dnl -lpthread (gcc) Y dnl dnl Cygwin posix -lpthread Y OK dnl dnl Any of the above pth -lpth 0.0 dnl dnl Mingw win32 N OK dnl dnl BeOS 5 -- dnl dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is dnl turned off: dnl OK if all three tests terminate OK, dnl 0.5 if the first test terminates OK but the second one loops endlessly, dnl 0.0 if the first test already loops endlessly. xfe-1.42/m4/intmax.m40000644000175100017510000000201111444154372011226 00000000000000# intmax.m4 serial 3 (gettext-0.16) dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the system has the 'intmax_t' type, but don't attempt to dnl find a replacement if it is lacking. AC_DEFUN([gt_TYPE_INTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, [AC_TRY_COMPILE([ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) if test $gt_cv_c_intmax_t = yes; then AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) fi ]) xfe-1.42/m4/Makefile.am0000644000175100017510000000060511444154372011527 00000000000000EXTRA_DIST = intl.m4 intldir.m4 lock.m4 visibility.m4 glibc2.m4 intmax.m4 longdouble.m4 longlong.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 nls.m4 po.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 xfe-1.42/m4/lib-ld.m40000644000175100017510000000653111444154372011104 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) xfe-1.42/m4/intdiv0.m40000644000175100017510000000334011444154372011311 00000000000000# intdiv0.m4 serial 1 (gettext-0.11.3) dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ AC_TRY_RUN([ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, [ # Guess based on the CPU. case "$host_cpu" in alpha* | i[34567]86 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac ]) ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, [Define if integer division by zero raises signal SIGFPE.]) ]) xfe-1.42/m4/inttypes_h.m40000644000175100017510000000164411444154372012127 00000000000000# inttypes_h.m4 serial 7 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no)]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) xfe-1.42/m4/gettext.m40000644000175100017510000003773211444154372011434 00000000000000# gettext.m4 serial 59 (gettext-0.16.1) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) xfe-1.42/m4/glibc21.m40000644000175100017510000000144511444154372011163 00000000000000# glibc21.m4 serial 3 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) xfe-1.42/m4/ulonglong.m40000644000175100017510000000353211444154372011743 00000000000000# ulonglong.m4 serial 6 dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.60, but can be removed once we # assume 2.61 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[unsigned long long int ull = 18446744073709551615ULL; typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[unsigned long long int ullmax = 18446744073709551615ull; return (ull << 63 | ull >> 63 | ull << i | ull >> i | ullmax / ull | ullmax % ull);]])], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # This macro is obsolescent and should go away soon. AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) fi ]) xfe-1.42/m4/iconv.m40000644000175100017510000000642611444154372011062 00000000000000# iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) xfe-1.42/m4/codeset.m40000644000175100017510000000136611444154372011370 00000000000000# codeset.m4 serial 2 (gettext-0.16) dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) xfe-1.42/m4/glibc2.m40000644000175100017510000000135411444154372011101 00000000000000# glibc2.m4 serial 1 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Test for the GNU C Library, version 2.0 or newer. # From Bruno Haible. AC_DEFUN([gt_GLIBC2], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, ac_cv_gnu_library_2, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2=yes, ac_cv_gnu_library_2=no) ] ) AC_SUBST(GLIBC2) GLIBC2="$ac_cv_gnu_library_2" ] ) xfe-1.42/m4/ChangeLog0000644000175100017510000000717511444154372011256 000000000000002007-03-09 gettextize * codeset.m4: Upgrade to gettext-0.16.1. * intl.m4: New file, from gettext-0.16.1. * intldir.m4: New file, from gettext-0.16.1. * intmax.m4: Upgrade to gettext-0.16.1. * inttypes_h.m4: Upgrade to gettext-0.16.1. * inttypes-pri.m4: Upgrade to gettext-0.16.1. * lock.m4: New file, from gettext-0.16.1. * longdouble.m4: Upgrade to gettext-0.16.1. * longlong.m4: Upgrade to gettext-0.16.1. * size_max.m4: Upgrade to gettext-0.16.1. * stdint_h.m4: Upgrade to gettext-0.16.1. * ulonglong.m4: Upgrade to gettext-0.16.1. * visibility.m4: New file, from gettext-0.16.1. * Makefile.am (EXTRA_DIST): Add the new files. 2007-03-09 gettextize * gettext.m4: Upgrade to gettext-0.16.1. * lib-link.m4: Upgrade to gettext-0.16.1. * lib-prefix.m4: Upgrade to gettext-0.16.1. * nls.m4: Upgrade to gettext-0.16.1. * po.m4: Upgrade to gettext-0.16.1. 2005-12-16 gettextize * codeset.m4: Upgrade to gettext-0.14.5. * gettext.m4: Upgrade to gettext-0.14.5. * glibc2.m4: New file, from gettext-0.14.5. * glibc21.m4: Upgrade to gettext-0.14.5. * iconv.m4: Upgrade to gettext-0.14.5. * intdiv0.m4: Upgrade to gettext-0.14.5. * intmax.m4: New file, from gettext-0.14.5. * inttypes.m4: Upgrade to gettext-0.14.5. * inttypes_h.m4: Upgrade to gettext-0.14.5. * inttypes-pri.m4: Upgrade to gettext-0.14.5. * isc-posix.m4: Upgrade to gettext-0.14.5. * lcmessage.m4: Upgrade to gettext-0.14.5. * lib-ld.m4: Upgrade to gettext-0.14.5. * lib-link.m4: Upgrade to gettext-0.14.5. * lib-prefix.m4: Upgrade to gettext-0.14.5. * longdouble.m4: New file, from gettext-0.14.5. * longlong.m4: New file, from gettext-0.14.5. * nls.m4: Upgrade to gettext-0.14.5. * po.m4: Upgrade to gettext-0.14.5. * printf-posix.m4: New file, from gettext-0.14.5. * progtest.m4: Upgrade to gettext-0.14.5. * signed.m4: New file, from gettext-0.14.5. * size_max.m4: New file, from gettext-0.14.5. * stdint_h.m4: Upgrade to gettext-0.14.5. * uintmax_t.m4: Upgrade to gettext-0.14.5. * ulonglong.m4: Upgrade to gettext-0.14.5. * wchar_t.m4: New file, from gettext-0.14.5. * wint_t.m4: New file, from gettext-0.14.5. * xsize.m4: New file, from gettext-0.14.5. * Makefile.am (EXTRA_DIST): Add the new files. 2003-12-19 gettextize * gettext.m4: Upgrade to gettext-0.12.1. * iconv.m4: Upgrade to gettext-0.12.1. * intdiv0.m4: New file, from gettext-0.12.1. * inttypes.m4: New file, from gettext-0.12.1. * inttypes_h.m4: New file, from gettext-0.12.1. * inttypes-pri.m4: New file, from gettext-0.12.1. * isc-posix.m4: Upgrade to gettext-0.12.1. * lcmessage.m4: Upgrade to gettext-0.12.1. * lib-ld.m4: Upgrade to gettext-0.12.1. * lib-link.m4: Upgrade to gettext-0.12.1. * lib-prefix.m4: Upgrade to gettext-0.12.1. * nls.m4: New file, from gettext-0.12.1. * po.m4: New file, from gettext-0.12.1. * progtest.m4: Upgrade to gettext-0.12.1. * stdint_h.m4: New file, from gettext-0.12.1. * uintmax_t.m4: New file, from gettext-0.12.1. * ulonglong.m4: New file, from gettext-0.12.1. * Makefile.am (EXTRA_DIST): Add the new files. 2003-04-09 gettextize * codeset.m4: New file, from gettext-0.11.1. * gettext.m4: New file, from gettext-0.11.1. * glibc21.m4: New file, from gettext-0.11.1. * iconv.m4: New file, from gettext-0.11.1. * isc-posix.m4: New file, from gettext-0.11.1. * lcmessage.m4: New file, from gettext-0.11.1. * lib-ld.m4: New file, from gettext-0.11.1. * lib-link.m4: New file, from gettext-0.11.1. * lib-prefix.m4: New file, from gettext-0.11.1. * progtest.m4: New file, from gettext-0.11.1. * Makefile.am: New file. xfe-1.42/m4/lib-prefix.m40000644000175100017510000001503611444154372012002 00000000000000# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) xfe-1.42/m4/intl.m40000644000175100017510000002333011444154372010703 00000000000000# intl.m4 serial 3 (gettext-0.16) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. AC_PREREQ(2.52) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([gl_VISIBILITY])dnl AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl AC_REQUIRE([gt_TYPE_WCHAR_T])dnl AC_REQUIRE([gt_TYPE_WINT_T])dnl AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gt_TYPE_INTMAX_T]) AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gl_XSIZE])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). gt_CHECK_DECL(_snprintf, [#include ]) gt_CHECK_DECL(_snwprintf, [#include ]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(getc_unlocked, [#include ]) case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac AC_SUBST([HAVE_POSIX_PRINTF]) if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi AC_SUBST([HAVE_ASPRINTF]) if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi AC_SUBST([HAVE_SNPRINTF]) if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi AC_SUBST([HAVE_WPRINTF]) AM_LANGINFO_CODESET gt_LC_MESSAGES dnl Compilation on mingw and Cygwin needs special Makefile rules, because dnl 1. when we install a shared library, we must arrange to export dnl auxiliary pointer variables for every exported variable, dnl 2. when we install a shared library and a static library simultaneously, dnl the include file specifies __declspec(dllimport) and therefore we dnl must arrange to define the auxiliary pointer variables for the dnl exported variables _also_ in the static library. if test "$enable_shared" = yes; then case "$host_os" in cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else is_woe32dll=no fi WOE32DLL=$is_woe32dll AC_SUBST([WOE32DLL]) dnl Rename some macros and functions used for locking. AH_BOTTOM([ #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded ]) ]) dnl Checks for the core files of the intl subdirectory: dnl dcigettext.c dnl eval-plural.h dnl explodename.c dnl finddomain.c dnl gettextP.h dnl gmo.h dnl hash-string.h hash-string.c dnl l10nflist.c dnl libgnuintl.h.in (except the *printf stuff) dnl loadinfo.h dnl loadmsgcat.c dnl localealias.c dnl log.c dnl plural-exp.h plural-exp.c dnl plural.y dnl Used by libglocale. AC_DEFUN([gt_INTL_SUBDIR_CORE], [ AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_REQUIRE([gl_LOCK])dnl AC_TRY_LINK( [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }], [], [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1, [Define to 1 if the compiler understands __builtin_expect.])]) AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h]) AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ argz_next __fsetlocking]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(feof_unlocked, [#include ]) gt_CHECK_DECL(fgets_unlocked, [#include ]) AM_ICONV dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined, dnl and a _NL_LOCALE_NAME macro always. AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name, [AC_TRY_LINK([#include #include ], [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES));], gt_cv_nl_locale_name=yes, gt_cv_nl_locale_name=no) ]) if test $gt_cv_nl_locale_name = yes; then AC_DEFINE(HAVE_NL_LOCALE_NAME, 1, [Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.]) fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) dnl gt_CHECK_DECL(FUNC, INCLUDES) dnl Check whether a function is declared. AC_DEFUN([gt_CHECK_DECL], [ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, [AC_TRY_COMPILE([$2], [ #ifndef $1 char *p = (char *) $1; #endif ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) if test $ac_cv_have_decl_$1 = yes; then gt_value=1 else gt_value=0 fi AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) ]) xfe-1.42/m4/longlong.m40000644000175100017510000000327411444154372011561 00000000000000# longlong.m4 serial 8 dnl Copyright (C) 1999-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.60, but can be removed once we # assume 2.61 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), AC_TYPE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; int i = 63;]], [[long long int llmax = 9223372036854775807ll; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll));]])], [ac_cv_type_long_long_int=yes], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], 1, [Define to 1 if the system has the type `long long int'.]) fi ]) # This macro is obsolescent and should go away soon. AC_DEFUN([gl_AC_TYPE_LONG_LONG], [ AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) ac_cv_type_long_long=$ac_cv_type_long_long_int if test $ac_cv_type_long_long = yes; then AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the 'long long' type.]) fi ]) xfe-1.42/m4/printf-posix.m40000644000175100017510000000266111444154372012403 00000000000000# printf-posix.m4 serial 2 (gettext-0.13.1) dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the printf() function supports POSIX/XSI format strings with dnl positions. AC_DEFUN([gt_PRINTF_POSIX], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], gt_cv_func_printf_posix, [ AC_TRY_RUN([ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, [ AC_EGREP_CPP(notposix, [ #if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif ], gt_cv_func_printf_posix="guessing no", gt_cv_func_printf_posix="guessing yes") ]) ]) case $gt_cv_func_printf_posix in *yes) AC_DEFINE(HAVE_POSIX_PRINTF, 1, [Define if your printf() function supports format strings with positions.]) ;; esac ]) xfe-1.42/m4/uintmax_t.m40000644000175100017510000000207611444154372011751 00000000000000# uintmax_t.m4 serial 9 dnl Copyright (C) 1997-2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. AC_PREREQ(2.13) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . AC_DEFUN([gl_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG]) test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, [Define to unsigned long or unsigned long long if and don't define.]) else AC_DEFINE(HAVE_UINTMAX_T, 1, [Define if you have the 'uintmax_t' type in or .]) fi ]) xfe-1.42/m4/stdint_h.m40000644000175100017510000000161411444154372011552 00000000000000# stdint_h.m4 serial 6 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=no)]) if test $gl_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) xfe-1.42/m4/inttypes-pri.m40000644000175100017510000000215211444154372012403 00000000000000# inttypes-pri.m4 serial 4 (gettext-0.16) dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.52) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi AC_SUBST([PRI_MACROS_BROKEN]) ]) xfe-1.42/m4/progtest.m40000644000175100017510000000555011444154372011610 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) xfe-1.42/m4/visibility.m40000644000175100017510000000413011444154372012121 00000000000000# visibility.m4 serial 1 (gettext-0.15) dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Tests whether the compiler supports the command-line option dnl -fvisibility=hidden and the function and variable attributes dnl __attribute__((__visibility__("hidden"))) and dnl __attribute__((__visibility__("default"))). dnl Does *not* test for __visibility__("protected") - which has tricky dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on dnl MacOS X. dnl Does *not* test for __visibility__("internal") - which has processor dnl dependent semantics. dnl Does *not* test for #pragma GCC visibility push(hidden) - which is dnl "really only recommended for legacy code". dnl Set the variable CFLAG_VISIBILITY. dnl Defines and sets the variable HAVE_VISIBILITY. AC_DEFUN([gl_VISIBILITY], [ AC_REQUIRE([AC_PROG_CC]) CFLAG_VISIBILITY= HAVE_VISIBILITY=0 if test -n "$GCC"; then AC_MSG_CHECKING([for simple visibility declarations]) AC_CACHE_VAL(gl_cv_cc_visibility, [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" AC_TRY_COMPILE( [extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void);], [], gl_cv_cc_visibility=yes, gl_cv_cc_visibility=no) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_visibility]) if test $gl_cv_cc_visibility = yes; then CFLAG_VISIBILITY="-fvisibility=hidden" HAVE_VISIBILITY=1 fi fi AC_SUBST([CFLAG_VISIBILITY]) AC_SUBST([HAVE_VISIBILITY]) AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) ]) xfe-1.42/m4/lib-link.m40000644000175100017510000006424411444154372011447 00000000000000# lib-link.m4 serial 9 (gettext-0.16) dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.50) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) xfe-1.42/m4/wchar_t.m40000644000175100017510000000132611444154372011365 00000000000000# wchar_t.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) fi ]) xfe-1.42/m4/intldir.m40000644000175100017510000000161611444154372011405 00000000000000# intldir.m4 serial 1 (gettext-0.16) dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. AC_PREREQ(2.52) dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) xfe-1.42/po/0000755000175100017510000000000012746115274007654 500000000000000xfe-1.42/po/zh_TW.po0000644000175100017510000055640412746115274011205 00000000000000# Traditional Chinese Messages for xfe # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the xfe package. # Wei-Lun Chao , 2010. # msgid "" msgstr "" "Project-Id-Version: xfe 1.32.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2010-01-17 16:36+0800\n" "Last-Translator: Wei-Lun Chao \n" "Language-Team: Chinese (traditional) \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "用法:xfe [選項] [啟始目錄]\n" "\n" " [選項] 可以是任何下列的:\n" "\n" " -h, --help 印出 (此) 說明畫面然後離開。\n" " -v, --version 印出版本資訊然後離開。\n" " -i, --iconic 啟動時最小化。\n" " -m, --maximized 啟動時放到最大。\n" " -p n, --panel n 強制面板檢視模式為 n (n=0 => 目錄樹與單一面板,\n" " n=1 => 單一面板,n=2 => 雙面板,n=3 => 目錄樹與雙" "面板)。\n" "\n" " [啟始目錄] 是您在啟動時要開啟的初始目錄路徑。\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "警告:不明面板模式,還原成上一次儲存的面板模式\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "載入圖示時發生錯誤 " #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "無法載入某些圖示。請檢查您的圖示路徑!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "使用者" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "讀取" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "寫入" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "執行" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "群組" #: ../src/Properties.cpp:66 msgid "Others" msgstr "其他人" #: ../src/Properties.cpp:70 msgid "Special" msgstr "特殊" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "設定 UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "設定 GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "黏著" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "擁有者" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "命令" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "設定為標記" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "遞迴地" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "清空已標記" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "檔案和資料夾" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "加入已標記" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "只針對資料夾" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "只針對擁有者" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "只針對檔案" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "屬性" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "接受(&A)" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "取消(&C)" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "一般(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "權限(&P)" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "檔案關聯(&F)" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "擴充檔名:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "描述:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "開啟:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\t選取…" #: ../src/Properties.cpp:244 msgid "View:" msgstr "檢視:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "編輯:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "解壓:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "安裝/升級:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "大圖示:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "迷你圖示:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "名稱" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> 警告:檔案名稱不是 UTF-8 編碼!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "檔案系統 (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "資料夾" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "字元裝置" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "區段裝置" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "具名管道" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "通訊端" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "可執行檔案" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "文件" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "中斷的連結" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "連結到 " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "掛載點" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "掛載型態:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "已用:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "未用:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "檔案系統:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "位置:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "型態:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "總計大小:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "連結到:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "中斷的連結:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "原來的位置:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "檔案時間" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "上次修改日期:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "上次變更:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "上次存取:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "啟動通知" #: ../src/Properties.cpp:719 #, fuzzy msgid "Disable startup notification for this executable" msgstr "停用這個檔案的啟動通知" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "刪除日期:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu 位元組)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu 位元組)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "大小:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "選擇:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "多重類型" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d 個項目" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d 個檔案,%d 個資料夾" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "顯示已選檔案的屬性" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "顯示已選檔案的屬性" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "檔案屬性" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "警告" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "取消移動檔案作業!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "錯誤" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "無法寫入 %s:權限被拒絕" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "資料夾 %s 不存在" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "檔案重新命名" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "檔案擁有者" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "取消變更擁有者!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "在 %s 中 chown 失敗:%s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "在 %s 中 chown 失敗" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "設定特殊權限可能不太安全!您真的要做嗎?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "在 %s 中 chmod 失敗:%s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "檔案權限" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "取消變更檔案權限!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "在 %s 中 chmod 失敗" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " 在已選項目之中" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "取消變更檔案權限!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "選取可執行檔" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "所有檔案" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG 圖像" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF 圖像" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP 圖像" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "選取圖示檔案" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u 個檔案,%u 個資料夾" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "複製到此" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "移動到此" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "連結到此" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "取消" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "檔案複製" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "檔案移動" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "檔案符號連結" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "複製" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "複製 %s 檔案/資料夾。\n" "從:%s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "移動" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "移動 %s 檔案/資料夾。\n" "從:%s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "符號連結" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "到:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "移動檔案作業期間發生了錯誤!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "取消移動檔案作業!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "複製檔案作業期間發生了錯誤!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "取消複製檔案作業!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "掛載點 %s 並未反應中…" #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "連結到資料夾" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "資料夾" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "顯示隱藏資料夾" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "隱入隱藏資料夾" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 位元組於根目錄" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "面板具有焦點" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "切換面板" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " 權限:%s 被拒絕。" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "新資料夾(&F)…" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "隱藏資料夾(&H)" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "忽略大小寫(&A)" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "反向排序(&R)" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "展開目錄樹(&X)" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "摺疊目錄樹(&S)" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "面板(&L)" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "掛載(&O)" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "卸載(&T)" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "加入壓縮檔(&A)…" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "複製(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "剪下(&U)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "貼上(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "重新命名(&N)…" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "複製到(&Y)…" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移動到(&M)…" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "符號連結(&K)…" #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "丟進回收筒(&V)" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "從回收筒還原(&E)" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "刪除(&D)" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "屬性(&E)" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "無法刪除資料夾 %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "無法建立資料夾 %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "檔案名稱為空,作業取消!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "建立壓縮檔" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "複製 " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "複製 %s 項目自:%s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "重新命名" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "重新命名 " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "複製到" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "移動 " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "移動 %s 項目自:%s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "符號連結 " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "符號連結 %s 項目自:%s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s 並非資料夾" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "符號連結作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "符號連結作業取消!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "確定要刪除資料夾 %s?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "確認刪除" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "檔案刪除" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "資料夾 %s 不為空,無論如何都要刪除它?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "資料夾 %s 禁止寫入,無論如何都要刪除它?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "取消刪除資料夾作業!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "移動資料夾 %s 到回收筒?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "確認回收筒" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "丟進回收筒" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "資料夾 %s 為防寫的,無論如何還是要移動它到回收筒?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "丟進回收筒作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "取消丟進回收筒資料夾作業!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "從回收筒還原" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "還原資料夾 %s 到它的原來位置 %s?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "確認還原" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "還原資訊無法用於 %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "上層目錄 %s 不存在,您要建立它嗎?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "無法建立資料夾 %s:%s " #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "無法建立資料夾 %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "回收筒還原作業期間發生了錯誤!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "取消回收筒檔案還原作業!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "建立新的資料夾:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "新資料夾" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "執行命令" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "掛載" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "卸載" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " 檔案系統…" #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " 資料夾:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " 作業取消!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " 於根目錄" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "來源:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "目標:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "修改日期:" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "修改日期:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "刪除:" #: ../src/File.cpp:136 msgid "From:" msgstr "從:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "變更權限…" #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "檔案:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "變更擁有者…" #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "掛載檔案系統…" #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "掛載資料夾:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "卸載檔案系統…" #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "卸載資料夾:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "資料夾 %s 已經存在。覆寫?\n" "=> 小心,這個目錄之內的所有檔案將確定會失去!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "檔案 %s 已經存在。要覆寫嗎?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "確認覆寫" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "無法複製檔案 %s:%s " #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "無法複製檔案 %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "來源:" #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "目標:" #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "無法保留複製檔案 %s 時的日期:%s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "無法保留複製檔案 %s 時的日期" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "無法複製資料夾 %s:權限被拒絕" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "無法複製檔案 %s:權限被拒絕" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "無法保留複製資料夾 %s 時的日期:%s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "無法於複製資料夾 %s 時保留資料" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "來源 %s 不存在" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "來源 %s 與目標完全相同" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "刪除資料夾:" #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "從:" #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "無法刪除資料夾 %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "無法刪除資料夾 %s" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "無法刪除檔案 %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "無法刪除檔案 %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "檔案或資料夾 %s 已經存在" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "無法重新以目標 %s 命名" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "無法符號連結 %s:%s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "無法符號連結 %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "資料夾:" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "解開壓縮檔" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "加入到壓縮檔" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "失敗的命令:%s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "成功" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "資料夾 %s 已成功掛載。" #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "資料夾 %s 已成功卸載。" #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "安裝/升級套件" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "正在安裝套件:%s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "解除安裝套件" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "正在解除安裝套件:%s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "檔案名稱(&F):" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "確定(&O)" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "檔案篩選器(&I):" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "唯讀" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "移動到前一個資料夾。" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "移動到後一個資料夾。" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "前往上層目錄:" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "前往個人資料夾" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "前往工作資料夾。" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "新資料夾" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "大圖示列表" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "小圖示列表" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "完整檔案列表" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "顯示隱藏檔案" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "隱入隱藏檔案" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "顯示縮圖" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "不顯示縮圖" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "建立新的資料夾…" #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "建立新的檔案…" #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "新檔案" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "檔案或資料夾 %s 已經存在" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "前往個人資料夾(&M)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "前往工作資料夾(&W)" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "新檔案(&F)…" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "新資料夾(&O)…" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "隱藏檔案(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "縮圖(&B)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "大圖示(&I)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "小圖示(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "完整檔案列表" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "列(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "欄(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "自動調整大小" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "名稱(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "大小(&Z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "型態(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "擴充檔名(&X)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "日期(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "使用者(&U)" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "群組(&G)" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "資料夾" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "反向排序(&V)" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "字族(&F):" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "字重(&W):" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "字體(&S):" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "大小(&Z):" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "字元裝置" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "任何" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "西歐" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "東歐" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "南歐" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "北歐" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "斯拉夫語" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "阿拉伯語" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "希臘語" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "希伯來語" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "土耳其語" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "北歐語" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "泰語" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "波羅的海語" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "塞爾特語" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "俄語" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "中歐 (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "俄語 (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "拉丁語一 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "希臘語 (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "土耳其語 (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "希伯來語 (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "阿拉伯語 (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "波羅的海語 (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "越南 (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "泰語 (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "設定寬度:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "超壓縮" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "特壓縮" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "壓縮" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "半壓縮" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "一般" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "半寬" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "寬" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "特寬" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "超寬" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "間距:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "固定的" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "變動的" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "可伸縮的:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "所有字型:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "預覽:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "以 root 身分啟動 Xfe" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "否(&N)" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "是(&Y)" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "離開(&Q)" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "儲存(&S)" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "全部確定(&A)" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "輸入使用者密碼:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "輸入 Root 密碼:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "發生了錯誤!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "名稱:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "大小於根目錄" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "型態:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "修改日期:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "使用者:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "群組:" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "權限:" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "原始路徑:" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "刪除日期:" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "大小:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "大小" #: ../src/FileList.cpp:150 msgid "Type" msgstr "型態" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "擴充檔名" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "修改日期" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "權限" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "無法載入圖像" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "原始路徑" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "刪除日期" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "篩選器" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "狀態" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "確認刪除" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "命令記錄檔" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "檔案名稱為空,作業取消!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "到資料夾:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "無法寫入回收筒位置 %s:權限被拒絕" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "移動資料夾 %s 到回收筒?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "移動 %s 已選項目到回收筒?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "檔案 %s 為防寫,無論如何還是要移動它到回收筒?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "取消丟進回收筒的檔案作業!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "還原檔案 %s 到它的原來位置 %s?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "復原 %s 已選項目到原來位置?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "確定要刪除資料夾 %s?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "確定要刪除 %s 已選項目? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "檔案 %s 為防寫,無論如何都要刪除它?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "取消刪除檔案作業!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "建立新的檔案:" #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "無法建立資料夾 %s" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "無法符號連結 %s:%s" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "無法寫入 %s:權限被拒絕" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "建立新的符號連結:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "新的符號連結" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "選取符號連結所參考的檔案或資料夾" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "符號連結來源 %s 不存在" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "開啟已選檔案經由:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "開啟方式" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "關聯(&S)" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "顯示檔案:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "新檔案(&F)…" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新增符號連結(&Y)…" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "篩選器(&L)…" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "完整檔案列表(&F)" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "權限(&M)" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "新檔案(&W)…" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "掛載(&M)" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "開啟方式(&W)…" #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "開啟(&O)" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "解壓到資料夾(&A) " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "在此解壓(&E)" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "解壓到(&X)…" #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "檢視(&V)" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "安裝/升級(&G)" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "解除安裝(&I)" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "編輯(&E)" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "置換(&R)…" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "套件查詢(&Q)" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "描述(&D)" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "前往上層目錄:" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "複製到(&T)…" #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "丟進回收筒" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "從回收筒還原" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "來源:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "屬性" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "選取目的地資料夾" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "所有檔案" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "套件安裝/升級" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "套件解除安裝" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "錯誤!衍生失敗:%s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "無法建立資料夾 %s:%s " #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "無法建立資料夾 %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "找不到相容的套件管理員 (rpm 或 dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr "檔案 %s 屬於套件:%s" #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "資訊" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "檔案 %s 屬於套件:%s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 位元組" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s 在 %s 已選檔案之中" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 項" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " 項" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "連結" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - 篩選器:%s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "達到書籤限制數量。最後一筆書籤將被刪除…" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "清空書籤(&C)" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "您真的要離開 Xfe 嗎?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "關閉(&O)" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "無法刪除檔案 %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "無法刪除檔案 %s" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> 命令已取消 <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> 命令結束 <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\t選取目的地…" #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "選取一個檔案" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "選取檔案或目的資料夾" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "加入保存檔" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "新存檔名稱:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "格式:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "打包.gz\t存檔格式是 tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\t存檔格式是 zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\t存檔格式是 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "打包.bz2\t存檔格式是打包.bz2" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "打包.gz\t存檔格式是 tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "打包\t存檔格式是打包" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "打包.Z\t存檔格式是打包.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\t存檔格式是 gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\t存檔格式是 bz2" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "7z\t存檔格式是 7z" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\t存檔格式是 Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "偏好設定" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "目前佈景主題" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "選項" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "使用回收筒來刪除檔案 (安全刪除)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "包含命令以略過回收筒 (永久刪除)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "自動儲存版面配置" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "儲存視窗位置" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "單擊開啟檔案" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "單擊開啟檔案" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "在檔案和目錄列表中顯示工具提示" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "相對的調整檔案列表的大小" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "顯示檔案列表上的路徑鏈結器" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "應用程式開始時通知" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "前往個人目錄:" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "前往上層目錄:" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "顯示隱藏檔案和目錄。" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "在檔案列表和文字視窗中平滑捲動" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "滑鼠捲動速度:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "根目錄模式" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "允許根目錄模式" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "認證使用 su (使用 root 密碼)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "認證使用 sudo (使用使用者密碼)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "對話框(&D)" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "確認" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "確認複製/移動/重新命名/符號連結" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "確認拖放" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "確認丟進回收筒/從回收筒還原" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "確認刪除" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "確認刪除非空目錄" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "確認覆寫" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "確認刪除" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "檔案屬性" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "警告" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "掛載點無反應時發出警告" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "顯示掛載/卸載成功訊息" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "以 root 身分執行時發出警告" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "程式(&P)" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "預設程式" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "文字檢視器:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "文字編輯器:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "檔案權限" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "圖像編輯器:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "圖像檢視器:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "壓縮管理器" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "PDF 檢視器:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "音訊播放器:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "視訊播放器:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "終端機程式:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "掛載" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "卸載" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "佈景主題(&T)" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "顏色主題" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "自訂的顏色" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "連按兩下以自訂顏色" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "基底顏色" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "邊緣顏色" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "背景顏色" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "文字顏色" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "選擇區背景顏色" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "選取文字顏色" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "檔案列表背景顏色" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "檔案列表文字顏色" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "檔案列表高亮度顏色" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "進度條顏色" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "注意顏色" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "進度條顏色" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "控制元件" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "標準 (傳統控制項)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (現代外觀控制項)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "圖示佈景主題路徑" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\t選取路徑…" #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "字型(&F)" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "字型" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "一般字型:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " 選取…" #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "文字字型:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "按鍵組合(&K)" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "按鍵組合" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "修改按鍵組合…" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "還原預設按鍵組合…" #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "選取圖示主題路徑或圖示檔案" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "變更一般字型" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "變更文字字型" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "建立新的檔案" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "建立新的資料夾" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "複製到剪貼簿" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "剪下至剪貼簿" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "從剪貼簿貼上" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "開啟檔案" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "離開應用程式" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "全選" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "全不選" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "反向選取" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "顯示說明" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "切換顯示隱藏檔案" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "切換顯示縮圖" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "關閉視窗" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "列印檔案" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "搜尋" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "向前搜尋" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "向後搜尋" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "切換面板" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "切換面板" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "重新整理面板" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "建立新的符號連結" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "檔案屬性" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "丟進回收筒" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "從回收筒復原" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "刪除檔案" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "建立新的視窗" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "建立新的根目錄視窗" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "執行命令" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "啟動終端機" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "掛載檔案系統(只限於 Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "卸載檔案系統(只限於 Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "單一面板模式" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "目錄樹與面板模式" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "雙面板模式" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "目錄樹與雙面板模式" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "清除位置列" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "重新命名檔案" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "將檔案複製到" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "將檔案移動到" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "檔案符號連結到位置" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "加入書籤" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "同步面板" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "切換面板" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "前往回收筒" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "清空回收筒" #: ../src/Preferences.cpp:976 msgid "View" msgstr "檢視" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "編輯" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "切換顯示隱藏檔案" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "篩選器檔案" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "縮放圖像到 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "最適縮放視窗" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "向左旋轉圖像" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "向右旋轉圖像" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "水平鏡像圖像" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "垂直鏡像圖像" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "建立新的文件" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "儲存變更到檔案" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "前往列號" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "回復上次變更" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "重做上次變更" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "置換字串" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "切換字詞換列模式" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "切換列號模式" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "切換小寫模式" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "切換大寫模式" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "您真的要復原預設按鍵繫結嗎?\n" "\n" "您的所有自訂值將會失去!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "還原預設按鍵組合" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "重新啟動" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "按鍵繫結將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "捲動模式將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "佈景主題將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "路徑鏈結將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "按鍵樣式將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "一般字型將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "文字字型將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "跳過(&S)" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "全部跳過(&L)" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "來源:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "修改日期:" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "目標:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "執行" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "主控臺模式" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "關閉(&C)" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "重新整理面板" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "複製已選檔案到剪貼簿" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "剪下已選檔案到剪貼簿" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "顯示已選檔案的屬性" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "移動已選檔案到回收筒" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "刪除已選檔案" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "完整檔案列表(&U)" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "忽略大小寫(&G)" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "自動調整大小(&A)" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "套件查詢(&Q)" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "前往上層目錄:" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "複製 %s 項目自:%s" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "移動 %s 項目自:%s" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "符號連結 %s 項目自:%s" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " 項" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "列印檔案" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "顯示隱藏檔案和目錄。" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "到資料夾:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "新資料夾(&F)…" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "文字字型:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "列印檔案" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "總計大小:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "上次修改日期:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "上次修改日期:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "使用者:" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "篩選器檔案" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "群組:" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "篩選器檔案" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "檔案系統:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "檔案:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "篩選器檔案" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "權限:" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "檔案權限" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "顯示檔案:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "顯示檔案:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "建立新的符號連結:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "建立新的符號連結" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "遞迴地" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "卸載檔案系統…" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "向前搜尋" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "搜尋文字。" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\t選取路徑…" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "建立新的符號連結" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "從回收筒復原已選檔案" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "啟動 Xfe" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "顯示隱藏檔案和目錄。" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "掛載 (只適用 Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "卸載 (只適用 Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "顯示單一面板" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "顯示目錄樹和面板" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "顯示雙面板" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "顯示目錄樹和雙面板" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "清空位置" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "前往位置" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "新資料夾…" #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "前往個人資料夾(&H)" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "重新整理(&R)" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "複製到(&C)…" #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "符號連結到(&S)…" #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "屬性" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "檔案(&F)" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "全選(&S)" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "全部不選(&D)" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "反向選取(&I)" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "偏好設定(&R)" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "工具列(&G)" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "工具列(&T)" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "面板列(&P)" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "位置列(&L)" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "狀態列(&S)" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "單一面板(&O)" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "目錄樹與面板(&R)" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "雙面板(&P)" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "目錄樹與雙面板(&E)" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "切換面板(&I)" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "切換面板(&I)" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "加入書籤(&A)" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "清空書籤(&C)" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "書籤(&B)" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "篩選器(&F)…" #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "縮圖(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "大圖示(&B)" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "型態(&Y)" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "日期(&A)" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "使用者(&E)" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "群組(&O)" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "資料夾" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "左側面板(&L)" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "篩選器(&F)" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "資料夾" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "右側面板(&R)" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "開新視窗(&W)" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "新的根目錄視窗(&R)" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "執行命令(&X)…" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "終端機(&T)" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "同步面板(&S)" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "切換面板(&I)" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "前往上層目錄:" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "搜尋(&S)…" #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "卸載(&U)" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "工具(&T)" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "前往回收筒(&G)" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "回收筒大小(&T)" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "清空回收筒(&E)" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "回收筒(&R)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "求助(&H)" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "關於 X File Explorer(&A)" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "以 root 身分執行 Xfe!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "無法建立 Xfe 組配資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "無法建立 Xfe 組態資料夾 %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "找不到系統 xferc 檔案!請選取組態檔案…" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE 組態檔案" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "無法建立回收筒「檔案」資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "無法建立回收筒的「files」資料夾 %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "無法建立回收筒「資訊」資料夾 %s:%s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "無法建立回收筒的「info」資料夾 %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "說明" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer 版本 %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "基於 Maxim Baranov 編寫的 X WinCommander\n" #: ../src/XFileExplorer.cpp:3204 #, fuzzy msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "翻譯者\n" " -------------\n" "阿根廷西班牙語:Bruno Gilberto Luciani\n" "巴西葡萄牙語:Eduardo R.B.S., Jose Carlos Medeiros,\n" " Phantom X, Tomas Acauan Schertel\n" "加泰羅尼亞語:muzzol\n" "簡化漢語:Xin Li\n" "捷克語:David Vachulka\n" "丹麥語:Jonas Bardino,Vidar Jon Bauge\n" "法語:Claude Leo Mercier,Roland Baudin\n" "德語:Bastian Kleineidam,Joo Martin,Tim Benke\n" "希臘語:Nikos Papadopoulos\n" "匈牙利語:Attila Szervac,Sandor Sipos\n" "義大利語:Claudio Fontana,Giorgio Moscardi\n" "日語:Karl 歪斜\n" "挪威語:Vidar Jon Bauge\n" "波蘭語:Jacek Dziura\n" "葡萄牙語:Miguel Santinho\n" "俄語:Dimitri Sertolov\n" "西班牙語:Felix Medrano Sanz,Lucas「Basurero」Vieites,\n" " Martin Carr\n" "瑞典語:Anders F.Bjorklund\n" "土耳其語:erkaN\n" "傳統漢語:Wei-Lun Chao\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "關於 X File Explorer(&A)" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "面板(&P)" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "執行命令:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "主控臺模式" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "顯示隱藏檔案和目錄。" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "您真的要離開 Xfe 嗎?" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " 於根目錄" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "您真的要清空回收筒嗎?\n" "\n" "所有項目將確定會失去!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "回收筒大小:%s (%s 檔案,%s 子資料夾)\n" "\n" "已經修改日期:%s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "回收筒大小" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "無法讀取回收筒的「檔案」資料夾 %s!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "無法刪除資料夾 %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "檔案關聯(&F)" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "檔案關聯(&F)" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "偏好設定(&P)" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "開啟套件檔案" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "開啟(&O)…" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "工具(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "關於 X File Package(&A)" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "解除安裝(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "安裝/升級(&I)" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "描述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "檔案列表(&L)" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package 版本 %s 是簡單的 rpm 或 deb 套件管理員。\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "關於 X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM 來源套件" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM 套件" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB 套件" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "開啟文件" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "沒有載入任何套件" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "不明的套件格式" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "安裝/升級套件" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "解除安裝套件" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM 套件]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB 套件]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "查詢 %s 失敗!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "載入檔案時發生錯誤 " #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "無法開啟檔案:%s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "用法:xfp [選項] [套件]\n" "\n" " [選項] 可以是任何下列的:\n" "\n" " -h, --help 印出(此)說明畫面然後離開。\n" " -v, --version 印出版本資訊然後離開。\n" "\n" " [套件] 是您在啟動時要開啟的 rpm 或 deb 套件路徑。\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF 圖像" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP 圖像" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM 圖像" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX 圖像" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO 圖像" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB 圖像" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM 圖像" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA 圖像" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM 圖像" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG 圖像" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG 圖像" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF 圖像" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "圖像(&I)" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "開啟" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "開啟圖像。" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "列印" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "印出圖像檔案。" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "放大" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "放大圖像。" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "縮小" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "縮小圖像。" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "縮放 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "縮放圖像到 100%。" #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "最適縮放" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "最適縮放視窗。" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "向左旋轉" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "向左旋轉圖像。" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "向右旋轉" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "向右旋轉圖像。" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "水平鏡像" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "水平鏡像圖像。" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "垂直鏡像" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "垂直鏡像圖像。" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "列印(&P)…" #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "清空最近使用的檔案(&C)" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "清空最近使用的檔案選單。" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "離開 Xfi。" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "放大(&I)" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "縮小(&O)" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "縮放 100%(&M)" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "最適縮放視窗(&W)" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "向右旋轉(&R)" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "向右旋轉。" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "向左旋轉(&L)" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "向左旋轉。" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "水平鏡像(&H)" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "水平鏡像。" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "垂直鏡像(&V)" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "垂直鏡像。" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "顯示隱藏檔案和目錄。" #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "顯示縮圖。" #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "以大圖示顯示資料夾。" #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "以小圖示顯示資料夾。" #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "完整檔案列表(&D)" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "顯示詳細的資料夾列表。" #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "逐列檢視圖示。" #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "逐欄檢視圖示。" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "自動調整圖示名稱大小。" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "顯示工具列。" #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "檔案列表(&F)" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "顯示檔案列表。" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "檔案列表文字顏色" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "以大圖示顯示資料夾。" #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "篩選器圖像(&F)" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "只列出圖像檔。" #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "開啟時符合視窗(&W)" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "開啟圖像時縮放大小以配合視窗。" #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "關於 X File Image(&A)" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "關於 X File Image。" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image 版本 %s 是簡單的圖像檢視器。\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "關於 X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "載入圖像時發生錯誤 " #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "未支援的型態:%s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "無法載入圖像,檔案也許已損壞" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "文字字型將於重新啟動之後變更。\n" "現在要重新啟動 X File Explorer?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "開啟圖像" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "列印命令:\n" "(例:lpr -P <印表機名稱>)" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "用法:xfi [選項] [圖像]\n" "\n" " [選項] 可以是任何下列的:\n" "\n" " -h, --help 印出 (此) 說明畫面然後離開。\n" " -v, --version 印出版本資訊然後離開。\n" "\n" " [圖像] 是您在啟動時要開啟的圖像檔案路徑。\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite 偏好設定" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "編輯器(&E)" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "文字" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "換列邊界:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "跳格大小:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "截去游標輸入鍵:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "顏色(&C)" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "列" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "背景:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "文字:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "選取文字背景:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "選取文字:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "高亮度的文字背景:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "高亮度的文字:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "游標:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "列號背景:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "列號前景:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "搜尋(&S)" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "視窗(&W)" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " 列:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " 欄:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " 列:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "新增" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "建立新的資料夾。" #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "開啟文件檔案。" #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "儲存" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "儲存文件。" #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "關閉" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "關閉文件檔案。" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "印出文件。" #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "離開" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "關於 X File Write。" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "複製選擇區到剪貼簿。" #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "剪下" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "剪下選擇區到剪貼簿。" #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "貼上" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "從剪貼簿貼上。" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "前往列號。" #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "復原" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "復原上一次變更。" #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "重做" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "重做最後一筆復原。" #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "搜尋文字。" #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "向後搜尋選擇區" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "向後搜尋所選文字。" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "向前搜尋選擇區" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "向前搜尋下一個符合者。" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "開啟字詞換列" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "設定開啟字詞換列。" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "關閉字詞換列" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "設定關閉字詞換列。" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "顯示列號" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "顯示列號。" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "隱藏列號" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "隱藏列號。" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "新檔案(&N)…" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "將變更儲存到檔案。" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "另存新檔(&A)…" #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "儲存文件到其他檔案。" #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "關閉文件" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "清空最近使用的檔案(&C)" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "復原(&U)" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "重做(&R)" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "恢復原儲存狀態" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "恢復原來儲存的文件。" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "剪下(&T)" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "從剪貼簿貼上。" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "小寫(&W)" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "變更為小寫。" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "大寫(&E)" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "變更為大寫。" #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "前往列號(&G)…" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "全選(&A)" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "狀態列(&S)" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "顯示狀態列。" #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "搜尋(&S)…" #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "搜尋字串。" #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "置換(&R)…" #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "搜尋字串並以另一個置換。" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "向後搜尋選取區(&B)" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "向前搜尋選取區" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "字詞換列(&W)" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "切換字詞換列模式。" #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "列號(&L)" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "切換列號模式。" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "覆寫(&O)" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "切換覆寫模式。" #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "字型(&F)…" #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "變更文字字型。" #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "偏好設定(&M)…" #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "變更其他選項。" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "關於 X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "關於 X File Write。" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "檔案太大:%s (%d 位元組)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "無法讀取檔案:%s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "儲存檔案時發生錯誤 " #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "檔案太大:%s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "檔案:%s 已截斷。" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "無標題" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "無標題 %d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write 版本 %s 是簡單的文字編輯器。\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "關於 X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "變更字型" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "文字檔案" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C 原始碼檔案" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ 原始碼檔案" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ 表頭檔案" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML 檔案" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP 檔案" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "未儲存的文件" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "儲存 %s 到檔案中?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "儲存文件" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "覆寫文件" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "覆寫現有文件:%s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (已變更)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "唯讀" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "覆寫" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "插入" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "檔案已變更" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "已被其他程式變更。要從磁碟重新載入這個檔案?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "置換" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "前往列號" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "前往列號(&G):" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "用法:xfw [選項] [檔案1] [檔案2] [檔案3]…\n" "\n" " [選項] 可以是任何下列的:\n" "\n" " -h, --help 印出 (此) 說明畫面然後離開。\n" " -v, --version 印出版本資訊然後離開。\n" "\n" " [檔案1] [檔案2] [檔案3]… 是您在啟動時要開啟的檔案路徑。\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "根目錄模式" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "就緒。" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "置換(&R)" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "全部置換(&P)" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "搜尋:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "置換成:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "精確的(&A)" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "忽略大小寫(&I)" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "運算式(&X)" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "向後(&B)" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" "\n" "\n" " XFE,X File Explorer 檔案管理員\n" "\n" " \n" " \n" "\n" "\n" "\n" " [這個說明檔案最好使用固定的文字字型來檢視。您可以使用字型分頁的偏好設定對話" "框來設定它。]\n" "\n" "\n" "\n" " 這個程式是自由軟體;您可以遵循由自由軟體基金會發布的 GNU\n" " 通用公共授權來再次散布它和/或修改它;不論是以第二版或是 (您自行選擇的)\n" " 任何後續的版本。\n" "\n" " 發行本程式是希望該它能夠有用,但是沒有任何擔保;\n" " 亦無暗示性對於某一特定目的之適售性與適用性的擔保。\n" " 參看 GNU 通用公共授權以獲得更多細節。\n" "\n" "\n" "\n" " 描述\n" " =-=-=-=-=-=\n" "\n" " X File Explorer (xfe) 是用於 X11 的輕量檔案管理員, 使用 FOX 工具組所編" "寫。\n" " 它獨立於桌面系統並且很容易自訂。\n" " 它具有命令或檔案總管樣式,同時它很快速又體積小。\n" " Xfe 是基於常用但不再開發的 X Win Commander,原本由 Maxim Baranov 所編寫。\n" "\n" "\n" "\n" " 特徵\n" " =-=-=-=-=\n" "\n" " - 快速圖形使用者介面\n" " - UTF-8 支援\n" " - 命令/檔案總管介面與四種檔案管理員模式:a) 單一面板、b) 樹狀目錄\n" " 和單一面板、c) 雙面板和 d) 樹狀目錄和雙面板\n" " - 面板同步化和交換\n" " - 整合的文字編輯器 (X File Write,xfw)\n" " - 整合的文字檢視器 (X File View,xfv)\n" " - 整合的圖像檢視器 (X File Image,xfi)\n" " - 整合的套件 (rpm 或 deb) 檢視器/安裝程式/解除安裝程式 (X File Package," "xfp)\n" " - 複製/剪下/貼上檔案從和到我的最愛桌面 (GNOME/KDE/XFCE/ROX)\n" " - 拖放檔案從和到我的最愛桌面 (GNOME/KDE/XFCE/ROX)\n" " - 根模式與認證經由 su 或 sudo\n" " - 狀態列\n" " - 檔案關聯\n" " - 可選的回收筒用於檔案刪除計算 (相容 freedesktop.org 標準)\n" " - 自動儲存登錄\n" " - 連按兩下或按一下檔案和目錄巡覽\n" " - 在樹狀列表和檔案列表按一下滑鼠右鍵有快顯功能表\n" " - 變更檔案屬性\n" " - 掛載/卸載裝置 (只限於 Linux)\n" " - 掛載點無反應時警告 (只限於 Linux)\n" " - 工具列\n" " - 書籤\n" " - 上一步和轉寄歷史列表用於目錄巡覽\n" " - 顏色主題 (GNOME、KDE,Windows...)\n" " - 圖示主題 (Xfe、GNOME、KDE、XFCE、Tango,Windows...)\n" " - 控制主題 (標準或 Clearlooks)\n" " - 建立/擷取檔案 (支援 tar、compress、zip、gzip、bzip2、lzh、rar、ace、" "arj 和 7zip 格式)\n" " - 工具提示與檔案特性\n" " - 進度列或對話框用於長檔案操作\n" " - 縮圖圖像預覽\n" " - 可設定按鍵組合\n" " - 啟動通知 (可選的)\n" " - 更多…\n" "\n" "\n" "\n" " 預設按鍵組合\n" " =-=-=-=-=-=-=-=-=-=-=\n" "\n" " 下列為全域預設按鍵組合。這些按鍵組合共同於所有 X File 應用程式。\n" "\n" " * 全選 - Ctrl-A\n" " * 複製到剪貼簿 - Ctrl-C\n" " * 搜尋 - Ctrl-F\n" " * 搜尋前一個 - Shift-Ctrl-G\n" " * 搜尋下一個 - Ctrl-G\n" " * 前往主目錄 - Ctrl-H\n" " * 反向選擇 - Ctrl-I\n" " * 開啟檔案 - Ctrl-O\n" " * 列印檔案 - Ctrl-P\n" " * 離開應用程式 - Ctrl-Q\n" " * 貼上自剪貼簿 - Ctrl-V\n" " * 關閉視窗 - Ctrl-W\n" " * 剪下到剪貼簿 - Ctrl-X\n" " * 全部不選 - Ctrl-Z\n" " * 顯示幫助 - F1\n" " * 建立新的檔案 - F2\n" " * 建立新的資料夾 - F7\n" " * 大圖示列表 - F10\n" " * 小圖示列表 - F11\n" " * 詳細的檔案列表 - F12\n" " * 切換顯示隱藏檔案 - Ctrl-F6\n" " * 切換顯示縮圖 - Ctrl-F7\n" " * 前往工作目錄 - Shift-F2\n" " * 前往上層目錄 - 退格\n" " * 前往前一個目錄 - Ctrl-Backspace\n" " * 前往下一個目錄 - Shift-Backspace\n" "\n" "\n" " 下列為預設 X File Explorer 按鍵組合。這些按鍵組合特定用於 xfe 應用程式。\n" "\n" " * 加入書籤 - Ctrl-B\n" " * 篩選器檔案 - ctrl-D\n" " * 執行命令 - Ctrl-E\n" " * 建立新的符號連結 - Ctrl-J\n" " * 切換面板 - Ctrl-K\n" " * 清空位置列 - Ctrl-L\n" " * 掛載檔案系統 (只限於 Linux) - Ctrl-M\n" " * 重新命名檔案 - Ctrl-N\n" " * 重新整理面板 - Ctrl-R\n" " * 符號連結檔案到位置 - Ctrl-S\n" " * 啟動終端機 - Ctrl-T\n" " * 卸載檔案系統 (只限於 Linux) - Ctrl-U\n" " * 同步面板 - Ctrl-Y\n" " * 建立新的視窗 - F3\n" " * 編輯 - F4\n" " * 複製檔案到位置 - F5\n" " * 移動檔案到位置 - F6\n" " * 檔案特性 - F9\n" " * 單一面板模式 - Ctrl-F1\n" " * 樹和面板模式 - Ctrl-F2\n" " * 雙面板模式 - Ctrl-F3\n" " * 樹和雙面板模式 - Ctrl-F4\n" " * 切換顯示隱藏目錄 - Ctrl-F5\n" " * 前往回收筒 - Ctrl-F8\n" " * 建立新的根視窗 - Shift-F3\n" " * 檢視 - Shift-F4\n" " * 移動檔案到回收筒 - Del\n" " * 還原檔案自回收筒 - Alt-Del\n" " * 刪除檔案 - Shift-Del\n" " * 清空回收筒 - Ctrl-Del\n" "\n" "\n" " 下列為預設 X File Image 按鍵組合。這些按鍵組合特定用於 xfi 應用程式。\n" "\n" " * 最適縮放視窗 - Ctrl-F\n" " * 水平鏡像圖像 - Ctrl-H\n" " * 縮放圖像到 100% - Ctrl-I\n" " * 向左旋轉圖像 - Ctrl-L\n" " * 向右旋轉圖像 - Ctrl-R\n" " * 垂直鏡像圖像 - Ctrl-V\n" "\n" "\n" " 下列為預設 X File Write 按鍵組合。這些按鍵組合特定用於 xfw 應用程式。\n" "\n" " * 切換字詞換列模式 - Ctrl-K\n" " * 前往列號 - Ctrl-L\n" " * 建立新的文件 - Ctrl-N\n" " * 置換字串 - Ctrl-R\n" " * 儲存變更為檔案 - Ctrl-S\n" " * 切換列號模式 - Ctrl-T\n" " * 切換大寫模式 - Shift-Ctrl-U\n" " * 切換小寫模式 - Ctrl-U\n" " * 重做最後一次變更 - Ctrl-Y\n" " * 復原最後一次變更 - Ctrl-Z\n" "\n" "\n" " X File View (xfv) 和 X File Package (xfp) 只有使用某些全域按鍵組合。\n" "\n" " 要注意的是,以上所有預設按鍵組合列表都可以在 xfe 偏好設定對話框中自訂。然" "而,\n" " 某些按鍵動作被寫死而無法變更。這些包含:\n" "\n" " * Ctrl-+ 和 Ctrl-- - 在 xfi 中放大和縮小圖像\n" " * Shift-F10 - 在 xfe 中顯示快顯功能表\n" " * Return - 輸入目錄於檔案列表、開啟檔案、選取" "按鈕動作…等項目中。\n" " * Space - 輸入目錄於檔案列表中\n" " * Esc - 關閉目前的對話框、取消選取檔案…等" "項目。\n" "\n" "\n" "\n" " 拖放計算\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" "\n" " 拖曳檔案或群組檔案 (經由移動滑鼠時保持左鍵按下)\n" " 到目錄或檔案面板會開啟對話框該,以選取檔案操作:複製、\n" " 移動、鏈結或取消。\n" "\n" "\n" "\n" " 回收筒系統\n" " =-=-=-=-=-=-=\n" "\n" " 開始自版本 1.32, xfe 實作回收筒系統,並完全相容 freedesktop.org 標準。\n" " 這允許使用者移動檔案到回收筒,以及從其中還原檔案到 xfe 或我的最愛\n" " 桌面。\n" " 要注意的是,刪除檔案位置是在:~/.local/share/Trash/files\n" "\n" "\n" "\n" " 組態\n" " =-=-=-=-=-=-=\n" "\n" " 您可以實作任何 xfe 客製化 (版面配置、檔案關聯、按鍵組合…等項目。) 而不需手" "動編輯任何\n" " 檔案。然而,您也許想要了解組態原則,因為某些客製化也可以\n" " 很容易經由手動編輯組態檔案而完成。\n" " 手動編輯任何組態檔案之前請小心離開 xfe,否則變更無法影響到目前\n" " 使用的帳號。\n" "\n" " 系統層級組態檔案 xferc 被放置在 /usr/share/xfe、/usr/local/share/xfe\n" " 或 /opt/local/share/xfe,並以給定的排序決定優先權。\n" "\n" " 開始自版本 1.32, 本地組態檔案的位置已變更。這是為了相容\n" " 於 freedesktop.org 標準。\n" " \n" " 本地組態檔案用於 xfe、xfw、xfv、xfi,xfp 是被放置在 ~/.config/xfe 目錄" "中。\n" " 它們被命名為 xferc、xfwrc、xfvrc、xfirc 和 xfprc。\n" " \n" " 於 xfe 首次運行時,系統層級組態檔案被複製為本地組態檔案\n" " ~/.config/xfe/xferc 該檔案本來不存在。如果系統層級組態檔案找不到\n" " (萬一是不正常的安裝位置),對話框將詢問使用者以選取正確地點。因此會比較容" "易\n" " 經由手動編輯來自訂 xfe (尤其是對於檔案關聯而言),因為所有本地選項都\n" " 被放置在相同的檔案之中。\n" "\n" " 預設 PNG 圖示被放置在 /usr/share/xfe/icons/xfe-theme 或 /usr/local/share/" "xfe/icons/xfe-theme,實際根據\n" " 您的安裝而定。您可以很容易地在偏好設定對話框中變更圖示佈景主題路徑。\n" " \n" "\n" "\n" " 秘訣\n" " =-=-=\n" "\n" " 檔案列表\n" " - 在已選檔案之上選取檔案並按一下右鍵以開啟快顯功能表\n" " - 在檔案面板之上按下 Ctrl+右鍵以開啟快顯功能表\n" " - 拖曳檔案/資料夾到資料夾時,滑鼠暫停在資料夾之上以開啟它\n" "\n" " 目錄樹\n" " - 選取資料夾並按一下右鍵以在已選資料夾之上開啟快顯功能表\n" " - 按下 Ctrl+右鍵以在目錄樹之上開啟快顯功能表\n" " - 拖曳檔案/資料夾到資料夾時,滑鼠暫停在資料夾之上以展開它\n" "\n" " 複製/貼上檔案名稱\n" " - 選取檔案並按下 Ctrl-C 以複製它的名稱到剪貼簿。然後在對話框中按下 Ctrl-" "V 以貼上\n" " 檔案名稱。\n" " - 在檔案操作對話框中,在包含來源名稱的列中選取檔名,並利用滑鼠的中間按" "鈕\n" " 直接將它貼上目的地。然後修改它以適合您的需要。\n" "\n" " 啟動通知\n" " - 如果 Xfe 編譯時啟動了通知支援,使用者可以在全域偏好設定等級中\n" " 對於所有應用程式停用它。也可以對於個別應用程式停用它,只需藉由前一分頁" "中屬性對話框\n" " 的專屬選項。後項方式只有當檔案是可執行檔案時才可用。\n" " 當開啟舊的不支援啟動通知協定的應用程式時,\n" " 就可能會用到停用啟動通知 (例如:Xterm)。\n" "\n" "\n" "\n" " 錯誤\n" " =-=-=\n" "\n" " 請回報任何您找到的錯誤給 Roland Baudin 。不要忘記提到您使" "用的 xfe 版本、\n" " FOX 函式庫版本和您的系統名稱與版本。\n" "\n" "\n" "\n" " 翻譯\n" " =-=-=-=-=-=-=\n" " \n" " xfe 現在可用於 19 種語言,但是某些只有部份翻譯。要將 xfe 翻譯為您的語言,\n" " 請開啟位於原始碼 po 目錄中的 xfe.pot 檔案,並利用軟體 poedit, kbabel\n" " 或 gtranslator 將您的翻譯字串填入 (請注意快速鍵和 c-format 字元),\n" " 然後將它寄送給我。我將會整合您的成果並在下一版 xfe 中釋出。\n" "\n" "\n" "\n" " 修補程式\n" " =-=-=-=\n" "\n" " 如果您已編寫某些有趣的修補程式,請將它寄送給我,我將試著在下一次釋出時包含" "它…\n" "\n" "\n" " 十分感謝 Maxim Baranov 的優秀 X Win Commander,以及所有提供了有用\n" " 修補程式、翻譯、測試和建言的人。\n" "\n" " [最後一次修訂:9/11/2009]\n" "\n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "全域按鍵組合(&G)" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "這些按鍵組合共用於所有 Xfe 應用程式。\n" "在項目上連按兩下以修改已選按鍵組合…" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xfe 按鍵組合(&E)" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "這些按鍵組合特定用於 X File Explorer 應用程式。\n" "在項目上連按兩下以修改已選按鍵組合…" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xfi 按鍵組合(&I)" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "這些按鍵組合特定用於 X File Image 應用程式。\n" "在項目上連按兩下以修改已選按鍵組合…" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xfw 按鍵組合(&W)" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "這些按鍵組合特定用於 X File Write 應用程式。\n" "在項目上連按兩下以修改已選按鍵組合…" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "動作名稱" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "註冊按鍵" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "按鍵組合" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "按下您要用於動作的組合鍵:%s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[按下空格以停用這個動作的按鍵組合]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "修改按鍵組合" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "按鍵組合 %s 已經用於全域區段中。\n" "\t您應該在再次指派它之前清除現有按鍵組合。" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "按鍵組合 %s 已經用於 Xfe 區段中。\n" "\t您應該在再次指派它之前清除現有按鍵組合。" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "按鍵組合 %s 已經用於 Xfi 區段中。\n" "\t您應該在再次指派它之前清除現有按鍵組合。" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "按鍵組合 %s 已經用於 Xfw 區段中。\n" "\t您應該在再次指派它之前清除現有按鍵組合。" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "無法刪除資料夾 %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "無法建立資料夾 %s" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "錯誤!無法開啟顯示\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "%s 的啟始" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "執行命令" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "無法關閉資料夾 %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "位元組" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "檔案複製" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "錯誤!無法開啟顯示\n" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "錯誤!無法開啟顯示\n" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "檔案管理員" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "X 視窗的輕量檔案管理員" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "圖像檢視器" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Xfe 的簡單的圖像檢視器" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "文字編輯器" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Xfe 的簡單的文字編輯器" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "套件管理員" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Xfe 的簡易套件管理員" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "顯示雙面板" #~ msgid "Panel does not have focus" #~ msgstr "面板沒有焦點" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "資料夾:" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "資料夾:" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "確認覆寫" #~ msgid "P&roperties..." #~ msgstr "屬性(&R)…" #~ msgid "&Properties..." #~ msgstr "屬性(&P)…" #~ msgid "&About X File Write..." #~ msgstr "關於 X File Write(&A)…" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "無法刪除資料夾 %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "無法刪除資料夾 %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "無法建立回收筒「檔案」資料夾 %s:%s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "執行命令" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "無法建立資料夾 %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "無法建立回收筒的「files」資料夾 %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "無法建立回收筒「資訊」資料夾 %s:%s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "無法建立回收筒的「info」資料夾 %s" #~ msgid "Delete: " #~ msgstr "刪除:" #~ msgid "File: " #~ msgstr "檔案:" #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "關於 X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "右側面板(&R)" #, fuzzy #~ msgid "&Left panel " #~ msgstr "左側面板(&L)" #, fuzzy #~ msgid "Error " #~ msgstr "錯誤" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "無法建立資料夾 %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "執行命令" #, fuzzy #~ msgid "Command log " #~ msgstr "命令記錄檔" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "無法建立回收筒「檔案」資料夾 %s:%s" #~ msgid "Non-existing file: %s" #~ msgstr "不存在的檔案:%s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "無法重新以目標 %s 命名" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "滑鼠捲動速度:" #~ msgid "Mouse" #~ msgstr "滑鼠" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "來源大小:%s - 修改日期:%s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "目標大小:%s - 修改日期:%s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "無法載入某些圖示。請檢查您的圖示路徑!" #~ msgid "Go back" #~ msgstr "向後" #~ msgid "Move to previous folder." #~ msgstr "移動到前一個資料夾。" #~ msgid "Go forward" #~ msgstr "向前" #~ msgid "Move to next folder." #~ msgstr "移動到後一個資料夾。" #~ msgid "Go up one folder" #~ msgstr "前往上層資料夾" #~ msgid "Move up to higher folder." #~ msgstr "移動到上層資料夾。" #~ msgid "Back to home folder." #~ msgstr "回到個人資料夾。" #~ msgid "Back to working folder." #~ msgstr "回到工作資料夾。" #~ msgid "Show icons" #~ msgstr "顯示圖示" #~ msgid "Show list" #~ msgstr "顯示列表" #~ msgid "Display folder with small icons." #~ msgstr "以小圖示顯示資料夾。" #~ msgid "Show details" #~ msgstr "顯示縮圖" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "用法:xfv [選項] [檔案1] [檔案2] [檔案3]…\n" #~ "\n" #~ " [選項] 可以是任何下列的:\n" #~ "\n" #~ " -h, --help 印出 (此) 說明畫面然後離開。\n" #~ " -v, --version 印出版本資訊然後離開。\n" #~ "\n" #~ " [檔案1] [檔案2] [檔案3]… 是您在啟動時要開啟的檔案路徑。\n" #~ "\n" #~ msgid "Col:" #~ msgstr "欄:" #~ msgid "Line:" #~ msgstr "列:" #~ msgid "Open document." #~ msgstr "開啟文件。" #~ msgid "Quit Xfv." #~ msgstr "離開 Xfv。" #~ msgid "Find" #~ msgstr "尋找" #~ msgid "Find string in document." #~ msgstr "在文件中尋找字串。" #~ msgid "Find again" #~ msgstr "再次尋找" #~ msgid "Find string again." #~ msgstr "再次尋找字串。" #~ msgid "&Find..." #~ msgstr "尋找(&F)…" #~ msgid "Find a string in a document." #~ msgstr "在文件中尋找字串。" #~ msgid "Find &again" #~ msgstr "再次尋找(&A)" #, fuzzy #~ msgid "Display status bar." #~ msgstr "顯示或隱藏狀態列。" #~ msgid "&About X File View" #~ msgstr "關於 X File View(&A)" #~ msgid "About X File View." #~ msgstr "關於 X File View。" #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View 版本 %s 是簡單的文字檢視器。\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "關於 X File View" #~ msgid "Error Reading File" #~ msgstr "讀取檔案時發生錯誤 " #~ msgid "Unable to load entire file: %s" #~ msgstr "無法載入整個檔案:%s" #~ msgid "&Find" #~ msgstr "尋找(&F)" #~ msgid "Not Found" #~ msgstr "找不到" #~ msgid "String '%s' not found" #~ msgstr "找不到字串「%s」" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "文字檢視器" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Xfe 的簡單的文字檢視器" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "Ignore case" #~ msgstr "忽略大小寫(&G)" #, fuzzy #~ msgid "In directory:" #~ msgstr "根目錄" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "根目錄" #~ msgid "Re&store from trash" #~ msgstr "從回收筒復原" #, fuzzy #~ msgid "File size at least:" #~ msgstr "檔案和資料夾" #, fuzzy #~ msgid "File size at most:" #~ msgstr "檔案關聯(&F)" #, fuzzy #~ msgid " Items" #~ msgstr " 項" #, fuzzy #~ msgid "Search results - " #~ msgstr "向前搜尋" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "以大圖示顯示資料夾。" #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "以小圖示顯示資料夾。" #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "顯示詳細的資料夾列表。" #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "顯示縮圖" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "不顯示縮圖" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "複製已選檔案到剪貼簿" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "剪下已選檔案到剪貼簿" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "顯示已選檔案的屬性" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "移動已選檔案到回收筒" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "刪除已選檔案" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "顯示隱藏檔案和目錄。" #, fuzzy #~ msgid "Search files..." #~ msgstr "\t選取…" #~ msgid "Dir&ectories first" #~ msgstr "目錄優先(&E)" #~ msgid "Toggle display hidden directories" #~ msgstr "切換顯示隱藏目錄" #~ msgid "&Directories first" #~ msgstr "目錄優先(&D)" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "無法刪除資料夾 %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "錯誤!無法開啟顯示\n" #~ msgid "Go to working directory" #~ msgstr "前往工作目錄:" #~ msgid "Go to previous directory" #~ msgstr "前往前一目錄:" #~ msgid "Go to next directory" #~ msgstr "前往後一目錄:" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "上層目錄 %s 不存在,您要建立它嗎?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "無法刪除資料夾 %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "無法建立資料夾 %s" #~ msgid "Directory name" #~ msgstr "目錄名稱" #~ msgid "Single click directory open" #~ msgstr "單擊開啟目錄" #~ msgid "Confirm quit" #~ msgstr "確認離開" #~ msgid "Quitting Xfe" #~ msgstr "離開 Xfe" #~ msgid "Display toolbar" #~ msgstr "顯示工具列" #~ msgid "Display or hide toolbar." #~ msgstr "顯示或隱藏工具列。" #~ msgid "Move the selected item to trash can?" #~ msgstr "移動已選項目到回收筒?" #~ msgid "Definitively delete the selected item?" #~ msgstr "確定要刪除已選項目? " #, fuzzy #~ msgid "&Execute" #~ msgstr "執行" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "無法保留複製檔案 %s 時的日期" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\t存檔格式是 rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\t存檔格式是 lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\t存檔格式是 arj" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "來源 %s 與目標完全相同" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "複製檔案作業期間發生了錯誤!" #~ msgid "File list: Unknown package format" #~ msgstr "檔案列表:不明的套件格式" #~ msgid "Description: Unknown package format" #~ msgstr "描述:不明的套件格式" xfe-1.42/po/Makevars0000644000175100017510000000341611444154372011270 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = xfe-1.42/po/pl.po0000644000175100017510000053223012746115274010554 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.32.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2010-12-13 22:36+0100\n" "Last-Translator: Franciszek Janowski \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Użytkowanie: xfe [opcje] [startdir] \n" "\n" " [opcje] może być każdym z poniższych:\n" "\n" " -h, --help Pokazuje (ten) tekst pomocy i kończy pracę.\n" " -v, --version Pokazuje informacje o wersji i kończy pracę.\n" " -i, --iconic Uruchamia zminimalizowany.\n" " -m, --maximized Uruchamia zmaksymalizowany.\n" " -p n, --panel n Wymusza tryb paneli n (n=0 => Drzewo i jeden " "panel,\n" " n=1 => Jeden panel, n=2 => Dwa panele, n=3 => " "Drzewo i dwa panele).\n" "\n" " [startdir] to ścieżka do początkowego katalogu, który\n" " ma być otwarty po uruchomieniu.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Ostrzeżenie: Nieznany tryb paneli, powrót do ostatnio zachowanego trybu\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Błąd wczytywania ikon" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Nie powiodło się wczytanie ikon. Sprawdź ścieżkę do ikon!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Użytkownik" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Czytaj" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Zapisz" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Wykonaj" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupa" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Inni" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Specjalne" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Ustaw UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Ustaw GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Przyklejony" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Właściciel" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Polecenie" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Zaznacz" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "W głąb katalogów" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Odznacz" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Pliki i katalogi" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Dodaj zaznaczone" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Tylko katalogi" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Tylko właściciel" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Tylko pliki" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Właściwości" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Akceptuj" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "Anu&luj" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Główne" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Dostęp" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Skojarzenia plików" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Rozszerzenie:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Opis:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Otwórz" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tWybierz plik..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Podgląd:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Edycja:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Wypakuj:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instaluj/Uaktualnij" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Duża ikona:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Mała ikona:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nazwa" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Ostrzeżenie: nazwa pliku nie jest w kodowaniu UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "System plików (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Katalog" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Urządzenie znakowe" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Urządzenie blokowe" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Nazwany strumień" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Gniazdko" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Wykonywalny" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Niedziałający odnośnik" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Odnośnik do " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punkt montowania" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Typ montowania:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Użytych:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Wolnych:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Plik systemowy:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Lokalizacja: " #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Razem:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Odnośnik do:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Niedziałający odnośnik do:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Oryginalna lokalizacjia:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Czas pliku" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Ostatnia modyfikacja" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Ostatnia zmiana:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Ostatni dostęp:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notka uruchomieniowa" #: ../src/Properties.cpp:719 #, fuzzy msgid "Disable startup notification for this executable" msgstr "Wyłącz notkę uruchomieniową dla tego pliku" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Data usunięcia:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bajtów)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bajtów)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Rozmiar:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Zaznaczenie:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Wiele typów" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d obiektów" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d plików, %d katalogów" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Właściwości pliku" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Ostrzeżenie" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Przeniesienie plików anulowane" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Błąd" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Błąd zapisu do %s: Dostęp zabroniony" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Katalog %s nie istnieje" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Zmiana nazwy" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Właściciel pliku" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Zmiana właściciela anulowana!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chmod w %s nieudane: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chmod w %s nieudane" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Ustawienie specjalnych praw może nie być bezpieczne! Na pewno chcesz to " "zrobić? " #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod w %s nieudane: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Uprawnienia do pliku" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Zmiana dostępu do plików anulowana!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod w %s nieudane" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " w jednym zaznaczonym obiekcie" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Zmiana dostępu do pliku(ów) anulowana!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Wybierz plik wykonywalny" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Wszystkie pliki" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Obrazki PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Obrazki GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Obrazki BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Wybierz plik ikony" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u plików, %u podkatalogów" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Kopiuj tutaj" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Przenieś tutaj" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Link tutaj" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Anuluj" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopiuj plik" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Przenieś plik" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Link symboliczny pliku" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiuj" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopiuj %s plików/katalogów.\n" "Z: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Przenieś" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Przenieś %s plików/katalogów.\n" "Z: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Link symboliczny" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Do:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Wystąpił błąd podczas przenoszenia pliku!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Przeniesienie plików anulowane" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Wystąpił błąd podczas kopiowania pliku!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Kopiowanie plików anulowane" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Punkt montowania %s nie odpowiada..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Odnośnik do katalogu" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Katalogi" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Pokaż ukryte katalogi" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Nie pokazuj ukrytych katalogów" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bajtów dla roota" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Panel jest aktywny" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Zamień panele" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Dostęp do %s zabroniony." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nowy katalog" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Ukryte katalogi" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Ignoruj wielkość liter" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Odwrócona kolejność" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Rozwiń drzewo" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Zwiń drzewo" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Panel" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Montuj" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Odmontuj" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Dodaj do archiwum" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopiuj" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Wytnij" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Wklej" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Zmień nazwę" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Kopiuj do..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Przenieś do..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Link symboliczny do..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Przenieś do kosza" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Przywróć z kosza" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Usuń" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Właściwości" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Utwórz archiwum" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopiuj" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Kopiuj %s pozycji z: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Zmień nazwę" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Zmiana nazwy " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopiuj do" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Przenieś" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Przenieś %s pozycji z: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Link symboliczny" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Dowiąż %s items from: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s nie jest katalogiem" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Wystąpił błąd podczas tworzenia dowiązania symbolicznego!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Tworzenie linku symbolicznego anulowane" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Ostatecznie usunąć katalog %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Potwierdź usunięcie" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Usuwanie pliku" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Katalog %s nie jest pusty, usunąc mimo to?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Katalog %s jest zabezpieczony przed zapisem, usunąć go ostatecznie mimo to?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Usuwanie katalogu anulowano!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Przenieść katalog %s do kosza?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Potwierdź przeniesienie do kosza" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Przenieś do kosza" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Katalog %s jest zabezpieczony przed zapisem, przenieść do kosza mimo to?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Podczas przenoszenia do kosza wystąpił błąd!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Przeniesienie do kosza anulowane!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Przywróć z kosza" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Przywrócić katalog %s do jego oryginalnej lokalizacji %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Potwierdź przywrócenie" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Brak informacji o przywracaniu dla %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Nadrzędny katalog %s nie istnieje, czy chcesz go utworzyć?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Nie można utworzyć katalogu %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Podczas przywracania z kosza wystąpił błąd!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Przywrócenie z kosza anulowane!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Utwórz nowy katalog:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nowy katalog" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Wykonaj polecenie" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montuj" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "OdMontuj" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " plik systemowy..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " katalog:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operacja anulowana!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " w root" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Źródło:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Cel:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Data modyfikacji: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Data modyfikacji: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Usuń:" #: ../src/File.cpp:136 msgid "From:" msgstr "Z:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Zmiana uprawnień..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Plik:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Zmiana właściciela..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montuj system plików" #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montuj katalog:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Odmontuj system plików..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Odmontuj katalog:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Katalog %s juz istnieje. Nadpisać?\n" "=> Uwaga, wszystkie pliki w tym katalogu zostaną bezpowrotnie utracone!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "Plik %s już istnieje. Nadpisać?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Potwierdź nadpisanie" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Nie można skopiować pliku %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Nie można skopiować pliku %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Źródło: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Cel: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Nie można zachować daty podczas kopiowania pliku %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Nie można zachować daty podczas kopiowania pliku %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Nie można skopiować katalogu %s : Odmowa dostępu" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Nie można skopiować pliku %s : Odmowa dostępu" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Nie można zachować daty podczas kopiowania katalogu %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Nie można zachować daty podczas kopiowania katalogu %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Źródło %s nie istnieje" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Źródło %s jest identyczne jak cel" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Usuń katalog: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Z: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Nie można usunąć katalogu %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Nie można usunąć pliku %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Nie można usunąć pliku %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Plik lub katalog %s już istnieje" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Nie można zmienić nazwy %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Katalog: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Rozpakuj archiwum" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Dodaj do archiwum" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Błędne polecenie: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Sukces " #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Katalog %s zamontowano poprawnie." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Katalog %s odmontowano poprawnie." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instaluj/Uaktualnij pakiet" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalacja pakietu: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Odinstalowanie pakietu" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Odinstalowanie pakietu: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Nazwa pliku:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK " #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Filtr pl&ików:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Tylko do odczytu" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "Przenieś katalog wyżej" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "Przenieś do następnego katalogu." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Przejdź do katalogu domowego" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Przejdź do katalogu roboczego" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nowy katalog" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Duże ikony lista" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Małe ikony lista" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Lista szczegółowa" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Pokaż ukryte pliki" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Nie pokazuj plików ukrytych" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Pokaż miniatury" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Ukryj miniatury" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Utwórz nowy katalog..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Utwórz nowy plik..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nowy plik" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Plik lub katalog %s już istnieje" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Do katalogu domowego" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nowy plik..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Nowy katalog..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Pliki ukryte" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Miniatury" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Duże ikony" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Małe ikony" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Pełna lista plików" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Wiersze" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Kolumny " #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Automatyczny rozmiar" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nazwa" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ro&zmiar" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "&Rozszerzenie:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Użytkownik" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Grupa" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Katalogi" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Odwrotna kolejność" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "Rodzina:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Grubość:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Styl:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Rozmiar:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Kodowanie:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Każdy" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Zachodnioeuropejskie" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Wschodnioeuropejskie" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Południowoeuropejskie" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Północnoeuropejskie" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cyrylica" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabskie" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Greckie" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebrajskie" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Tureckie" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordyckie" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Tajskie" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Bałtyckie" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celtyckie" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Rosyjskie" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Środkowoeuropejskie (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Rosyjskie (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Greckie (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Tureckie (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebrajskie (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabskie (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Bałtyckie(cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Wietnamskie (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Tajskie (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Szerokość:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Ekstra skondensowane" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Skondensowane" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normalny" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Rozwinięte" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Odstep:" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Wyszukaj " #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Zmienna" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Skalowalne:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Wszystkie czcionki:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Podgląd:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Uruchom XFE jako root" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nie" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Tak" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Zakończ" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Zapisz" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "T&ak na wszystkie" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Wpisz hasło użytkownika:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Wpisz hasło administratora:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Wystąpił błąd!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nazwa: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Rozmiar: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data modyfikacji: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Użytkownik: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupa: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Prawa dostępu: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Oryginalna ścieżka:" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data usunięcia: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Rozmiar: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Rozmiar" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Rozszerzenie" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Data modyfikacji" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Prawa dostępu " #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Błąd ładowania obrazu" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Oryginalna ścieżka" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data usunięcia" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtr" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Potwierdź usunięcie" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Dziennik poleceń" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nazwa pliku jest pusta, operacja anulowana" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Do katalogu:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Błąd zapisu do kosza %s: Dostęp zabroniony" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Przenieść katalog %s do kosza?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Przenieść %s zaznaczone pliki do kosza?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Plik %s jest zabezpieczony przed zapisem, przenieśc go do kosza mimo to?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Przeniesienie plików do kosza anulowane!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Przywrócić plik %s to jego oryginalnej lokalizacji %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Przywrócić %s zaznaczone obiekty do ich oryginalnych lokalizacji?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Nie można utworzyć katalogu %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Ostatecznie usunąć katalog %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "Ostatecznie usunąć %s zaznaczonych obiektów?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Plik %s jest zabezpieczony przed zapisem, usunąć go mimo to?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Usuwanie plików anulowano!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Utwórz nowy plik..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Nie można utworzyć katalogu %s: %s" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Nie można utworzyć dowiązania symbolicznego %s: %s" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Błąd zapisu do %s: Dostęp zabroniony" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Utwórz nowy link symboliczny:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nowy link symboliczny" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Wybierz link symboliczny, wskazujący na plik lub katalog" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Obiekt docelowy %s linku symbolicznego nie istnieje" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Otwórz zaznaczony plik(i) przez:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Otwórz z " #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "&Skojarz" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Pokaż pliki:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Nowy& plik..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nowy link s&ymboliczny..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Filtr" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Pełna lista plików" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Prawa dostępu " #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Nowy plik..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "Montuj" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Otwórz przez..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Otwórz" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Rozpakuj do katalogu" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Rozpakuj tutaj" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Rozpakuj do..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Widok" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instaluj/Uaktualnij" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Odinstaluj" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Edycja " #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "Zastąp..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Informacja o pakietach" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Opis" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopiuj do..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Przenieś do kosza" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Przywróć z kosza" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Źródło:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Właściwości" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Wybierz katalog docelowy" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Wszystkie pliki " #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instaluj/uaktualnij pakiet" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Odinstaluj pakiet" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Nie można utworzyć katalogu %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Menedżer RPM nie znaleziony!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Plik %s nie należy do żadnego pakietu." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informacja" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Plik %s należy do pakietu: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Otwórz zaznaczny plik(i) przez:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bajtów" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s w %s wybranych obiektów" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 obiekt" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " obiektów" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Odnośnik " #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtr: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Osiągnięto maksymalny limit ilości zakładek. Ostatnia zakładka zostanie " "usunięta." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Wy&czyść zakładki" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Czy chcesz zakończyć Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Z&amknij " #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Nie można usunąć pliku %s: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Nie można usunąć pliku %s" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tWybierz cel..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Wybierz plik" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Wybierz plik lub katalog docelowy" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Dodaj do archiwum" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nazwa nowego archiwum:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormat archiwum to tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tFormat archiwum to zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tFormat archiwum to 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tFormat archiwum to tar.bz2" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\tFormat archiwum to tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormat archiwum to tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormat archiwum to tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormat archiwum to gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormat archiwum to bz2" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "7z\tFormat archiwum to 7z" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormat archiwum to Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Ustawienia " #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Bieżący motyw" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opcje" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Używaj kosza do usuwania pilików (bezpieczne usuwanie)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Pozwalaj na usunięcie bez kosza (permanentne usunięcie)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Automatycznie zapisz układ" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Zachowaj pozycję okna" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Otwieranie pliku jednym kliknięciem" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Otwieranie pliku jednym kliknięciem" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Pokazuj podpowiedzi na liście plików i katalogów" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Relatywna zmiana rozmiaru listy plików" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Pokazuj katalogi ścieżki jako przyciski" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Powiadamiaj gdy program jest uruchamiany" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Przejdź do katalogu domowego" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Gładkie przewijanie listy plików i okien tekstowych" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Szybkość przewijania kółkiem myszy:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Tryb administratora" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Zezwól na tryb administratora" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autoryzacja przy użyciu su (używa hasła roota)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autoryzacja przy użyciu sudo (używa hasła użytkownika)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialogi" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Potwierdzenia" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" "Potwierdzaj kopiowanie/przenoszenie/zmianę nazwy/linkowanie symboliczne" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Potwierdzaj przeciąganie i upuszczanie" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Potwierdzaj przenoszenie do kosza/przywracanie z kosza" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Potwierdź usunięcie" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Potwierdź usunięcie nie pustych katalogów" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Potwierdź nadpisanie" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Potwierdź usunięcie" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Właściwości pliku" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Ostrzeżenie" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Ostrzegaj gdy punkty montowania są nieosiągalne" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Pokazuj komunikaty o powodzeniu montowania/odmontowania" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Ostrzeż gdy uruchomiony jako root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programy" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Domyślne programy" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Podgląd tekstu:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Edytor tekstu:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Uprawnienia do pliku" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Edytor obrazów:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Podgląd obrazów" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Archiwizer:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Przeglądarka Pdf:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Odtwarzacz audio:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Odtwarzacz wideo:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montuj" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "OdMontuj" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "Motywy" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Motyw kolorów" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Kolory użytkownika" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Podwójne kliknięcie dopasowuje kolor" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Kolor podstawowy" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Kolor ramki" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Kolor tła" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Kolor tekstu" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Zaznaczenie tła kolor" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Kolor zaznaczonego tekstu" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Kolor tła listy plików" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Kolor tekstu listy plików" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Kolor alternatywny tła listy plików" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Kolor paska postępu" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Kolor alarmu" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Kolor paska postępu" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Kontrolki" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standardowe (klasyczne kontrolki)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (kontrolki o nowoczesnym wyglądzie)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ścieżka do motywu ikon" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tWybierz ścieżkę..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Czcionki" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Czcionki" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normalna czcionka:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr "Wybierz..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Czcionka tekstu:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "Skróty &klawiszowe" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Skróty klawiszowe" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modyfikuj skróty klawiszowe" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Przywróć domyślne skróty klawiszowe" #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Wybierz katalog z motywem ikon lub plik ikony" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Zmień zwykłą czcionkę" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Zmień czcionkę tekstu" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Utwórz nowy plik" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Utwórz nowy katalog" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Kopiuj do schowka" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Wytnij do schowka" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Wklej ze schowka" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Otwórz plik" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Zakończ aplikację" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Wybierz wszystko" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Odznacz wszystko" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Odwróć zaznaczenie" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Wyświetl pomoc" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Pokaż ukryte pliki" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Pokaż miniatury" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Zamknij okno" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Drukuj plik" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Szukaj " #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Szukaj poprzedniego" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Szukaj następnego" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Odśwież panele" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Utwórz nowy link symboliczny" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Właściwości pliku" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Przenieś pliki do kosza" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Przywróć pliki z kosza" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Usuń pliki" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Utwórz nowe okno" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Utwórz nowe okno jako root" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Wykonaj polecenie" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Uruchom terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montuj system plików (tylko Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Odmontuj system plików (tylko Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Jeden panel" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Drzewo i panel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Dwa panele" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Drzewo i dwa panele" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Wyczyść pasek lokalizacji" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Zmiana nazwy" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Kopiuj pliki do lokalizacji" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Przenieś pliki do lokalizacji" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Dowiąż pliki do lokalizacji" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Dodaj zakładkę" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Synchronizuj panele" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Zamień panele" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Przejdź do kosza" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Opróżnij kosz" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Podgląd" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Edycja" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Pokaż ukryte pliki" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtruj pliki" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Rozmiar oryginalny" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Rozciągnij do rozmiaru okna" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Obróć obraz w lewo" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Obróć obraz w prawo" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Utwórz nowy dokument" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Zapisz zmiany do pliku" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Przejdź do linii" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Cofnij ostatnia zmianę" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Przywróć ostatnią zmianę" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Zamień ciąg" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Włącz tryb małych liter" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Włącz tryb wielkich liter" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Na pewno przywrócić domyślne skróty klawiszowe?\n" "\n" "Wszystkie twoje zmiany zostaną utracone!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Przywróć domyślne skróty klawiszowe" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Uruchom ponownie " #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Skróty klawiszowe zostaną zmienione po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tryb przewijania zostanie zmieniony po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Motyw zostanie zmieniony po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Pasek ścieżki z przyciskami zostanie zmieniony po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Styl przycisków zostanie zmieniony po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normalna czcionka zostanie zmieniona po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Czcionka tekstu zostanie zmieniona po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Po&miń" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Pomiń &wszystkie" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Źródło:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Data modyfikacji: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Cel:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Wykonaj" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Tryb konsoli" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Z&amknij " #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Odśwież panele" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopiuj zaznaczone pliki do schowka" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Wytnij zaznaczone pliki do schowka" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Pokaż właściwości zaznaczonych plików" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Przenieś zaznaczone pliki do kosza" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Usuń zaznaczone pliki" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Pełna lista plików" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnoruj wielkośc liter" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "Autorozmiar" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Informacja o pakietach" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "Kopiuj %s pozycji z: %s" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "Przenieś %s pozycji z: %s" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Dowiąż %s items from: %s" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " obiektów" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Drukuj plik" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Do katalogu:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Nowy katalog" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Czcionka tekstu:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Drukuj plik" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Razem:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Ostatnia modyfikacja" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Ostatnia modyfikacja" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Użytkownik: " #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Filtruj pliki" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grupa: " #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Filtruj pliki" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Plik systemowy:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Plik:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Filtruj pliki" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Prawa dostępu: " #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Uprawnienia do pliku" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Pokaż pliki:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Pokaż pliki:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Utwórz nowy link symboliczny:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Utwórz nowy link symboliczny" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "W głąb katalogów" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Odmontuj system plików..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Szukaj poprzedniego" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Znajdź tekst." #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\tWybierz ścieżkę..." #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Utwórz nowy link symboliczny" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Przywróć zaznaczone pliki z kosza" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Uruchom Xfe" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montuj (tylko Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Odmontuj (tylko Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Pokaż jeden panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Pokaż drzewo i panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Pokaż dwa panele" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Pokaż drzewo i dwa panele" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Wyczyść pasek lokalizacji" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Przejdź do lokalizacji" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nowy kata&log" #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Do katalogu domowego" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Odśwież" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Kopiuj do..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Link &symboliczny do..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Właściwości" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Plik " #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Zaznacz wszystko" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "O&dznacz wszystko" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Odwróć zaznaczen&ie" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Ustawienia" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Główny pasek narzędzi" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Pasek narzędzi" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Pasek narzędzi panelu" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Pasek lokalizacji" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Pasek statusu" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "Jeden panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Drzewo i panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dwa panele" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Drzewo i dwa panele" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Zam&ień panele" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Zam&ień panele" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Dod&aj zakładkę" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Wy&czyść zakładki" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Zakładki" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtr..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Miniatury" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Duże ikony" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Typ" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "D&ata" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Użytkownik" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Grupa" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Katalogi" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Lewy panel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "Filtr" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Katalogi" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Prawy panel" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "No&we okno" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nowe okno administratora" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Wykonaj polecenie..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Synchronizuj panele" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Zam&ień panele" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "Przejdź do nadrzędnego katalogu" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Szukaj..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "Odmontuj" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Narzędzia" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Przejdź do kosza" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Rozmiar kosza" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Opróżnij kosz" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "&Kosz" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "Pomo&c " #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "O X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "XFE uruchomiony jako root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Począwaszy od Xfe 1.32, lokalizacja plików konfiguracyjnych zmieniła się na " "'%s'.\n" "Zauważ, że możesz ręcznie wyedytować nową konfigurację, aby zaimportować " "swoje stare ustawienia..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Nie można utworzyć katalogu konfiguracji Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Nie można utworzyć katalogu konfiguracji Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Nie znaleziono pliku globalnej konfiguracji xferc. Wybierz plik " "konfiguracyjny..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Plik konfiguracyjny XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Nie można utworzyć katalogu 'files' %s w koszu: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Nie można utworzyć katalogu 'files' %s w koszu" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Nie można utworzyć katalogu 'info' %s w koszu: %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Nie można utworzyć katalogu 'info' %s w koszu" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Pomoc" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer wersja %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Bazuje na X WinCommander by Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 #, fuzzy msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Tłumacze\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "O X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Wykonaj polecenie:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Tryb konsoli" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "Pokazuj ukryte pliki i katalogi." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Czy chcesz zakończyć Xfe?" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " w root" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Czy na pewno chcesz opróżnić kosz?\n" "\n" "Wszystkie obiekty zostaną ostatecznie utracone!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Rozmiar kosza: %s (%s plików, %s podkatalogów)\n" "\n" "Data modyfikacji: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Rozmiar kosza" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Nie można czytać katalogu na 'pliki' w koszu %s !" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Skojarzenia plików" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Skojarzenia plików" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "Ustawienia" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Otwórz plik pakietu" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Otwórz" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Pasek narzędzi" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "O X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Odinstaluj " #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instaluj " #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Opis" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Lista plików" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package wersja %s jest prostym menedżerem pakietów rpm i deb.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "O X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Źródła pakietu RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Pakiety RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Pakiety DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Otwórz dokument " #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Nie wczytano pakietu" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Nieznany format pakietu" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instaluj/Uaktualnij pakiet" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Odinstalowanie pakietu" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[pakiet RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[pakiet DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Zapytanie %s niepoprawne!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Błąd wczytywania pliku" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Błąd otwarcia pliku : %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Obrazek GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Obrazek BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Obrazek XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Obrazek PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Obrazek ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Obrazki RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Obrazek XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Obrazek TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Obrazek PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Obrazek PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Obrazek JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Obrazek TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "Obrazek" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Otwórz" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Otwórz plik obrazka." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Drukuj" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Drukuj plik obrazka." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Powiększenie" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Powiększ obrazek." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Zmniejsz" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Zmniejsz obrazek." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Powiększenie do rozmiaru oryginalnego" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Powiększ obrazek do rozmiaru oryginalnego." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Dopasuj" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Dopasuj do okna." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Obróć w lewo" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Obróć obrazek w lewo." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Obróć w prawo" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Obróć obrazek w prawo." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Odbicie lustrzane obrazka w poziomie." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Odbicie lustrzane obrazka w pionie." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Drukuj" #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "Wyczyść ostatnio otwierane pliki" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Wyczyść listę ostatnio otwieranych plików" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Wyjście z Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Powiększ" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Zmniejsz" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Powiększ do rozmiaru oryginalnego" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Dopasuj do okna" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Obróć w p&rawo" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Obróć w prawo." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Obróć w &lewo" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Obróć w lewo." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Odbicie lustrzane w poziomie" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Odbicie lustrzane w poziomie." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Odbicie lustrzane w pionie" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Odbicie lustrzane w pionie." #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "Pokazuj ukryte pliki i katalogi." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Pokaż miniatury obrazów." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Pokaż katalogi z dużymi ikonami." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Pokaż katalogi z małymi ikonami." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Sczegółowa lista plików" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Pokaż szczegółowy listing katalogu." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Ikony w szeregach." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Ikony w kolumnach." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Autorozmiar nazw ikon." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Wyświetl pasek narzędzi." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "Lista plików" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Pokaż listę plików." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Kolor tekstu listy plików" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Pokaż katalog z dużymi ikonami." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtruj obrazy" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Pokaż tylko pliki obrazów." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Dopasuj do okna po otwarciu" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Dopasuj do okna po otwarciu obrazka." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "O X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image wersja %s jest prostą przeglądarką obrazów.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Błąd wczytywania obrazu" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Nieobsługiwany typ: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Błąd ładowania obrazu, plik może być uszkodzony" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Czcionka tekstu zostanie zmieniona po restarcie\n" "Uruchomić ponownie X File Explorer?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Otwórz obraz" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Ustawienia XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "Edytor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Tekst" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Rozmiar tabulacji:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Pomiń znaki końca linii:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "Kolory" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Linie" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Tło:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Tekst:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Tło zaznaczonego tekstu" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Zaznaczony tekst:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Tło podświetlonego tekstu:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Podświetlony tekst:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Kursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Tło numerów linii:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Pierwszy plan numerów linii:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Szukaj " #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "Okno" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Linie:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Kol:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Linia:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nowy" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Utwórz nowy dokument." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Otwórz plik dokumentu." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Zapisz" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Zapisz dokument." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Zamknij " #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Zamknij dokument" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Drukuj dokument " #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Zakończ" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Zakończ X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopiuj zaznaczenie do schowka." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Wytnij" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Wytnij zaznaczone pliki do schowka." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Wklej" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Wklej ze schowka." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Przejdź do numeru linii." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Cofnij" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Cofnij ostatnią zmianę." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Przywróć" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Przywróć ostatnie cofnięcie." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Znajdź tekst." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Szukaj zaznaczonego tekstu wstecz" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Szukaj zaznaczonego tekstu wstecz." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Szukaj zazn. w przód" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Szukaj zaznaczonego tekstu w przód." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Pokaż numery linii" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Pokaż numery linii." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Ukryj numery linii" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Ukryj numery linii." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nowy..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Zapisz zmiany do pliku." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Zapisz jako..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Zapisz dokument do innego pliku." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Zamknij dokument." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Czyść ostatnio otwierane pliki" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "Cofnij" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "Przywróć" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Przywróć zapi&sane" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Przywróć zapisany dokument." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Wytnij" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Wklej ze schowka." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Małe litery" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Zamień na małe litery." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Wielkie litery" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Zamień na wielkie litery." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Przejdź do linii..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Zaznacz wszystko" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Linia statusu" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Wyświetl linię statusu" #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Szukaj..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Szukaj ciągu znaków." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Zastąp..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Szukaj ciągu znaków i zamień na inny." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Szukaj zazn. wstecz" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Szukaj zazn. w przód" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Numery linii" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Włącz tryb numerów linii" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "\tZnajdź tekst (Ctrl-F)" #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "Czcionka..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Zmień czcionkę tekstu." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "Więcej ustawień... " #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Zmień inne opcje." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "O X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Plik jest za duży: %s (%d bajtów)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Błąd otwarcia pliku: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Błąd zapisu pliku" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Plik jest za duży: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Plik: %s niekompletny." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "bez tytułu" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "bez_tytułu%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write wersja %s jest prostym edytorem tekstu.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Zmień czcionkę" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Plik tekstowy" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Źródło C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Źródło C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Nagłówek C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Pliki HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Pliki PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Niezapisany dokument " #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Zapisać %s do pliku?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Zapisz dokument " #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Nadpisz dokument " #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Nadpisać istniejący dokument: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (zmieniony)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Tylko do odczytu" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Plik został zmieniony" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "został zmieniony przez inny program. Wczytać plik z dysku?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Zastąp" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Przejdź do linii" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "Przejdź do linii:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Tryb administratora" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Gotowe." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Zastąp" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Zastąp wszystko" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Szukaj:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Zastąp przez:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Wypakuj:" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "Ignoruj wielkośc liter" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Wyrażenie" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "Do tyłu" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Globalne skróty klawiszowe" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Te skróty klawiszowe są wspólne dla wszystkich aplikacji Xfe.\n" "Kliknij dwukrotnie aby zmienić wybrany skrót..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Skróty klawiszowe Xfe" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Te skróty klawiszowe są specyficzne dla X File Explorera.\n" "Kliknij dwukrotnie aby zmienić wybrany skrót..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Skróty klawiszowe Xfi" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Te skróty klawiszowe są specyficzne dla X File Image.\n" "Kliknij dwukrotnie aby zmienić wybrany skrót..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Skróty klawiszowe Xfw" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Te skróty klawiszowe są specyficzne dla X File Write.\n" "Kliknij dwukrotnie aby zmienić wybrany skrót..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Akcja" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Zarejestruj klawisz" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Skrót" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Wciśnij kombinację klawiszy, którą chcesz ustawić dla tej akcji: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Wciśnij spację aby wyłączyć skrót klawiszowy dla tej akcji]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modyfikuj skróty klawiszowe" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Skrót klawiszowy %s jest już użyty w sekcji globalnej.\n" "\tPowinieneś usunąć istniejący skrót klawiszowy przed ponownym jego " "przyporządkowaniem." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Skrót klawiszowy %s jest już użyty w sekcji Xfe.\n" "\tPowinieneś usunąć istniejący skrót klawiszowy przed ponownym jego " "przyporządkowaniem." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Skrót klawiszowy %s jest już użyty w sekcji Xfi.\n" "\tPowinieneś usunąć istniejący skrót klawiszowy przed ponownym jego " "przyporządkowaniem." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Skrót klawiszowy %s jest już użyty w sekcji Xfw.\n" "\tPowinieneś usunąć istniejący skrót klawiszowy przed ponownym jego " "przyporządkowaniem." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Nie można usunąć katalogu %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Nie można utworzyć katalogu %s" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "Błąd! Nie można otworzyć ekranu\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Start %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Wykonaj polecenie" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Nie można zamknąć katalogu %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bajtów" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Kopiuj plik" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Błąd! Nie można otworzyć ekranu\n" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "Błąd! Nie można otworzyć ekranu\n" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Menedżer plików" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Lekki menadżer plików dla X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Przeglądarka obrazów" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Prosta przeglądarka obrazów dla Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Edytor tekstu" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Prosty edytor tekstu dla Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Menedżer pakietów" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Prosty menedżer pakietów dla Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Pokaż dwa panele" #~ msgid "Panel does not have focus" #~ msgstr "Panel jest nieaktywny" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Katalog" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Katalog" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Potwierdź nadpisanie" #~ msgid "P&roperties..." #~ msgstr "Właściwości..." #~ msgid "&Properties..." #~ msgstr "&Właściwości" #~ msgid "&About X File Write..." #~ msgstr "O X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Nie można usunąć katalogu %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Nie można usunąć katalogu %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Nie można utworzyć katalogu 'files' %s w koszu: %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Wykonaj polecenie" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Nie można utworzyć katalogu %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Nie można utworzyć katalogu 'files' %s w koszu" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Nie można utworzyć katalogu 'info' %s w koszu: %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Nie można utworzyć katalogu 'info' %s w koszu" #~ msgid "Delete: " #~ msgstr "Usuń: " #~ msgid "File: " #~ msgstr "Plik: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "O X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Prawy panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "&Lewy panel" #, fuzzy #~ msgid "Error " #~ msgstr "Błąd" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Nie można utworzyć katalogu %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Wykonaj polecenie" #, fuzzy #~ msgid "Command log " #~ msgstr "Dziennik poleceń" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Nie można utworzyć katalogu 'files' %s w koszu: %s" #~ msgid "Non-existing file: %s" #~ msgstr "Nieistniejący plik %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Nie można zmienić nazwy %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Szybkość przewijania kółkiem myszy:" #~ msgid "Mouse" #~ msgstr "Mysz" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Rozmiar źródłowy: %s - Data modyfikacji: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Rozmiar docelowy: %s - Data modyfikacji: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Nie powiodło się wczytanie ikon. Sprawdź ścieżkę do ikon!" #~ msgid "Go back" #~ msgstr "Wróć" #~ msgid "Move to previous folder." #~ msgstr "Przenieś katalog wyżej" #~ msgid "Go forward" #~ msgstr "Do przodu" #~ msgid "Move to next folder." #~ msgstr "Przenieś do następnego katalogu." #~ msgid "Go up one folder" #~ msgstr "Przejdź katalog wyżej" #~ msgid "Move up to higher folder." #~ msgstr "Przenieś do wyższego katalogu." #~ msgid "Back to home folder." #~ msgstr "Wróć do katalogu domowego." #~ msgid "Back to working folder." #~ msgstr "Wróć do katalogu roboczego." #~ msgid "Show icons" #~ msgstr "Pokaż ikony" #~ msgid "Show list" #~ msgstr "Pokaż listę" #~ msgid "Display folder with small icons." #~ msgstr "Pokaż katalog z małymi ikonami." #~ msgid "Show details" #~ msgstr "Pokaż szczegóły" #~ msgid "Col:" #~ msgstr "Kol:" #~ msgid "Line:" #~ msgstr "Linia: " #~ msgid "Open document." #~ msgstr "Otwórz dokument." #~ msgid "Quit Xfv." #~ msgstr "Zakończ Xfv." #~ msgid "Find" #~ msgstr "Wyszukaj " #~ msgid "Find string in document." #~ msgstr "Znajdź ciąg znaków w dokumencie." #~ msgid "Find again" #~ msgstr "Znajdź ponownie" #~ msgid "Find string again." #~ msgstr "Znajdź ciąg znaków ponownie." #~ msgid "&Find..." #~ msgstr "Znajdź..." #~ msgid "Find a string in a document." #~ msgstr "Znajdź ciąg znaków w dokumencie." #~ msgid "Find &again" #~ msgstr "Znajdź ponownie" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Pokaż lub ukryj pasek statusu." #~ msgid "&About X File View" #~ msgstr "O X File View" #~ msgid "About X File View." #~ msgstr "O X File View" #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View wersja %s jest prostą przeglądarką tekstu.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "O X File View" #~ msgid "Error Reading File" #~ msgstr "Błąd odczytu pliku" #~ msgid "Unable to load entire file: %s" #~ msgstr "Błąd ładowania całości pliku %s" #~ msgid "&Find" #~ msgstr "&Szukaj " #~ msgid "Not Found" #~ msgstr "Nie znaleziono" #~ msgid "String '%s' not found" #~ msgstr "Ciąg znaków '%s' nie znaleziony" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Przeglądarka tekstu" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Prosta przeglądarka tekstu dla Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Ignore case" #~ msgstr "I&gnoruj wielkośc liter" #, fuzzy #~ msgid "In directory:" #~ msgstr "Katalog główny" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "Katalog główny" #~ msgid "Re&store from trash" #~ msgstr "Odzyskaj z kosza" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Pliki i katalogi" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Skojarzenia plików" #, fuzzy #~ msgid " Items" #~ msgstr " obiektów" #, fuzzy #~ msgid "Search results - " #~ msgstr "Szukaj poprzedniego" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Pokaż katalog z dużymi ikonami." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Pokaż katalog z małymi ikonami." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Pokaż szczegółowy listing katalogu." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Pokaż miniatury" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Ukryj miniatury" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Kopiuj zaznaczone pliki do schowka" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Wytnij zaznaczone pliki do schowka" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Pokaż właściwości zaznaczonych plików" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Przenieś zaznaczone pliki do kosza" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Usuń zaznaczone pliki" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Pokazuj ukryte pliki i katalogi." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tWybierz plik..." #~ msgid "Dir&ectories first" #~ msgstr "Najpierw katalogi" #~ msgid "Toggle display hidden directories" #~ msgstr "Włącz pokazywanie ukrytych katalogów" #~ msgid "&Directories first" #~ msgstr "Najpierw katalogi" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Nie można usunąć katalogu %s: %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Błąd! Nie można otworzyć ekranu\n" #~ msgid "Go to working directory" #~ msgstr "Przejdx do katalogu roboczego" #~ msgid "Go to previous directory" #~ msgstr "Jeden katalog wyżej" #~ msgid "Go to next directory" #~ msgstr "Przejdź do następnego katalogu" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "Nadrzędny katalog %s nie istnieje, czy chcesz go utworzyć?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Nie można usunąć katalogu %s: %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " katalog :" #~ msgid "Directory name" #~ msgstr "Nazwa katalogu" #~ msgid "Single click directory open" #~ msgstr "Otwieranie katalogu jednym kliknięciem" #~ msgid "Confirm quit" #~ msgstr "Potwierdź wyjście" #~ msgid "Quitting Xfe" #~ msgstr "Wyjście z XFE" #~ msgid "Display toolbar" #~ msgstr "Wyświetl pasek narzędzi" #~ msgid "Display or hide toolbar." #~ msgstr "Pokaż lub ukryj pasek narzędzi." #~ msgid "Move the selected item to trash can?" #~ msgstr "Przenieść zaznaczony plik do kosza?" #~ msgid "Definitively delete the selected item?" #~ msgstr "Ostatecznie usunąć zaznaczony obiekt?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Wykonaj" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Nie można zachować daty podczas kopiowania pliku %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tFormat archiwum to rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tFormat archiwum to lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tFormat archiwum to arj" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Źródło %s jest identyczne jak cel" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "Kasuj: " #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Potwierdź usunięcie" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ " pliki/katalogi.\n" #~ "Z: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Błąd nadpisywania nie pustego katalogu %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Błąd nadpisywania nie pustego katalogu %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Błąd nadpisywania nie pustego katalogu %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Błąd nadpisywania nie pustego katalogu %s" #, fuzzy #~ msgid "Move folder " #~ msgstr "Montuj katalog :" #~ msgid "File " #~ msgstr "Plik " #, fuzzy #~ msgid "Can't copy folder " #~ msgstr "Kasuj: " #, fuzzy #~ msgid ": Permission denied" #~ msgstr " Dostęp do %s zabroniony." #, fuzzy #~ msgid "Can't copy file " #~ msgstr "Kasuj: " #, fuzzy #~ msgid "Installing package: " #~ msgstr "Instalacja paczki" #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Instalacja paczki" #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ " pliki/katalogi.\n" #~ "Z: " #, fuzzy #~ msgid " Move " #~ msgstr "Przenieś" #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tUsuń zaznaczone pliki (Del; F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Kasuj: " #, fuzzy #~ msgid " selected items? " #~ msgstr "Otwórz zaznaczny plik(i) przez:" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr "Kasuj: " #, fuzzy #~ msgid "X File Package Version " #~ msgstr "O X File View" #, fuzzy #~ msgid "X File Image Version " #~ msgstr "O X File View" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Ustawienia " #, fuzzy #~ msgid "X File View Version " #~ msgstr "Uprawnienia do pliku" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Montuj katalog :" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tUsuń zaznaczone pliki (Del; F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Grupa" #, fuzzy #~ msgid "Go home" #~ msgstr "Do domowego\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Pełna lista plików" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Wykonaj Polecenie: " #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Dodaj zakładkę\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\t Odśwież panele (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminal" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Kasuj: " #, fuzzy #~ msgid "Deleted from" #~ msgstr "Kasuj: " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Kasuj: " xfe-1.42/po/es_AR.po0000644000175100017510000060735712746115274011147 00000000000000# translation of es.po to # Copyright (C) 2005, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Martín Carr , 2013. # Félix Medrano Sanz , 2008, 2009. # # msgid "" msgstr "" "Project-Id-Version: Xfe 1.37\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2013-10-11 18:22-0300\n" "Last-Translator: Martín Carr \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.5.4\n" "X-Poedit-Bookmarks: 1026,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Uso: xfe [opciones] [dir-inicio1] [dir-inicio2]\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar información sobre la versión y salir.\n" " -i, --iconic Iniciar iconizado.\n" " -m, --maximized Iniciar maximizado.\n" " -p n, --panel n Forzar modo de vista de paneles a n (n=0 => " "Árbol y un panel,\n" " n=1 => Un panel, n=2 => Dos paneles, n=3 => " "Árbol y dos paneles).\n" "\n" " [dir-inicio1] y [dir-inicio2] son las rutas a los directorios que se " "abrirán al inicio.\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Aviso: Modo de panel desconocido, volviendo al último modo guardado\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Usuario" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lectura" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escritura" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Ejecución" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Otros" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Especial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Establecer UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Establecer GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Pegajoso" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Propietario" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Establecer marcados" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Recursivamente" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Borrar marcados" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Archivos y directorios" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Añadir marcados" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Solamente directorios" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Solo propietario" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Solo archivos" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Aceptar" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancelar" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permisos" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "A&sociaciones de archivos" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensión:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descripción:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Abrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSeleccionar archivo..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ver:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editar:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extraer:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalar/Actualizar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Icono grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Icono peq.:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nombre" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Aviso: ¡el nombre de archivo no es UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de archivos (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Directorio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo de caracteres" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo de bloques" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Tubería con nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Enlace roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punto de montaje" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo de montaje:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Usado:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Libre:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de archivos:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Dirección:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Tamaño total:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Enlace a:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Enlace roto a:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ubicación original:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Fecha del archivo" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Última modificación:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Último cambio:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Último acceso:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notificación de arranque" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Deshabilitar notificación de arranque para este ejecutable" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Fecha de eliminación:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Múltiples tipos" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Propiedades del archivo" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Aviso" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Error" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "El directorio %s no existe" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "¡Se ha cancelado el cambio de propietario!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s ha fallado: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "¡Establecer permisos especiales puede ser inseguro! ¿Está seguro?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s ha fallado: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " en un elemento seleccionado" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos en archivo(s)!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Selecciona un archivo ejecutable" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Selecciona un archivo de icono" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mover archivo" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Enlazar archivo" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Enlace simbólico" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "¡Ha ocurrido un error al mover los archivos!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "¡Ha ocurrido un error al copiar los archivos!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "¡Se ha cancelado la operación de copiar archivos!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no está respondiendo..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Enlace a directorio" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Directorios" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostrar directorios ocultos" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "No mostrar directorios ocultos" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytes en raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Panel tiene foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Intercambiar paneles" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Se ha denegado permiso a: %s." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nuevo &directorio..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Car&petas ocultas" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "I&gnorar capitalización" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Invertir orden" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "&Desplegar árbol" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Ple&gar árbol" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "M&ontar" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Desmon&tar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Añadir a archivo comprimido..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Pegar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nombrar..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Cop&iar a..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Enla&zar a..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Mo&ver a papelera" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "R&estaurar desde la papelera" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Elimina&r" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propiedad&es" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "No se puede ingresar al directorio %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "No se puede ingresar al directorio %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Crear archivo" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos desde: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renombrar " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copiar a" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mover" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s elementos desde: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlazar a %s elementos desde: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s no es un directorio" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "¡Ha ocurrido un error al enlazar los archivos!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "¡Se ha cancelado la operación de enlazar archivos!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmar eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Eliminar archivo" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "El directorio %s no está vacío, ¿eliminar de todas formas?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "El directorio %s está protegido contra escritura, ¿eliminar definitivamente " "de todas formas?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "¡Se ha cancelado la operación de eliminar directorios!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Confirmar papelera" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "El directorio %s está protegido contra escritura, ¿mover a la papelera?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "¡Ha ocurrido un error al mover a la papelera!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Restaurar de la papelera" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "¿Restaurar el directorio %s a su ubicación original %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Confirmar restauración" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Información de restauración no disponible para %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "El directorio padre %s no existe, ¿desea crearlo?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "¡Ha ocurrido un error al recuperar desde la papelera!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "¡Se ha cancelado la restauración desde la papelera!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Crear directorio nuevo:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Directorio nuevo" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "No se puede ejecutar el comando %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " el directorio:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " ¡operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " en raíz" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Origen:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destino:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Fecha de modificación: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Fecha de modificación: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Eliminar:" #: ../src/File.cpp:136 msgid "From:" msgstr "Desde:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Cambiando propietario..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montar el sistema de archivos..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montar el directorio:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmontar el sistema de archivos..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Desmontar el directorio:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "El directorio %s ya existe. ¿Sobreescribir?\n" "=> Precaución, ¡todos los archivos en este directorio se perderán " "definitivamente!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "El archivo %s existe. ¿Desea sobreescribirlo?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmar sobreescritura" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "No se puede preservar la fecha al copiar el archivo %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "No se puede preservar la fecha al copiar el archivo %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar el directorio %s : Permiso denegado" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "No se puede preservar la fecha al copiar el directorio %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "No se puede preservar la fecha al copiar el directorio %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "El origen %s no existe" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "El destino %s es idéntico al origen" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "El destino %s es un subdirectorio del origen" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Eliminar directorio: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Desde: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar el directorio %s:%s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar el directorio %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede renombrar al destino %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "No se puede crear enlace simbólico %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "No se puede crear enlace simbólico %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Directorio: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Añadir a archivo comprimido" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Comando fallido: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directorio %s se ha montado con éxito." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "El directorio %s se ha desmontado con éxito." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalar/actualizar paquete" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalando paquete: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Desinstalando paquete: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nombre de &archivo:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Aceptar" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltro de archivos:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Sólo lectura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Ir al directorio anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Ir al directorio siguiente" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Subir un directorio" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Ir al directorio personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Ir al directorio de trabajo" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nuevo directorio" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Lista de íconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Lista de iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Lista de archivos detallada" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Ocultar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Ocultar miniaturas" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crear directorio nuevo..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crear archivo nuevo..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Archivo nuevo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Ir al directorio &personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Ir al directorio de &trabajo" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Archivo nuevo..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "&Directorio nuevo..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "&Miniaturas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Iconos &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Iconos &pequeños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "&Lista completa de archivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Filas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Columnas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Autodimensionar" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nombre" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ta&maño" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Usuario" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Dir&ectorios primero" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "&Invertir orden" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Familia" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Tamaño:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Cualquiera" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europa-Oeste" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europa-Este" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Europa-Sur" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Europa-Norte" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arábigo" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europa central (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arábigo (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Tailandés (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Indicar ancho:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra condensado" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra condensado" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semi condensado" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra expandido" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra expandido" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Todas las fuentes:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Ejecutar Xfe como administrador" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Sali&r" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &todo" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Introducir contraseña de usuario:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Introducir la contraseña de administrador:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "¡Ha ocurrido un error!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño en raíz: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Camino original: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de eliminación: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "No se puede cargar la imagen" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Camino original" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de eliminación" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "El archivo %s es un archivo de texto ejecutable, ¿qué quieres hacer?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Confirmar ejecución" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "En la ruta:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "No se puede escribir la papelera %s: Permiso denegado" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s archivos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "El archivo %s está protegido contra escritura, ¿mover a papelera de todas " "formas?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "¿Restaurar el archivo %s a su ubicación original %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus directorios originales?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear el directorio %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Eliminar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "El archivo %s está protegido contra escritura, ¿eliminar de todas formas?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "¡Se ha cancelado la operación de borrar archivos!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Crear archivo nuevo:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer los permisos en %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "No se pueden establecer los permisos en %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Crear enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Enlace simbólico nuevo" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Seleccionar archivo o directorio referenciado por el enlace" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "El origen %s del enlace no existe" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Abrir los archivo(s) seleccionado(s) con:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Mostrar archivos:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Archiv&o nuevo" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "&Enlace simbólico nuevo..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Lista completa de archivos" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "A&rchivo nuevo" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Abrir co&n..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&aer a directorio " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Ext&raer aquí" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instalar/Actuali&zar" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "&Reemplazar..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Consultar pa&quetes " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Ir al directorio de &scripts" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Cop&iar a..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "M&over a la papelera" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Res&taurar de la papelera" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Origen:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Propiedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Seleccionar un directorio de destino" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalar/actualizar paquete" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Desinstalar paquete" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Error: Bifurcación fallida: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear el directorio de scripts %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "No se puede crear el directorio de scripts %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No encontrado un gestor de paquetes compatible (rpm o dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "El archivo %s pertenece al paquete: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " elementos seleccionados " #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 elemento" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " elementos" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtro: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Número límite de favoritos alcanzado. Se eliminará el último favorito..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirme Limpiar favoritos" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "¿Realmente desea eliminar todos sus favoritos?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Cerrar" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "No se pueden duplicar los tubos: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "No se pueden duplicar los tubos" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FIN DE COMANDO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSeleccionar destino..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Seleccionar un archivo" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Seleccionar archivo o directorio de destino" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Añadir al archivo comprimido" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nuevo nombre de archivo:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formato:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tEl formato del archivo es tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tEl formato del archivo es zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tEl formato del archivo es 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tEl formato del archivo es tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tEl formato del archivo es tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tEl formato del archivo es tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tEl formato del archivo es tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tEl formato del archivo es gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tEl formato del archivo es bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tEl formato del archivo es xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tEl formato del archivo es Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Usar papelera para borrar archivos (borrado seguro)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir un comando para evitar la papelera (borrado permanente)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Recordar disposición" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Guardar la posición de la ventana" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Abrir directorios con un solo click" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Abrir archivos con un solo click" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Mostrar pistas en listas de archivos y directorios" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Dimensionado relativo de listas de archivos" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Mostrar enlazador de ruta sobre listas de archivos" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notifica cuando la aplicación arranca" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formato de fecha usada en listas de archivos y directorios:\n" "(Escriba 'man strftime' en una terminal para ayuda sobre el formato)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Ir al directorio personal" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Subir un directorio" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Buscar archivos y directorios" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en listas de archivos y ventanas de texto" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Modo administrador" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Permitir modo administrador" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Identificación mediante su (usa contraseña de administrador)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Identificación mediante sudo (usa contraseña de usuario)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Confirmar eliminación de directorios no vacíos" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmar sobreescritura" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Confirmar ejecución de archivos de texto" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Propiedades del archivo" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" "Avisar si se selecciona el directorio actual en la ventana de búsqueda." #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Mostrar mensajes de éxito al montar/desmontar" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avisar si falla la preservación de fecha" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avisar si se ejecuta como administrador" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visor de texto:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Permisos de archivo" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor de imágenes:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Compresor:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Visor de PDF" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Reproductor de audio" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Reproductor de video:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temas" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Tema de color" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Colores personalizados" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Doble click para personalizar el color" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Color base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Color de borde" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Color de fondo" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Color de texto" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Color de fondo de selección" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Color de selección de texto" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Color de fondo en lista de archivos" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Color de texto de lista de archivos" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Color de resaltado en lista de archivos" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Color de barra de progreso" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Color de atención" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Color de barra de progreso" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Estándar (controles cásicos)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (estilo moderno)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ruta del tema de iconos" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fuentes" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fuentes" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Fuente normal:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Fuente de texto:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Teclas rápidas" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Teclas rápidas" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modificar teclas rápidas..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Restaurar los atajos predeterminados..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Seleccionar directorio de tema de iconos o un archivo de icono" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Cambiar fuente normal" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Cambiar fuente de texto" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear archivo nuevo" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear directorio nuevo" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Abrir archivo" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Invertir selección" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Mostrar archivos ocultos" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Mostrar miniaturas" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Refrescar paneles" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Crear enlace simbólico nuevo" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Restaurar archivos de la papelera" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Crear nueva ventana" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Crear una nueva ventana principal" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Ejecutar terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Panel izquierdo" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Árbol y panel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Dos paneles" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Árbol y dos paneles" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Limpiar barra de dirección" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Renombrar archivo" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Crear enlaces simbólicos a la ubicación" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Añadir favorito" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Sincronizar paneles" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Vaciar papelera" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Mostrar archivos ocultos" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Zoom al 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Zoom al ancho de ventana" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Rotar la imagen a la izquierda" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Rotar la imagen a la derecha" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Voltear la imagen horizontalmente" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Voltear la imagen verticalmente" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Crear nuevo documento" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a línea" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Activar/desactivar el modo autoformatear líneas" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Activar/desactivar el modo numerar líneas" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Activar/desactivar el modo minúsculas" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Activar/desactivar el modo mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "¿Quieres cambiar las teclas rápidas a sus valores predeterminados?\n" "\n" "¡Todas las modificaciones se perderán para siempre!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Restaurar las teclas rápidas predeterminadas" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Las teclas rápidas serán cambiadas al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El modo de desplazamiento se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora? " #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El tema se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El enlazador de ruta se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El botón de estilo se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La fuente normal se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La fuente de texto se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Omitir" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Omitir to&dos" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Origen:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Fecha de modificación: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Destino:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&jecutar" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Ejecutar en &Modo consola" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Refrescar panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar propiedades de archivos seleccionados" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar archivos seleccionados" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "El directorio actual ha sido fijado a '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Lis&ta completa" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar capitalización" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Autodimensionar" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Consultar &paquetes" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Subir un directorio" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Copiar %s elementos" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Mover %s elementos" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Enlazar %s elementos" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr " 0 elementos" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Buscar archivos:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "Ignorar capitalización\tIgnorar capitalización de nombres de archivos" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Archivos ocultos\tMostrar archivos y directorios ocultos." #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "En el directorio:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tEn el directorio..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Texto contiene:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "Ignorar capitalización\tIgnorar capitalización del texto" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Más opciones" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Opciones de búsqueda" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Reinicializar\tReinicializar opciones de búsqueda" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Tamaño mínimo:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtrar por tamaño de archivo mínimo (KBytes)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Tamaño máximo:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtrar por tamaño de archivo máximo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Última modificación antes:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtrar por fecha de modificación mayor (días)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Días" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Última modificación después:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtrar por fecha de modificación menor (días)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Usuario:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrar por nombre de usuario" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrar por nombre de grupo" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Tipo de archivo:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Archivo" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Tubo" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrar por tipo de archivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Permisos:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar por permisos (octal)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Archivos vacíos:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tSolo archivos vacíos" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Seguir enlaces simbólicos:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tBuscar siguiendo enlaces simbólicos" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Recursivamente" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar el sistema de archivos..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar la búsqueda (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Detener\tDetener la búsqueda (Esc)" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Búsqueda iniciada - Por favor espere..." #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Resultados de búsqueda" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Error de Entrada/Salida" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Búsqueda detenida..." #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Seleccionar ruta" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crear nuevo enlace simbólico" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaurar archivos seleccionados a la papelera" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Ejecutar Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Buscar archivos y directorios..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montar (Solo Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Desmontar (Solo Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Mostrar un panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Mostrar árbol y panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Mostrar dos paneles" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Mostrar árbol y dos paneles" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Limpiar barra de dirección" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ir a la dirección" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nuevo &directorio..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ir al directorio &personal" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Recargar" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Co&piar a..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Enla&zar a..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Propiedades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Archivo" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Seleccionar &Todo" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Quitar selección" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Invertir selección" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&referencias" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Barra general" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Barra de &herramientas" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Barra de &panel" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de &dirección" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra de e&stado" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Un panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Á&rbol y panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dos pa&neles" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Ár&bol y dos paneles" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Inter&cambiar paneles" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Inter&cambiar paneles" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Añadir favorito" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Li&mpiar favoritos" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Favoritos" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "Fi<ro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Miniaturas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Iconos grandes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Fecha" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Usuario" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Grupo" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "&Directorios primero" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Panel i&zquierdo" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "Fi<ro" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Directorios &primero" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Panel de&recho" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "&Ventana nueva" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Ventana de ad&ministrador nueva" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "E&jecutar comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizar paneles" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Inter&cambiar paneles" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ir al directorio de scripts" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Buscar archivos..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Desmontar" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Herramientas" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Ir a la &papelera" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Tamaño de papelera" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Vaciar papelera" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "P&apelera" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "A&yuda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como administrador!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "A partir de la versión 1.32 de Xfe, el lugar donde se encuentran los " "archivos de configuración ha cambiado a '%s'.\n" "Puede editar manualmente los nuevos archivos de configuración para importar " "sus antiguas personalizaciones..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No se puede crear el directorio de configuración de Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "No se puede crear el directorio de configuración de Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "¡Archivo global xferc no encontrado! Seleccione un archivo de " "configuración..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Archivo de configuración de XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No se puede crear el directorio papelera 'archivos' %s : %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No se puede crear el directorio papelera 'archivos' %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No se puede crear el directorio papelera 'info' %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No se puede crear el directorio papelera 'info' %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Traductores\n" "-------------\n" "Alemán: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Bosnio: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalán: muzzol\n" "Checo: David Vachulka\n" "Chino: Xin Li\n" "Chino (Taiwán): Wei-Lun Chao\n" "Danés: Jonas Bardino, Vidar Jon Bauge\n" "Español: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martín Carr\n" "Español (Argentina): Bruno Gilberto Luciani,\n" "Martín Carr\n" "Español (Colombia): Vladimir Támara (Pasos de Jesús)\n" "Francés: Claude Leo Mercier, Roland Baudin\n" "Griego: Nikos Papadopoulos\n" "Holandés: Hans Strijards\n" "Húngaro: Attila Szervac, Sandor Sipos\n" "Italiano: Claudio Fontana, Giorgio Moscardi\n" "Japonés: Karl Skewes\n" "Noruego: Vidar Jon Bauge\n" "Polaco: Jacek Dziura, Franciszek Janowski\n" "Portugués: Miguel Santinho\n" "Portugués (Brasil): Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Ruso: Dimitri Sertolov, Vad Vad\n" "Sueco: Anders F. Bjorklund\n" "Turco: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Buscar archivos y directorios" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "¿Realmente desea salir de Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " en " #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "¿Seguro que quieres vaciar la papelera?\n" "\n" "¡Todos los elementos se perderán para siempre!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Tamaño de papelera: %s (%s archivos, %s subdirectorios)\n" "\n" "Fecha de modificación: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Tamaño de papelera" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "¡No se puede leer el directorio papelera 'archivos' %s!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "No se puede ingresar al directorio %s: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "A&sociaciones de archivos" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "A&sociaciones de archivos" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Abrir archivo de paquete" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra de &herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Descripción" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Lista de archivos" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package versión %s es un gestor de paquetes RPM o DEB simple.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Paquetes de fuentes RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalar/actualizar paquete" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Desinstalar paquete" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "¡Ha fallado la consulta de %s!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Error al cargar el archivo" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Uso: xfp [opciones] [paquete] \n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [paquete] es la ruta al paquete rpm o deb que quieres abrir al inicio.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Imagen ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Imprimir archivo de imagen." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Ampliar la imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Reducir" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Reducir la imagen." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Ampliar 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Ampliar la imagen al 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Ajustar a la ventana" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Ampliar hasta ajustar a la ventana." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Rotar a la izquierda" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Rotar la imagen a la izquierda." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Rotar a la derecha" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Rotar la imagen a la derecha." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Voltear horizontalmente" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Voltear la imagen horizontalmente." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Voltear verticalmente" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Voltear la imagen verticalmente." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Limpiar archivos recientes" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Limpiar el menú de archivos recientes." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Salir de Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "&Ampliar" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "&Reducir" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "A&mpliar 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Ajustar a la &ventana" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Rotar a la &derecha" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Rotar a la derecha." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Rotar a la &izquierda" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Rotar a la izquierda." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Voltear &horizontalmente" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Voltear horizontalmente." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Voltear &verticalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Voltear verticalmente." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Mostrar archivos y directorios ocultos." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Mostrar miniaturas de imágenes." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Mostrar directorios con iconos grandes." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Mostrar directorios con iconos pequeños." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Lista detallada de archivos" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Mostrar listado detallado del directorio." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Mostrar los iconos por filas." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Mostrar los iconos por columnas." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Autodimensionar nombres de iconos." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar la barra de herramientas." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Lista de archivos" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Mostrar la lista de archivos." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Color de texto de lista de archivos" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Mostrar directorio con iconos grandes." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrar imágenes" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Listar solo los archivos de imagen." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Ajustar a la &ventana al abrir" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Ajustar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image versión %s es un visor de imágenes simple.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Error al cargar la imagen" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "No se puede cargar la imagen, el archivo podría estar corrupto" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "La fuente de texto se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impresión: \n" "(ej: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Uso: xfi [opciones] [imagen] \n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [imagen] es la ruta al archivo de imagen que quieres abrir al iniciar.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Preferencias de XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Texto" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Margen para autoajuste:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tamaño de tabulación:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Quitar retornos de carro:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Colores" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Líneas" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Color de fondo:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Texto:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Fondo de texto seleccionado:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Texto seleccionado:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Fondo de texto resaltado:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Texto resaltado:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Fondo de números de línea:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Primer plano de números de línea:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Buscar" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Ventana" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Líneas:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Línea:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nuevo" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Crear nuevo documento." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Abrir archivo de documento." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Guardar" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Guardar documento." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Cerrar" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Cerrar archivo de documento." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprimir documento." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Salir" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Salir de X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copiar la selección al portapapeles." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Cortar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Cortar la selección al portapapeles." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Pegar" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Pegar desde el portapapeles." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Ir a número de línea." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Deshacer" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Deshacer el último cambio." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Rehacer" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Rehacer el último cambio." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Buscar texto." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Buscar selección atrás" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Buscar el texto seleccionado hacia atrás." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Buscar selección adelante" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Buscar el texto seleccionado hacia adelante." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Autoajustar texto" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Activar el autoajuste de texto." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "No autoajustar texto" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Desactivar el autoajuste de texto." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Mostrar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Mostrar los números de línea." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Ocultar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Ocultar los números de línea." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nuevo..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Guardar cambios a archivo." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "G&uardar como..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Guardar el documento en otro archivo." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Cerrar documento." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Limpiar archivos recientes" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Deshacer" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Rehacer" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "&Volver al guardado" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Volver al documento guardado." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Cor&tar" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Pegar desde el portapapeles." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Mi&núsculas" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Cambiar a minúsculas." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Ma&yúsculas" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Cambiar a mayúsculas." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Ir a línea..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Seleccionar &Todo" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&línea de estado" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Mostrar la línea de estado." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Buscar..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Buscar una cadena de texto." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Reemplazar..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Buscar una cadena de texto y reemplazarla por otra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Buscar sel. &atrás" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Buscar sel. a&delante" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Autoajuste" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Activa o desactiva el modo autoajuste." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Números de línea" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Muestra u oculta los números de línea." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Superponer" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Activa o desactiva el modo superponer." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Fuente..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Cambiar fuente de texto." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Más preferencias..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Cambia otras opciones." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Acerca de X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "El archivo es demasiado grande: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "No se puede leer el archivo: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "sin título" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "sin título%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write versión %s es un editor de texto simple.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Cambiar fuente" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Archivos de código C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Archivos de código C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Archivos de cabeceras C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Documento sin guardar" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "¿Guardar %s a un archivo?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Sobreescribir documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "¿Sobreescribir documento existente: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (modificado)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Sólo lectura" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "SOB" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "El archivo fue modificado" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "fue modificado por otro programa. ¿Recargar este archivo desde el disco?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Ir a línea" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Ir a línea número:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Uso: xfw [opciones] [archivo1] [archivo2] [archivo3]...\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [archivo1] [archivo2] [archivo3]... son las rutas a los archivo(s) que " "quieres abrir al iniciar.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Directorio Raíz" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Preparado." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Reemplazar" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Reem&plazar todos" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Buscar:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Reemplazar con:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&acto" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignorar capitalización" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpresión" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Hacia atrás" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, Gestor de archivos X File Explorer\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Este archivo de ayuda se ve mejor con una fuente de ancho fijo. Puede " "cambiarla en la pestaña fuentes del diálogo de preferencias.]\n" " \n" " \n" " \n" " Este programa es software libre; puedes redistribuirlo y/o modificarlo " "bajo los términos de la GNU\n" " General Public License como publica la Free Software Foundation; ya sea la " "versión 2, o (si lo prefiere)\n" " cualquier versión posterior.\n" " \n" " Este programa se distribuye con la esperanza de ser útil, pero sin NINGUNA " "GARANTÍA; \n" " ni tan siquiera la garantía implícita de COMERCIABILIDAD o AJUSTE A UN " "PROPÓSITO PARTICULAR. \n" " Vea la GNU General Public License para más detalles.\n" " \n" " \n" " \n" " Descripción\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) es un gestor de archivos ligero para X11, escrito " "utilizando la biblioteca FOX.\n" " Es independiente del escritorio y puede ser fácilmente personalizado.\n" " Tiene estilos Commander o Explorer y es muy rápido y pequeño.\n" " Xfe está basado en el popular, pero descontinuado X Win Commander, escrito " "originalmente por Maxim Baranov.\n" " \n" " \n" " \n" " Características\n" " =-=-=-=-=-=-=-=\n" " \n" " - Interfaz gráfica de usuario muy rápida\n" " - Soporte UTF-8\n" " - Interfaz Commander/Explorer con cuatro modos de gestión de archivos : " "a) un panel, b) un árbol de directorios\n" " y un panel, c) dos paneles y d) un árbol de directorios y dos " "paneles\n" " - Intercambio y sincronización de paneles\n" " - Editor de texto integrado (X File Write, Xfw)\n" " - Visor de texto integrado (X File View, Xfv)\n" " - Visor de imágenes integrado (X File Image, Xfi)\n" " - Visor / instalador / desinstalador de paquetes (rpm or deb) (X File " "Package, Xfp)\n" " - Copia/corta/pega archivos desde y a tu escritorio favorito (GNOME/KDE/" "XFCE/ROX)\n" " - Arrastra y suelta archivos desde y hasta tu escritorio favorito " "(GNOME/KDE/XFCE/ROX)\n" " - Modo administrador con autenticación por su o sudo\n" " - Línea de estado\n" " - Asociación de archivos\n" " - Papelera opcional para borrado de archivos (compatible con los " "estándares de freedesktop.org)\n" " - Auto guardado de registro\n" " - Navegación de archivos y directorios con doble click o click simple\n" " - Menús emergentes con el botón derecho del ratón en árbol y lista de " "archivos\n" " - Cambiar los atributos de los archivos\n" " - Montar/desmontar dispositivos (solo Linux)\n" " - Avisa cuando los puntos de montaje no responden (solo Linux)\n" " - Barras de herramientas\n" " - Favoritos\n" " - Avanza y retrocede por las listas de historial de navegación de " "directorios\n" " - Temas de color (GNOME, KDE, Windows...)\n" " - Temas de iconos (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Temas de control (estándar o similar a Clearlooks)\n" " - Crea/extrae archivos comprimidos (compatible con los formatos tar, " "compress, zip, gzip, bzip2, lzh, rar, ace y 7zip)\n" " - Ayuda visual con propiedades de archivos\n" " - Barras de progreso o diálogos para operaciones temporalmente largas\n" " - Miniaturas con previsualizaciones de archivos\n" " - Atajos de teclado configurables\n" " - Notificación de arranque (opcional)\n" " - y mucho más...\n" " \n" " \n" " \n" " Atajos de teclado predeterminados\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " A continuación están los atajos de teclado globales. Estos atajos son " "comunes a todas las aplicaciones X File.\n" " \n" " * Seleccionar todo - Ctrl-A\n" " * Copiar al portapapeles - Ctrl-C\n" " * Buscar - Ctrl-F\n" " * Buscar anterior - Shift-Ctrl-G\n" " * Buscar siguiente - Ctrl-G\n" " * Ir al directorio personal - Ctrl-H\n" " * Invertir selección - Ctrl-I\n" " * Abrir archivo - Ctrl-O\n" " * Imprimir archivo - Ctrl-P\n" " * Salir de aplicación - Ctrl-Q\n" " * Pegar desde el portapapeles - Ctrl-V\n" " * Cerrar ventana - Ctrl-W\n" " * Cortar al portapapeles - Ctrl-X\n" " * Quitar selección - Ctrl-Z\n" " * Mostrar ayuda - F1\n" " * Crear nuevo archivo - F2\n" " * Crear nuevo directorio - F7\n" " * Lista de iconos grandes - F10\n" " * Lista de iconos pequeños - F11\n" " * Lista de archivos detallada - F12\n" " * Mostrar/ocultar archivos ocultos - Ctrl-F6\n" " * Mostrar/ocultar miniaturas - Ctrl-F7\n" " * Ir al directorio de trabajo - Shift-F2\n" " * Ir al directorio superior - Backspace\n" " * Ir al directorio anterior - Ctrl-Backspace\n" " * Ir al siguiente directorio - Shift-Backspace\n" " \n" " \n" " A continuación están los atajos de teclado de X File Explorer. Estos " "atajos son específicos a la aplicación Xfe.\n" " \n" " * Añadir favorito - Ctrl-B\n" " * Filtrar archivos - ctrl-D\n" " * Ejecutar comando - Ctrl-E\n" " * Crear nuevo enlace simbólico - Ctrl-J\n" " * Intercambiar paneles - Ctrl-K\n" " * Limpiar barra de localización - Ctrl-L\n" " * Montar sistema de archivos - Ctrl-M\n" " * Renombrar archivo - Ctrl-N\n" " * Actualizar paneles - Ctrl-R\n" " * Enlazar archivos a localización - Ctrl-S\n" " * Arrancar terminal - Ctrl-T\n" " * Desmontar sistema de archivos - Ctrl-U\n" " * Sincronizar paneles - Ctrl-Y\n" " * Crear nueva ventana - F3\n" " * Editar - F4\n" " * Copiar archivos a localización - F5\n" " * Mover archivos a localización - F6\n" " * Propiedades de archivo - F9\n" " * Modo un panel - Ctrl-F1\n" " * Modo árbol y un panel - Ctrl-F2\n" " * Modo dos paneles - Ctrl-F3\n" " * Modo árbol y dos paneles - Ctrl-F4\n" " * Mostrar/ocultar archivos ocultos - Ctrl-F5\n" " * Ir a la papelera - Ctrl-F8\n" " * Crear nueva ventana raíz - Shift-F3\n" " * Ver - Shift-F4\n" " * Mover archivos a la papelera - Del\n" " * Restaurar archivos en papelera - Alt-Del\n" " * Borrar archivos - Shift-Del\n" " * Vaciar la papelera - Ctrl-Del\n" " \n" " \n" " A continuación están los atajos de teclado de X File Image. Estos atajos " "son específicos a la aplicación Xfi.\n" " \n" " * Ajustar imagen a ventana - Ctrl-F\n" " * Voltear imagen horizontalmente - Ctrl-H\n" " * Ampliar imagen al 100% - Ctrl-I\n" " * Rotar imagen a la izquierda - Ctrl-L\n" " * Rotar imagen a la derecha - Ctrl-R\n" " * Voltear imagen verticalmente - Ctrl-V\n" " \n" " \n" " A continuación están los atajos de teclado de X File Write. Estos atajos " "son específicos a la aplicación Xfw. \n" " * Activar/desactivar autoajuste - Ctrl-K\n" " * Ir a línea - Ctrl-L\n" " * Crear nuevo documento - Ctrl-N\n" " * Reemplazar texto - Ctrl-R\n" " * Guardar cambios a archivo - Ctrl-S\n" " * Mostrar/ocultar números de línea - Ctrl-T\n" " * Activar/desact. modo mayúsculas - Shift-Ctrl-U\n" " * Activar/desact. modo minúsculas - Ctrl-U\n" " * Rehacer el último cambio - Ctrl-Y\n" " * Deshacer el último cambio - Ctrl-Z\n" " \n" " \n" " X File View (Xfv) y X File Package (Xfp) usan solo algunos de los atajos " "de teclado globales.\n" " \n" " Ten en cuenta que todos los atajos listados previamente pueden ser " "cambiados en el diálogo de preferencias de Xfe. Sin embargo,\n" " algunas acciones de teclado son fijas y no se pueden cambiar. Esto " "incluye:\n" " \n" " * Ctrl-+ and Ctrl-- - aumentar y reducir imagen en Xfi\n" " * Shift-F10 - mostrar menús contextuales en " "Xfe\n" " * Return - abrir directorios en listas de " "archivos, abrir archivos, accionar botones, etc.\n" " * Space - abrir directorios en listas de " "archivos\n" " * Esc - cerrar diálogo actual, " "deseleccionar archivos, etc.\n" " \n" " \n" " \n" " Operaciones de arrastrar y soltar\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Arrastrar un archivo o conjunto de archivos (moviendo el ratón mientras se " "mantiene el botón izquierdo pulsado)\n" " a un directorio o panel de archivo opcionalmente abre un diálogo que " "permite seleccionar la operación: copiar,\n" " mover, enlazar o cancelar.\n" " \n" " \n" " \n" " Sistema de papelera\n" " =-=-=-=-=-=-=-=-=-=\n" " \n" " Desde la versión 1.32, Xfe implementa un sistema de papelera completamente " "compatible con los estándares de freedesktop.org.\n" " Esto permite al usuario mover los archivos a la papelera o restaurarlos " "desde Xfe o su escritorio\n" " favorito.\n" " Ten en cuenta que la situación de la papelera es ahora: ~/.local/share/" "Trash/files\n" " \n" " \n" " \n" " Configuración\n" " =-=-=-=-=-=-=\n" " \n" " Puedes personalizar todo Xfe (diseño, asociaciones de archivos, atajos de " "teclado, etc.) sin editar ningún archivo a mano.\n" " Sin embargo, puedes querer entender los principios de configuración, " "porque algunas adaptaciones pueden también\n" " hacerse fácilmente editando a mano los archivos de configuración.\n" " Ten cuidado con salir de Xfe antes de editar la configuración a mano, de " "otro modo los cambios podrían no ser\n" " tenidos en cuenta.\n" " \n" " El archivo de configuración de sistema xferc está situado en /usr/share/" "xfe, /usr/local/share/xfe\n" " o /opt/local/share/xfe, en el orden de preferencia indicado.\n" " \n" " Desde la versión 1.32, los archivos de configuración locales han cambiado. " "Esto es para ser compatibles\n" " con los estándares de freedesktop.org.\n" " \n" " Los archivos de configuración locales para Xfe, Xfw, Xfv, Xfi, Xfp ahora " "están en el directorio ~/.config/xfe.\n" " Se llaman xferc, xfwrc, xfvrc, xfirc y xfprc.\n" " \n" " En la primera ejecución de Xfe, el archivo de configuración de sistema se " "copia en el archivo de configuración local\n" " ~/.config/xfe/xferc que aun no existe. Si no se encuentra el archivo de " "configuración de sistema\n" " (por una instalación en lugar inusual), un diálogo pregunta al usuario el " "lugar correcto. Entonces es más fácil\n" " personalizar Xfe (esto es especialmente cierto para asociaciones de " "archivos) a mano porque todas las opciones locales\n" " están situadas en el mismo archivo.\n" " \n" " Los iconos PNG predeterminados están en /usr/share/xfe/icons/xfe-theme o /" "usr/local/share/xfe/icons/xfe-theme, dependiendo\n" " de tu instalación. Puedes cambiar fácilmente la ruta de temas de iconos en " "el diálogo de preferencias.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Los scripts a medida pueden ser ejecutados desde Xfe sobre los archivos " "que están seleccionados en un panel. \n" " Primero debe selecccionar los archivos que quiere utilizar, después hacer " "click derecho en la lista de archivos e ir \n" " al sub menú Scripts. Por último, elige el script que quieres utilizar " "sobre la selección de archivos.\n" " \n" " Los archivos de script deben estar ubicados en el directorio ~/.config/" "xfe/scripts y deben ser ejecutables. Puedes \n" " organizar este directorio como quieras usando subdirectorios. Para ir " "directamente a este directorio, puedes hacerlo \n" " desde la entrada del menú Herramientas / Ir al directorio de scripts.\n" " \n" " A continuación, un ejemplo de un simple script de shell que lista cada " "archivo seleccionado en la terminal desde donde Xfe fue iniciado: \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Puedes usar, por supuesto, programas como xmessage, zenity or kdialog " "para mostrar una ventana con botones que \n" " permitan interactuar con el script. A continuación una modificación del " "ejemplo anterior que usa xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Usualmente, es posible usar los scripts para Nautilus encontrados en " "internet sin modificaciones.\n" " \n" " \n" " \n" " Trucos\n" " =-=-=-=\n" " \n" " Lista de archivos\n" " - Selecciona archivos y haz click derecho para abrir un menú contextual " "en la selección de archivos\n" " - Pulsa Ctrl + click derecho para abrir un menú contextual en el panel " "de archivo\n" " - Al arrastrar un archivo/directorio a un directorio, mantén el ratón " "sobre el directorio para abrirlo\n" " \n" " Lista de árbol\n" " - Selecciona un directorio y haz click derecho para abrir un menú " "contextual en el directorio seleccionado\n" " - Pulsa Ctrl + click derecho para abrir un menú contextual en el panel " "del árbol\n" " - Al arrastrar un archivo/directorio a un directorio, mantén el ratón " "sobre el directorio para expandirlo\n" " \n" " Copiar/pegar nombres de archivo\n" " - Selecciona un archivo y pulsa Ctrl-C para copiar su nombre al " "portapapeles. En un diálogo, pulsa Ctrl-V para pegar\n" " el nombre de archivo.\n" " - En un diálogo de operación de archivo, selecciona un nombre en la " "línea que contiene el original y pégalo directamente\n" " al destino mediante el botón central del ratón. Entonces modifícalo " "según tus necesidades.\n" " \n" " Notificación de inicio\n" " - Notificación de inicio es el proceso que muestra una " "retroalimentación (un reloj de arena, por ejemplo) al \n" " usuario cuando ha iniciado una acción (copia de archivos, inicio de " "aplicaciones, etc.). Dependiendo del sistema,\n" " pueden haber ciertas limitaciones. Si Xfe fue compilado con " "notificación de inicio, el usuario puede deshabilitarla\n" " para todas las aplicaciones desde las Preferencias globales. También " "puede deshabilitarla para aplicaciones \n" " individuales, usando la opción correspondiente en la primera pestaña " "del menú Propiedades. Esta última forma\n" " solo está disponible cuando el archivo es ejecutable. Deshabilitar la " "notificación de inicio puede ser útil al usar \n" " viejas aplicaciones que no reconocen el protocolo de notificación de " "inicio, como por ejemplo Xterm.\n" " \n" " \n" " \n" " Errores\n" " =-=-=-=\n" " \n" " Por favor envía cualquier error a Roland Baudin . No " "olvides mencionar la versión de Xfe que usas,\n" " la versión de la biblioteca FOX y el nombre de tu sistema y versión.\n" " \n" " \n" " \n" " Traducciones\n" " =-=-=-=-=-=-=\n" " \n" " Xfe está disponible en 23 idiomas pero algunas traducciones son solo " "parciales. Para traducir Xfe a tu idioma,\n" " abre el archivo xfe.pot situado en el directorio po del código fuente con " "un programa como poedit, kbabel\n" " o gtranslator y complétalo con tus cadenas traducidas (ten cuidado con los " "atajos y los caracteres en formato c),\n" " y envíamelo de vuelta. Estaré encantado de integrar tu trabajo en la " "próxima versión de Xfe.\n" " \n" " \n" " \n" " Parches\n" " =-=-=-=\n" " \n" " Si has programado algún parche interesante, por favor envíamelo, y trataré " "de incluirlo en la próxima versión...\n" " \n" " \n" " Muchas gracias a Maxim Baranov por su excelente X Win Commander y a toda " "la gente que ha proporcionado \n" " parches, traducciones, tests y consejos útiles.\n" " \n" " [Última revisión: 16/09/2013]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Atajos de teclado globales" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos son comunes a todas las aplicaciones Xfe.\n" "Haz doble click en un elemento para modificar la tecla asociada..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Atajos de teclado de Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos son específicos a la aplicación X File Explorer.\n" "Haz doble click en un elemento para modificar la tecla asociada..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Atajos de teclado de Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos son específicos a la aplicación X File Image.\n" "Haz doble click en un elemento para modificar la tecla asociada..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Atajos de teclado de Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos son específicos a la aplicación X File Write.\n" "Haz doble click en un elemento para modificar la tecla asociada..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nombre de la acción" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Clave de registro" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Atajos de teclado" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Pulsa la combinación de teclas que quiere usar para la acción: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Pulse espacio para deshabilitar el atajo para esta acción]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modificar atajo de teclado" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección global.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfe.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfi.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfw.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Error: No se puede ingresar al directorio %s:%s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Error: No se puede ingresar al directorio %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Error: No se puede abrir la pantalla\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Inicio de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Error: No se puede ejecutar el comando %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Error: No se puede cerrar el directorio %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Copiar archivo" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Error: No se puede leer la lista de grupos: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Error: No se puede leer la lista de grupos" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Gestor de archivos" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un gestor de archivos ligero para X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visor de imágenes" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visor de imágenes simple para Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor de texto" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un editor de texto simple para Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gestor de paquetes" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un gestor de paquetes simple para Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Mostrar dos paneles" #~ msgid "Panel does not have focus" #~ msgstr "El panel no tiene foco" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Nombre del directorio" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Nombre del directorio" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirmar sobreescritura" #~ msgid "P&roperties..." #~ msgstr "P&ropiedades..." #~ msgid "&Properties..." #~ msgstr "P&ropiedades..." #~ msgid "&About X File Write..." #~ msgstr "Acerca de &X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "No se puede ingresar al directorio %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "No se puede ingresar al directorio %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "No se puede crear el directorio papelera 'archivos' %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "No se puede ejecutar el comando %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "No se puede ingresar al directorio %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "No se puede crear el directorio papelera 'archivos' %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "No se puede crear el directorio papelera 'info' %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "No se puede crear el directorio papelera 'info' %s" #~ msgid "Delete: " #~ msgstr "Eliminar: " #~ msgid "File: " #~ msgstr "Archivo: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Acerca de X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Panel de&recho" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Panel i&zquierdo" #, fuzzy #~ msgid "Error " #~ msgstr "Error" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "No se puede ingresar al directorio %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Registro de comandos" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "No se puede crear el directorio papelera 'archivos' %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "El archivo no existe: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "No se puede renombrar al destino %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Velocidad de desplazamiento del ratón:" #~ msgid "Mouse" #~ msgstr "Ratón" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Tamaño fuente: %s - Fecha de modificación: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Tamaño destino: %s - Fecha de modificación: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #~ msgid "Go back" #~ msgstr "Ir atrás" #~ msgid "Move to previous folder." #~ msgstr "Ir al directorio anterior." #~ msgid "Go forward" #~ msgstr "Ir adelante" #~ msgid "Move to next folder." #~ msgstr "Ir al directorio siguiente." #~ msgid "Go up one folder" #~ msgstr "Subir un directorio" #~ msgid "Move up to higher folder." #~ msgstr "Ir al directorio superior." #~ msgid "Back to home folder." #~ msgstr "Volver al directorio personal." #~ msgid "Back to working folder." #~ msgstr "Volver al directorio de trabajo." #~ msgid "Show icons" #~ msgstr "Mostrar iconos" #~ msgid "Show list" #~ msgstr "Mostrar lista" #~ msgid "Display folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #~ msgid "Show details" #~ msgstr "Mostrar detalles" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Uso: xfv [opciones] [archivo1] [archivo2] [archivo3]...\n" #~ "\n" #~ " [opciones] puede ser cualquiera de los siguientes:\n" #~ "\n" #~ " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" #~ " -v, --version Mostrar la información de versión y salir.\n" #~ "\n" #~ " [archivo1] [archivo2] [archivo3]... son las ruta(s) a los archivo(s) " #~ "que quieres abrir al inicio.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Línea:" #~ msgid "Open document." #~ msgstr "Abrir documento." #~ msgid "Quit Xfv." #~ msgstr "Salir de Xfv." #~ msgid "Find" #~ msgstr "Buscar" #~ msgid "Find string in document." #~ msgstr "Buscar texto en documento." #~ msgid "Find again" #~ msgstr "Buscar de nuevo" #~ msgid "Find string again." #~ msgstr "Buscar el texto de nuevo." #~ msgid "&Find..." #~ msgstr "&Buscar..." #~ msgid "Find a string in a document." #~ msgstr "Buscar un texto en el documento." #~ msgid "Find &again" #~ msgstr "Buscar &otra vez" #~ msgid "Display status bar." #~ msgstr "Mostrar barra de estado." #~ msgid "&About X File View" #~ msgstr "Acerca de &X File View" #~ msgid "About X File View." #~ msgstr "Acerca de X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View versión %s es un visor de texto simple.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Acerca de X File View" #~ msgid "Error Reading File" #~ msgstr "Error al leer el archivo" #~ msgid "Unable to load entire file: %s" #~ msgstr "No se puede cargar el archivo entero: %s" #~ msgid "&Find" #~ msgstr "&Buscar" #~ msgid "Not Found" #~ msgstr "No encontrado" #~ msgid "String '%s' not found" #~ msgstr "No se ha encontrado la el texto '%s'" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Visor de texto" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Un visor de texto simple para Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "El destino %s es un subdirectorio del origen" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "El destino %s es idéntico al origen" #~ msgid "Ignore case" #~ msgstr "Ignorar capitalización" #~ msgid "In directory:" #~ msgstr "En el directorio:" #~ msgid "\tIn directory..." #~ msgstr "\tEn el directorio..." #~ msgid "Re&store from trash" #~ msgstr "Re&staurar desde la papelera" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Archivos y directorios" #, fuzzy #~ msgid "File size at most:" #~ msgstr "A&sociaciones de archivos" #, fuzzy #~ msgid " Items" #~ msgstr " elementos" #, fuzzy #~ msgid "Search results - " #~ msgstr "Buscar anterior" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Mostrar directorio con iconos grandes." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Mostrar listado detallado del directorio." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Mostrar miniaturas" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Ocultar miniaturas" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Copiar archivos seleccionados al portapapeles" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Cortar archivos seleccionados al portapapeles" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Mostrar propiedades de archivos seleccionados" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Mover archivos seleccionados a la papelera" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Eliminar archivos seleccionados" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Mostrar los archivos y directorios ocultos." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tSeleccionar archivo..." #~ msgid "Dir&ectories first" #~ msgstr "Directorios &primero" #~ msgid "Toggle display hidden directories" #~ msgstr "Mostrar/Ocultar directorios ocultos" #~ msgid "&Directories first" #~ msgstr "Directorios &primero" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s:%s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "¡Error! No se puede abrir la pantalla\n" #~ msgid "Go to working directory" #~ msgstr "Ir al directorio de trabajo" #~ msgid "Go to previous directory" #~ msgstr "Ir al directorio anterior" #~ msgid "Go to next directory" #~ msgstr "Ir al siguiente directorio" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "El directorio padre %s no existe, ¿desea crearlo?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s:%s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Directorio raíz" #~ msgid "Directory name" #~ msgstr "Nombre de directorio" #~ msgid "Single click directory open" #~ msgstr "Abrir directorios con un solo click" #~ msgid "Confirm quit" #~ msgstr "Confirmar al salir" #~ msgid "Quitting Xfe" #~ msgstr "Saliendo de Xfe" #~ msgid "Display toolbar" #~ msgstr "Mostrar barra de herramientas" #~ msgid "Display or hide toolbar." #~ msgstr "Mostrar u ocultar la barra de herramientas." #~ msgid "Move the selected item to trash can?" #~ msgstr "¿Mover el archivo seleccionado a la papelera?" #~ msgid "Definitively delete the selected item?" #~ msgstr "¿Eliminar definitivamente el elemento seleccionado?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Ejecución" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "No se puede preservar la fecha al copiar el archivo %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tEl formato del archivo es rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tEl formato del archivo es lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tEl formato del archivo es arj" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "¡Ha ocurrido un error al copiar los archivos!" #~ msgid "File list: Unknown package format" #~ msgstr "Lista de archivos: Formato de paquete desconocido" #~ msgid "Description: Unknown package format" #~ msgstr "Descripción: Formato de paquete desconocido" #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "¡Ha ocurrido un error! \n" #~ "Por favor, verifica que el programa xfvt está en tu path." #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "El directorio %s no está vacío, ¿mover a la papelera?" #~ msgid "Confirm delete/restore" #~ msgstr "Confirmar eliminación/restauración" #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "¡Ha sucedido un error! \n" #~ "Por favor, ten en cuenta que el modo administrador necesita tener una " #~ "terminal instalada en tu sistema." #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr " elementos desde: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #~ msgid "Move folder " #~ msgstr "Mover directorio " #~ msgid "File " #~ msgstr "Archivo " #~ msgid "Can't copy folder " #~ msgstr "No se puede copiar directorio " #~ msgid ": Permission denied" #~ msgstr ": Permiso denegado" #~ msgid "Can't copy file " #~ msgstr "No se puede copiar el archivo" #~ msgid "Installing package: " #~ msgstr "Desinstalar paquete: " #~ msgid "Uninstalling package: " #~ msgstr "Desinstalando paquete: " #~ msgid " items from: " #~ msgstr " elementos desde: " #~ msgid " Move " #~ msgstr " ¿Mover " #~ msgid " selected items to trash can? " #~ msgstr " archivos seleccionados a la papelera? " #~ msgid " Definitely delete " #~ msgstr " ¿Borrar definitivamente." #~ msgid " selected items? " #~ msgstr " los archivos seleccionados? " #~ msgid " is not empty, delete it anyway?" #~ msgstr " no está vacío, ¿eliminar de todas formas?" #~ msgid "X File Package Version " #~ msgstr "X File Package versión " #~ msgid "X File Image Version " #~ msgstr "X File Image versión " #~ msgid "X File Write Version " #~ msgstr "X File Write versión " #~ msgid "X File View Version " #~ msgstr "X File View versión " #, fuzzy #~ msgid "Restore folder " #~ msgstr "Mover directorio " #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr " archivos seleccionados a la papelera? " #, fuzzy #~ msgid "Go up" #~ msgstr "Grupo" #, fuzzy #~ msgid "Go home" #~ msgstr "Ir al directorio &personal" #, fuzzy #~ msgid "Go work" #~ msgstr "Ir al directorio de &trabajo" #, fuzzy #~ msgid "Full file list" #~ msgstr "&Lista completa de archivos" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "&Añadir favorito\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tActualizar panel (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminal:" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "El directorio ya está en la papelera, ¿eliminar definitivamente?" #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "¡El archivo ya está en la papelera! ¿borrar definitivamente?" #, fuzzy #~ msgid "Deleted from" #~ msgstr "Eliminar: " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Eliminar directorio: " xfe-1.42/po/hu.po0000644000175100017510000056247712746115274010575 00000000000000# translation of hu.po to # translation of xfe.pot to Hungarian # Copyright (C) 2008, 2009, 2015 Free Software Foundation, Inc. # This file is distributed under the same license as the Xfe package. # # # SZERVÁC Attila , 2005. # Sándor Sipos , 2008, 2009, 2015. msgid "" msgstr "" "Project-Id-Version: Xfe 1.32.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2015-01-24 16:55+0100\n" "Last-Translator: Sándor Sipos \n" "Language-Team: \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Használat: xfe [paraméterek...] [könyvtár|fájl]\n" "\n" " a [paraméterek...] a következők lehetnek:\n" "\n" " -h, --help Megjeleníti ezt a súgót, majd kilép.\n" " -v, --version Megjeleníti a verzió információkat, majd " "kilép.\n" " -i, --iconic Minimalizált állapotban indul.\n" " -m, --maximized Maximalizált állapotban indul.\n" " -p n, --panel n A megadott üzemmóddal indul (n=0 => Fa és 1 " "panel,\n" " n=1 => 1 Panel, n=2 => 2 Panel, n=3 => Fa és " "két panel).\n" "\n" " [könyvtár|FILE...] a könyvtár neve, vagy a fájlok listája amit a program " "indulását követően fog megjeleníteni.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Figyelem! Ismeretlen panel mód, az utolsónak mentett üzemmód használata\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Hiba történt az ikonok betöltése során" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Hiba történt az ikonok betöltése során. Kérem, ellenőrizze az ikonok elérési " "útvonalát!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Felhasználó" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Olvas" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Ír" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Futtat" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Csoport" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Mások" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Speciális" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Felhasználó azonosító átvétele" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Csoportazonosító átvétele" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Ragadós" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Tulajdonos" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Parancs" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Megjelölés" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekurzívan" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Megjelölések törlése" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Fájlok és könyvtárak" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Megjelöltek hozzáadása" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Csak könyvtárak" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Csak tulajdonos" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Csak fájlok" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Tulajdonságok" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&OK" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Mégsem" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Általános" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Jogok" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Fájl társítások" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Kiterjesztés:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Leírás:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Megnyit:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tFájl kijelölése..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Néz:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Szerkeszt:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Kibont:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Telepít/Frissít:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Nagy ikon:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Kis icon:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Név" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Vigyázat: A fájl neve nem UTF-8 kódolású!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Fájlrendszer (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Könyvtár" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Karakter eszköz" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blokk eszköz" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Cső" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Futtatható" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokumentum" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Törött hivatkozás" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Hivatkozás ide " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Csatolási pont" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Csatolás típus:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Használt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Szabad:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Fájlrendszer:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Cím:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Típus:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Teljes méret:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Hivatkozás ide:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Törött hivatkozás ide:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Eredeti hely:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Fájl idő" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Utolsó módosítás:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Utolsó csere:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Utolsó nyitás:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Indítás visszajelzése" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Indítás visszajelzésének tiltása erre a végrehajtható fájlra" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Törlés dátuma:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bájt)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bájt)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Méret:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Kijelölés:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Több típus" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d db elem" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d db fájl, %d db könyvtár" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Tulajdonságok" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Figyelem" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Fájlmozgatás törölve!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Hiba" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Nem írható: %s: Hozzáférés megtagadva" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "A(z) %s könyvtár nem létezik" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Fájl átnevezés" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Fájl tulajdonos" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "A fájl tulajdonosának átállítása megszakítva!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "%s chown hiba: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown hiba: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "A speciális jogosultságok beállítása biztonsági kockázatot jelenthet! " "Biztosan ezt akarja?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod hiba %s:%s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Fájl jogok" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Fájl jogok cseréje megszakítva!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod hiba %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s %s kijelölt elemben" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "A fájl jogosultságok átállítása megszakítva!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Válasszon ki egy futtatható fájlt" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Minden fájl" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG képek" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF képek" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP képek" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Ikon fájl kiválasztása" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u fájl, %u alkönyvtár" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Másolás ide" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Mozgatás ide" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Hivatkozás ide" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Mégsem" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Fájl másolás" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Fájl mozgatás" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Fájl szimbolikus hivatkozás" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Másolás" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "%s fájl/könyvtár másolása.\n" "Innen: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mozgatás" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "%s fájl/könyvtár mozgatása.\n" "Innen: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Szimbolikus hivatkozás" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Ide:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Hiba történt a mozgatási művelet közben!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Fájlmozgatás törölve!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Hiba történt a másolási művelet közben!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Fájlmásolás törölve!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Az alábbi csatolási pont nem válaszol: %s" #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Hivatkozás könyvtárra" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Könyvtárak" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Rejtett könyvtárak mutatása" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Rejtett könyvtárak elrejtése" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bájt a gyökér könyvtárban" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Aktív a panel" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Függőleges panelek" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "Hozzáférés megtagadva: %s" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Új &könyvtár..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Rejtett könyvtárak" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "&kis/Nagy minde&gy" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Fordított sorrend" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Fastruktúra kinyitása" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Fastruktúra összecsukása" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Csatolás" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Lecsatolás" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Hozzáadás &archívumhoz..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Másolás" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Kivágás" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Beillesztés" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Át&nevezés..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Másolás ide..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Mo&zgatás..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "&Szimbolikus hivatkozás ide..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "&Lomtárba mozgat" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "&Visszaállítás a kukából" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Törlés" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Tulajdonságok" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "A(z) %s könyvtárba nem tudok belépni: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Nem tudok a(z) %s könyvtárba belépni" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Archívum létrehozása" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Másolás " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "%s elem másolása innen: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Átnevezés" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Átnevezés " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Másolás ide" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mozgatás " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "%s elem mozgatása innen: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Szimbolikus hivatkozás " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "%s szimbolikus hivatkozása innen: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s nem könyvtár" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Hiba történt a szimbolikus hivatkozás készítése közben!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Szimbolikus link létrehozása megszakítva!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Biztosan törölni akarja %s könyvtárat?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Törlés megerősítése" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Fájl törlése" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "A %s könyvtár nem üres, biztosan törölni akarja?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "A %s könyvtár írásvédett, biztosan törölni akarja?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Könyvtártörlés megszakítva!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Mozgassam a(z) %s könyvtárat a kukába?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Kukába dobás megerősítése" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Kukába mozgat" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "A(z) %s könyvtár írásvédett, biztosan a kukába akarja tenni?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Hiba történt a kukába mozgatás közben!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Fájlmozgatás megszakítva!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Visszaállítás a kukából" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Visszaállítsam a %s könyvtárat az eredeti helyére (%s)?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Visszaállítás megerősítése" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "A visszaállítási információ nem áll rendelkezésre a %s elemhez." #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "A %s szülő könyvtár nem létezik, létrehozzam?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Nem tudom létrehozni a %s könyvtárat: %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Nem tudom létrehozni a %s könyvtárat" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Hiba történt a kukából való visszaállítás közben!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "A kukából történő visszaállítási művelet megszakítva!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Új könyvtár létrehozása:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Új könyvtár" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Nem tudom végrehajtani a %s parancsot" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Csatolás" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Lecsatolás" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " fájlrendszer..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " a könyvtár :" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " művelet megszakítva!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " a gyökérben" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Forrás:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Cél:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Másolt adat:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Mozgatott adat:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Törlés:" #: ../src/File.cpp:136 msgid "From:" msgstr "Innen:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Jogosultságok cseréje..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Fájl:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Tulajdonos cseréje..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Fájlrendszer csatolása..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Könyvtár csatolása:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Fájlrendszer lecsatolása..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Könyvtár lecsatolása:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "A %s könyvtár már létezik. Felülírjam?\n" "=> Vigyázat, a könyvtárban levő összes fájlt törölni fogom!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "A %s fájl már létezik. Felülírjam?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Felülírás jóváhagyása" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "A %s fájl nem másolható: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "A %s fájl nem másolható" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Forrás: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Cél: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "A dátum módosulni fog a %s fájl másolása közben: %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "A dátum módosulni fog a %s fájl másolása közben" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Nem tudom a %s könyvtárat átmásolni: Hozzáférés megtagadva" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Nem tudom a %s fájlt átmásolni: Hozzáférés megtagadva" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "A dátum módosulni fog a %s könyvtár másolása közben: %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "A dátum módosulni fog a %s könyvtár másolása közben" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "A %s forrás nem létezik" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "A %s cél megegyezik a forrással" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "A %s célkönyvtár a forrás egyik alkönyvtára" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Könyvtár törlése: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Innen: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "A %s könyvtárat nem tudom törölni: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "A %s könyvtárat nem tudom törölni" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "A %s fájlt nem tudom letörölni: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "A %s fájlt nem tudom letörölni" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Már létezik %s fájl vagy könyvtár" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Nem nevezhető át %s névre: %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Nem tudok %s hivatkozást létrehozni: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Nem tudok %s hivatkozást létrehozni" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Könyvtár: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Archívum kibontása" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Hozzáadás az archívumhoz" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Hiba a %s parancs végrehajtása során" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Sikeresen végrehajtva" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "A %s könyvtár csatlakoztatása sikeresen végrehajtva." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "A %s könyvtár lecsatlakoztatása sikeresen végrehajtva." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Csomag telepítése/frissítése:" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Csomag telepítése: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Csomag eltávolítása" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Csomag eltávolítása: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Fájl neve:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Fájl&szűrő:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Csak olvasható" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Ugrás az előző könyvtárba" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Ugrás a következő könyvtárba" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Ugrás a szülő könyvtárba" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Ugrás a saját könyvtárba" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Ugrás a munkakönyvtárba" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Új könyvtár" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Nagy ikonok listája" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Kis ikonok listája" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Részletes fájllista" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Rejtett fájlok mutatása" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Rejtett fájlok elrejtése" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Előképek megjelenítése" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Előképek elrejtése" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Új könyvtár..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Új file..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Új fájl" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Már létezik %s fájl vagy könyvtár" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Ugrás a saját könyvtárba" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Munkakönyvtárba" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Új &fájl..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Új &könyvtár..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "&Rejtett fájlok" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "&Előképek" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "N&agy ikonok" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "K&is ikonok" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Te&ljes fájl lista" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Sorok" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Oszlopok" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Automatikus méret" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Név" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "&Méret" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Típus" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "&Kiterjesztés" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Dátum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Felhasználó" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Csoport" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Könyvtárak előre" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Fordított sorrend" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Család:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "Vastagság:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "Stílus" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Méret:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Karakter kódolás:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Bármilyen" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Nyugat Európai" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Kelet Európai" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Dél Európai" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Észak Európai" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirill" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arab" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Görög" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Héber" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Török" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Skandináv" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Balti" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Kelta" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Orosz" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Közép Európai (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Orosz (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Görög (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Török (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Héber (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arab (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Balti (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnami (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Betűköz:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra sűrű" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra sűrű" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Sűrű" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Félig sűrű" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normál" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Félig nyújtott" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Nyújtott" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra nyújtott" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra nyújtott" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Sűrűség:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fix" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Változó" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Méretezhető:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Minden betűtípus" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Előnézet:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "XFE indítása rootként" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nem" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Igen" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Kilépés" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Mentés" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Igen, &mindet" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Kérem, adja meg a jelszavát:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Kérem, adja meg a root jelszavát:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Hiba történt!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Név: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Mérete a gyökérkönyvtárban: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Típus: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Módosítás dátuma: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Felhasználó: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Csoport: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Jogok: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Eredeti útvonal: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Törlés dátuma: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Méret: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Méret" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Típus" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Kiterjesztés" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Módosítás dátuma" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Jogok" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "A kép betöltése sikertelen" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Eredeti útvonal" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Törlés dátuma" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Szűrő" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Állapot" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "A %s egy végrehajtható fájl. Mit akar tenni vele?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Végrehajtás megerősítése" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Parancsnapló" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "A fájl neve üres, a művelet megszakítva" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Könyvtárba:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Nem írható a kuka (%s): Hozzáférés megtagadva" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Mozgassam a %s könyvtárat a kukába?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "A kukába mozgatja a %s kijelölt elemet?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "A %s fájl írásvédett, tényleg helyezzük át a kukába?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "A kukába mozgatás megszakítva!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Visszaállítsam a %s fájlt az eredeti %s helyére?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Visszaállítsam a %s kijelölt elemet?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Nem tudom létrehozni a %s könyvtárat: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Biztosan törölni akarja %s könyvtárat?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Biztosan törölni akarja a %s kijelölt elemet?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "A %s fájl írásvédett. Biztosan törölni akarja?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Fájltörlés elvetve!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Összehasonlítás" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Ezzel:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Nem találtam a %s programot. Kérem, állítsa be az összehasonlító programot a " "Beállítások ablakban!" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Új fájl létrehozása:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Nem tudom létrehozni a %s fájlt: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Nem tudom létrehozni a %s fájlt" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Nem tudom a %s jogosultságait beállítani: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Nem tudom a %s jogosultságait beállítani" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Új hivatkozás létrehozása:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Új szimbolikus hivatkozás" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Válassza ki a hivatkozott fájlt, vagy könyvtárat" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "A %s hivatkozott forrás nem létezik" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Kijelölt fájl(ok) megnyitása ezzel: " #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Megnyitás ezzel:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Hozzárendelés" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Fájlok mutatása:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Új &fájl..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Új &hivatkozás..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "S&zűrő..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Teljes fájl lista" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "&Jogok" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Új &fájl..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Felcsatolás" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Megnyitás &ezzel..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Megnyitás" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Kitömörítés könyvtárb&a " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Kitömörítés ide" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Ki&tömörítés ide.." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Nézet" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Telepítés/Frissítés" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Eltávolítás" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Szerkesztés" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "&Összehasonlítás..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "&Összehasonlítás" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "A fájlt tartalmazó &csomag lekérdezése " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Parancsfájlok" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Ugrás a parancsfájlok könyvtárába" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Másolás &ide..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "&Kukába mozgat" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "&Visszaállítás a kukából" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Összehasonlítás" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Tulajdonságok" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Cél kiválasztása" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Minden fájl" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Csomag telepítés/frissítés:" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Csomag eltávolítása" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Hiba: Fork sikertelen: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Nem tudom létrehozni a %s parancsfájl könyvtárat: %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Nem tudom létrehozni a %s parancsfájl könyvtárat" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nem találtam megfelelő csomagkezelőt (rpm vagy dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "A %s fájl nem tartozik semmilyen csomaghoz." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Információ" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "A %s fájl a '%s' csomagban található." #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Kijelölt szöveg:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bájt" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s %s kijelölt elemben" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 elem" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " elem" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Hivatkozás" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Szűrő: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Elértük könyvjelzők maximális számát. Az utolsó könyvjelző törlésre kerül..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Könyvjelző törlésének megerősítése" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Biztosan törölni akarja az összes könyvjelzőt?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Bezár" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Nem tudom duplikálni a csöveket: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Nem tudok új csöveket létrehozni" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> PARANCS MEGSZAKÍTVA <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> PARANCS VÉGE <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tCél kiválasztása..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Fájl kiválasztása" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Fájl vagy könyvtár kiválasztása (hova)" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Archívumhoz adás" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Az új archívum neve:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formátum:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tAz archívum formátuma: tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tAz archívum formátuma: zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tAz archívum formátuma: 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tAz archívum formátuma: tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tAz archívum formátuma: tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tAz archívum formátuma: tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tAz archívum formátuma: tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tAz archívum formátuma: gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tAz archívum formátuma: bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tAz archívum formátuma: xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tAz archívum formátuma: Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Beállítások" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Jelenlegi téma" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Beállítások" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Kuka használata törlés során (biztonságos törlés)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Parancs végrehajtás a törlés során (végleges törlés)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Elrendezés &automatikus mentése" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Az ablak helyének mentése" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Könyvtár megnyitása egy kattintással" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Fájl megnyitása egy kattintással" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Rövid súgó megjelenítése fájl- és könyvtárlistáknál" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "A fájl listák relatív mérete" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Útvonal kiválasztó megjelenítése a fájl listák felett" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Alkalmazás indításának visszajelzése" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Dátumformátum a fájl és könyvtárak listázásakor:\n" "(Bővebb információ a formázáshoz: 'man strftime')" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Módok" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Indítási mód" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Indulás a saját könyvtárban" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Indulás az aktuális könyvtárban" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Indulás az utoljára meglátogatott könyvtárban" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Görgetési mód" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Finom görgetés fájllistáknál és szöveges ablakokban" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Az egér görgő sebessége:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Root mód" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Root mód engedélyezése" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Azonosítás \"su\"-val (root jelszó használata)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Azonosítás sudo-val (felhasználó jelszavának használata)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Ablakok" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Megerősítések" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Másolás/Mozgatás/Átnevezés/Hivatkozás megerősítése" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "\"Drag and Drop\" megerősítése" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Kukába mozgatás, visszaállítás megerősítése" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Törlés megerősítése" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Nem üres könyvtárak törlésének megerősítése" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Felülírás megerősítése" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Fájlok végrehajtásának megerősítése" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Tulajdonságok" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Figyelmeztetések" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Figyelmeztessen az aktuális könyvtár átállításakor a kereső ablakban" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Figyelmeztetés, ha a csatolási pontok nem válaszolnak" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Le és felcsatlakoztatások eredményének mutatása" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Figyelmeztessen ha a fájl dátuma nem tartható meg" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Figyelmeztetés rendszergazda mód lépéskor" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programok" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Alapértelmezett programok" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Szöveg megjelenítő:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Szövegszerkesztő:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Fájl összehasonlító:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Képszerkesztő:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Kép megjelenítő:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Tömörítő:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "PDF megjelenítő:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Hang lejátszó:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Videó lejátszó:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminál:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Csatolás" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Lecsatolás" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Témák" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Színtéma" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Saját színek" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Kattintson duplán a szín kiválasztásához" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Alapszín" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Keretszín" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Háttérszín" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Betűszín" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Kijelölés háttérszín" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Kijelölés betűszíne" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Fájl lista háttérszíne" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Fájl lista betűszíne" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Fájl lista háttérszíne" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Folyamatjelző színe" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Figyelmeztetés színe" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Görgető színe" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Megjelenés" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Alap (klasszikus megjelenés)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (modern megjelenés)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ikon téma útvonala" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tÚtvonal kiválasztása..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Betűtípusok" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Betűtípusok" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normál betű:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Választás..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Szöveg betű:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "Billentyűparancso&k" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Billentyűparancsok" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Billentyűparancs módosítása..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Billentyűparancs visszaállítása.." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Ikon téma útvonalának kiválasztása" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Alap betű cseréje" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Szöveg betű cseréje" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Új fájl létrehozása" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Új könyvtár létrehozása" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Vágólapra másolás" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Vágólapra vágás" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Beillesztés a vágólapról" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Fájl megnyitása" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Kilépés az alkalmazásból" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Mindent kijelöl" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Kijelölések elvetése" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Kijelölés megfordítása" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Súgó megjelenítése" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Rejtett fájlok mutatása" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Előképek mutatása" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Ablak bezárása" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Nyomtatás" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Keresés" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Előző keresése" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Következő keresése" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Függőleges panelek" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Vízszintes panelek" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Panelek frissítése" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Új hivatkozás létrehozása" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Tulajdonságok" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Fájlok kukába mozgatása" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Fájlok visszaállítása a kukából" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Fájlok törlése" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Új ablak" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Új root ablak" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Parancs futtatása" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminál megnyitása" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Fájlrendszer csatolása (csak Linuxon)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Fájlrendszer lecsatolása (csak Linuxon)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "1 paneles megjelenés" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Fa és 1 paneles megjelenés" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "2 paneles megjelenés" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Fa és 2 paneles megjelenés" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Címsor törlése" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Átnevezés" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Fájl másolása" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Fájl mozgatása" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Fájlhivatkozás létrehozása" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Könyvjelző hozzáadása" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Panelek szinkronizálása" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Panelek felcserélése" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Ugrás a Kukába" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Kuka ürítése" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Megtekintés" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Szerkesztés" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Rejtett könyvtárak mutatása" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Fájlok szűrése" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "A kép 100%-ra nagyítása" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Ablakhoz illesztés" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "A kép balra forgatása" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "A kép jobbra forgatása" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "A kép vízszintes tükrözése" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "A kép függőleges tükrözése" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Új dokumentum létrehozása" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Változtatások mentése" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Sorra ugrás" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Utolsó módosítás visszavonása" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Utolsó módosítás ismétlése" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Csere" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Tördelés üzemmódjának átállítása" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Sorszámozás üzemmódjának átállítása" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Kisbetűs üzemmód" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Nagybetűs üzemmód" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Biztosan vissza akarja állítani az alapértelmezett billentyűparancsokat?\n" "\n" "Minden, Ön által megadott billentyűparancs el fog veszni!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Alapértelmezett billentyűparancsok" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Újraindítás" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Az új billentyűparancsok csak az újraindítást követően érvényesülnek.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A görgetési beállítás az újraindítást követően lép érvénybe.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A téma az újraindítást követően lép érvénybe.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Az útvonal választót érintő beállítás az újraindítást követően lép " "érvénybe.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A gomb stílus az újraindítást követően lép érvénybe.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Az alap betű változni fog az újraindításnál.\n" "Újraindítja az X File Explorert?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A szöveg betű változni fog az újraindításnál.\n" "Újraindítja az X File Explorert?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Kihagyás" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "&Egyiket sem" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Forrás mérete:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Módosítás dátuma:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Cél mérete:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "&Futtat" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Konzol módban indít" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Bezár" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Panel frissítése" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kijelölt fájlok vágólapra másolása" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Kijelölt fájlok vágólapra vágása" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Kijelölt fájlok tulajdonságai" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Kijelölt fájlok kukába mozgatása" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Kijelölt fájlok törlése" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Az aktuális könyvtár: %s" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Te&ljes fájl lista" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&kis/Nagy minde&gy" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Automatikus méret" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Csomag lekérdezése " #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "Ugrás a szülő könyvtárba" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "%s elem másolása" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "%s elem mozgatása" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "%s elem szimbolikus hivatkozása" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Abszolút útvonalat kell megadni" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 elem" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Fájlok keresése:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "kis/Nagy mindegy\tFájlok kis/nagy betűinek figyelmen kívül hagyása" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Rejtett fájlok és mappák\tRejtett fájlok és mappák mutatása" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "Könyvtárban:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tKönyvtárban..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Szöveg tartalmazása:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "kisbetű/Nagy betű figyelmen kívül" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "További lehetőségek" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Keresési beállítások" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Alaphelyzet\tKeresési beállítások alaphelyzetbe állítása" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Minimális méret" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Szűrés minimális fájl méret szerint (KByte)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Maximálist méret:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Szűrés maximális fájl méret szerint (KByte)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Utolsó módosítás ez előtt:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Utolsó módosítás végső napja" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Nap" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Utolsó módosítás ez után:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Utolsó módosítás kezdő napja" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Felhasználó:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tSzűrés felhasználónév alapján" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Csoport: " #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tSzűrés csoport alapján" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Fájltípus:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Fájl" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Cső" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tSzűrés típus alapján" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Jogok:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tSzűrés jogok alapján (oktális)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Üres fájlok:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tCsak üres fájlok" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Szimbolikus hivatkozás követése:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tSzimbolikus hivatkozás követése keresés során" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Alkönyvtárakban:" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNe keressen az alkönyvtárakban" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Ne keressen más fájlrendszerekben:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNe keressen más fájlrendszerekben" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Keresés\tKeresés indítása (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Megállítás\tKeresés megállítása (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Keresés elindult - Kérem, várjon... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Keresési eredmények <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Input / output hiba" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Keresés megszakítva... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Útvonal kiválasztása..." #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Új hivatkozás létrehozása" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Kijelölt fájlok visszaállítása a kukából" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "XFE indítása" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Fájlok és könyvtárak keresése..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Csatolás (csak Linuxon)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Lecsatolás (csak Linuxon)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "1 panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Fa és 1 panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "2 panel" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Fa és 2 panel" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Címsor törlése" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ugrás egy könyvtárba" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Új &könyvtár..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ugrás a &saját könyvtárba" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "F&rissítés" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Másolás ide..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "&Szimbolikus hivatkozás ide..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Tulajdonságok" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fájl" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Mindent kijelöl" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Kijelölések &elvetése" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Kijelölés meg&fordítása" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Beá&llítások" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Általános eszköztár" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Eszközök eszköztár" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Panel eszköztár" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Címsor" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Állapotsor" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&1 panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Fa és 1 panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "&2 panel" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "F&a és 2 panel" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "&Függőleges panelek" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "&Vízszintes panelek" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Könyvjelző hozzá&adása" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Könyvjelző &törlése" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Könyvjelzők" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "S&zűrő..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Előképek" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "N&agy ikonok" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Típus" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Dátum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Felhasználó" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Cs&oport" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "&Könyvtárak elsőként" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Bal panel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "S&zűrő" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "&Könyvtárak elsőként" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Jobb panel" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Új &ablak" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Új &root ablak" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "&Parancs futtatása" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminál" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "Panelek &szinkronizálása" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Panelek fel&cserélése" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ugrás a parancsfájlok könyvtárába" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Kere&sés..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Lecsatolás" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Eszközök" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Ugrás a Kukába" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Kuka mérete" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Kuka &ürítése" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "&Kuka" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Súgó" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "X File Explorer &névjegy" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Xfe rendszergazdaként!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "" "Nem tudom létrehozni az Xfe beállításait tartalmazó könyvtárat: %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Nem tudom létrehozni az Xfe beállításait tartalmazó könyvtárat: %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "Nem találtam meg a globális xferc fájlt! Kérem válasszon ki egyet..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE beállítás fájl" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Nem tudom létrehozni a kuka könyvtárát: %s : %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Nem tudom létrehozni a kuka 'files' könyvtárát: %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Nem tudom létrehozni a kuka 'info' könyvtárát: %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Nem tudom létrehozni a kuka 'info' könyvtárát: %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Súgó" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer %s verzió" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Maxim Baranov X WinCommander-je alapján\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Fordítók\n" "-------------\n" "Argentín spanyol: Bruno Gilberto Luciani\n" "Brazil portugál: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnyák: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Katalán: muzzol\n" "Kínai: Xin Li\n" "Kínai (Tajvan): Wei-Lun Chao\n" "Cseh: David Vachulka\n" "Dán: Jonas Bardino, Vidar Jon Bauge\n" "Holland: Hans Strijards\n" "Francia: Claude Leo Mercier, Roland Baudin\n" "Német: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Magyar: Attila Szervac, Sandor Sipos\n" "Olasz: Claudio Fontana, Giorgio Moscardi\n" "Japán: Karl Skewes\n" "Norvég: Vidar Jon Bauge\n" "Lengyel: Jacek Dziura, Franciszek Janowski\n" "Portugál: Miguel Santinho\n" "Orosz: Dimitri Sertolov, Vad Vad\n" "Spanyol: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Svéd: Anders F. Bjorklund\n" "Török: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "X File Explorer &névjegy" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Parancs futtatása:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Konzol mód" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Fájlok és könyvtárak keresése" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Biztos, hogy ki akarja üríteni a kukát?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " : " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Minden elem elvész!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "A kuka mérete %s (%s fájl, %s könyvtár)\n" "\n" "Módosítás dátuma: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "A kuka mérete" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "A kuka %s könyvtára nem olvasható!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Nem találom a parancsot: %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Érvénytelen fájl társítás: %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Nem találom a fájl társítást: %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Beállítások" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Csomag megnyitása" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Meg&nyitás..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Eszköztár" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "X File Package &névjegy" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Eltávolítás" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Telepítés/Frissítés" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Leírás" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "Fájl lista" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package %s verzió, egy egyszerű rpm, deb csomagkezelő.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "X File Package névjegy" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM forrás csomagok" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM csomagok" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB csomagok" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Dokumentum megnyitása" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Nincs csomag megnyitva" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Ismeretlen csomag formátum" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Csomag Telepítése/Frissítése" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Csomag eltávolítása" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM csomag]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB csomag]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "%s lekérdezése sikertelen!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Hiba a fájl betöltése során" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Nem tudom megnyitni a fájlt: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Használat: xfp [paraméterek] [csomag] \n" "\n" " a [paraméterek] a következők lehetnek:\n" "\n" " -h, --help Az éppen látható súgó megjelenítése.\n" " -v, --version Verzió információk megjelenítése.\n" "\n" " [csomag] a megnyitandó csomag útvonala.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF kép" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP kép" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM kép" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX kép" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO kép" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB kép" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM kép" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA kép" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM kép" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG kép" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG kép" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF kép" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Kép" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Megnyitás" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Kép megnyitása." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Nyomtatás" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Kép nyomtatása" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Nagyítás" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "A kép nagyítása" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Kicsinyítés" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "A kép kicsinyítése" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "100%-os méret" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "A kép eredeti méretben." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Nagyítás ablakmérethez." #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" "Úgy jeleníti meg a képet, hogy az teljes egészében látszódjon az ablakban." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Balra forgatás" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Balra forgatás." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Jobbra forgatás" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Jobbra forgatás" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Nyomtatás" #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "\"&Aktuális Fájlok\" ürítése" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Aktuális fájlok menüpont ürítése" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Kilépés az Xfi-ből." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Nagyítás" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Kicsinyítés" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "100%-os méret" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Ablakhoz illesztés" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "&Jobbra forgat" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Jobbra forgat" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "&Balra forgat" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Balra forgat" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "&Vízszintes tükrözés" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Vízszintes tükrözés" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "&Függőleges tükrözés" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Függőleges tükrözés" #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Rejtett fájlok és mappák mutatása." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Előképek mutatása." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Könyvtár mutatása nagy ikonokkal." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Könyvtár mutatása kis ikonokkal." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Részletes fájl lista" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Részletes könyvtárlista." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Ikonok sorokba rendezése." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Ikonok oszlopba rendezése." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Automatikus méretű ikon nevek." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Eszköztár mutatása." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Fájl lista" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Fájllista mutatása." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Fájl lista &előre" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "A fájl lista a kép nézete előtt" #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Szűrés képekre" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Csak a képek mutatása." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "&Ablakhoz illesztés megnyitáskor." #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Ablakhoz illesztés megnyitáskor." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "X File Image &névjegy" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "X File Image névjegy." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image %s verzió, egy egyszerű képnézegető.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "X File Image névjegy" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Hiba a kép betöltése során" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Nem támogatott típus: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Nem tudom betölteni a fájlt (lehet, hogy a fájl sérült)" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "A módosítás a program újraindítását követően fog érvényesülni.\n" "Kívánja az X File Image programot újraindítani?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Kép megnyitása" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Nyomtatási parancs:\n" "(például: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Használat: xfi [paraméterek] [kép] \n" "\n" " a [paraméterek] a következők lehetnek:\n" "\n" " -h, --help Súgó.\n" " -v, --version Verzió információk.\n" "\n" " [kép] A megjelenítendő kép útvonala.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite beállítások" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "Sz&erkesztés" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Szöveg" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Tördelési margó:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabulátor méret:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Soremelések kihagyása:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Színek" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Sorok" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Háttérszín:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Szöveg:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Kijelölés háttérszíne:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Kijelölt szöveg:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Kijelölés háttérszíne:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Kijelölés háttérszíne:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Kurzor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Sorszámok háttér színe:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Sorszámok színe:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Keresés" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Ablak" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Sorok:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Oszlop:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Sor:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Új" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Új dokumentum létrehozása." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Dokumentum megnyitása" #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Mentés" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Dokumentum mentése" #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Bezár" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Dokumentum bezárása." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Dokumentum nyomtatása" #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Kilépés" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Kilépés az X File Write-ból" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "A kijelölés vágólapra másolása." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Kivágás" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "A kijelölés vágólapra vágása." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Beillesztés" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Beillesztés a vágólapról." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Sorszámra ugrás:" #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Visszavonás" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Utolsó módosítás visszavonása." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Újra" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Utolsó visszavonás megismétlése" #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Keresés." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Keresés a kijelölésben visszafelé" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "A kijelölt szöveg keresése visszafelé" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "A kijelölt szöveg keresése" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "A kijelölt szöveg keresése" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Tördelés bekapcsolása" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Tördelés bekapcsolása" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Tördelés kikapcsolása" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Tördelés kikapcsolása" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Sorszám megjelenítése" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Sorszám megjelenítése" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Sorszám elrejtése" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Sorszám elrejtése" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Új..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "A változtatások elmentése." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Mentés más&ként..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Fájl mentése más néven." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Dokumentum bezárása" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "\"&Aktuális Fájlok\" ürítése" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Visszavonás" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Újra végrehajtás" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Mentett &visszaállítása" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Visszaállítás a mentett állapotra." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "&Kivágás" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Beillesztés a vágólapról." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "&Kisbetűs" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Kisbetűs" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "&Nagybetűs" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Nagybetűs" #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Sorra &ugrás" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "&Mindent kijelöl" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Állapot&sor" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Állapotsor mutatása." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "Kere&sés..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Keresés." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Cse&re..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Szöveg keresése és cserélése másikra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Kijelölés keresése &visszafelé" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Kijelölés keresése &előrefelé" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Szavak tördelése" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Szavak tördelése" #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Sorszámok" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Sorszámok megjelenítése." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Felülírás" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Felülírás" #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Betűkészletek" #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Betűtípus megváltoztatása" #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Egyéb beállítások" #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Egyéb beállítások megváltoztatása." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "X File Write névjegy" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "X File Write névjegye" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "A fájl túl nagy: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "A fájl nem olvasható: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Hiba a mentés során" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "A fájl túl nagy: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "A %s fájl csonka." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "névtelen" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "névtelen%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write %s verzió, egy egyszerű szövegszerkesztő.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "X File Write névjegy" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Betűtípus megváltoztatása" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Szövegfájlok" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C forrásfájlok" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ forrásfájlok" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ fejléc fájlok" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML fájlok" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP fájlok" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Nem mentett dokumentum" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Mentsük %s fájlt?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Dokumentum mentése" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Dokumentum felülírása" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Felülírjam a már létező %s dokumentumot?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (módosítva)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr " (csak olvasható)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "CSAK OLVASHATÓ" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "FELÜLÍR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "BESZÚR" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "A fájl módosult" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "fájlt megváltoztatta egy másik program. Újratöltsem?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Cserélés" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Sorra ugrás" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Sorszámra ugrás:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Használat: xfw [paraméterek] [fájl1] [fájl2] [fájl3]...\n" "\n" " a [paraméterek] a következők lehetnek:\n" "\n" " -r, --read-only Fájl megnyitása csak olvasható módon.\n" " -h, --help Súgó.\n" " -v, --version Verzió információk megjelenítése.\n" "\n" " [fájl1] [fájl2] [fájl3]... A megjelenítendő fájlok útvonala.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Root könyvtár" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Rendben." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Csere" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Cserél &mindent" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Keresés:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Cserélés erre:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Pontosan" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "kis/Nagy mind&egy" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Kifejezés" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Visszafelé" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, X File Explorer fájlkezelő\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Ezt a súgót fix szélességű betűtípussal célszerű megjeleníteni, mely a " "Beállítások ablakban beállítható.]\n" " \n" " \n" " \n" " Ez a program egy szabad szoftver; a program terjeszthető és/vagy " "módosítható a General Public License alapján, melyet a Free Software " "Foundation adott ki; annak 2. vagy bármelyik későbbi verziója szerint.\n" " \n" " A program annak a reményében kerül terjesztésre, hogy hasznosnak " "bizonyul, DE SEMMILYEN FELELŐSSÉGVÁLLALÁS NEM kötődik hozzá. További " "részletekért olvassa el a GNU General Public License vonatkozó " "bejegyzéseit \n" " \n" " \n" " Leírás\n" " =-=-=-\n" " \n" " X File Explorer (Xfe) egy pehelysúlyú fájlkezelő X11-hez, FOX toolkit " "alkalmazásával.\n" " Környezetfüggetlen és egyszerűen testreszabható.\n" " Commander és Intéző nézeteket is támogat nagyon gyors és kicsi.\n" " Az Xfe a népszerű, de félbehagyott X Win Commander-re alapul, melyet " "eredetileg Maxim Baranov készített.\n" " \n" " \n" " \n" " Tulajdonságok\n" " =-=-=-=-=-=-=\n" " \n" " - Nagyon gyors felhasználói felület\n" " - UTF-8 támogatás\n" " - Commander/Intéző felület négy üzemmódban: a) 1 panel, b) Könyvtár " "lista\n" " és 1 panel, c) 2 panel és d) könyvtár lista és két panel\n" " - Függőleges és vízszintes panel elrendezés\n" " - Panelek szinkronizálása és lépegetés közöttük\n" " - Beépített text fájl szerkesztő és nézegető (X File Write, Xfw)\n" " - Beépített kép nézegető (X File Image, Xfi)\n" " - Beépített csomag (rpm or deb) nézegető / telepítő / eltávolító (X " "File Package, Xfp)\n" " - Saját parancsfájlok használatának lehetősége (mint a Nautilus-ban)\n" " - Fájlok és könyvtárak keresése\n" " - Természetes rendezési lehetőség (foo10.txt a foo2.txt fájlt " "követi...)\n" " - Fájlok másolása/kivágása/beillesztése kedvenc asztali környezetben " "(GNOME/KDE/XFCE/ROX)\n" " - Drag and Drop kezelése kedvenc asztali környezetben (GNOME/KDE/XFCE/" "ROX)\n" " - Root mód su vagy sudo használatával\n" " - Állapotsor\n" " - Fájl társítások\n" " - Opcionális kuka használat fájlok törlésekor (freedesktop.org " "szabványnak megfelelően)\n" " - Automatikus beállítás mentés\n" " - Dupla vagy egyszeres kattintással történő navigáció\n" " - Jobb gombos egérkattintásra megjelenő menü fájl és könyvtárlistában\n" " - Fájl tulajdonságainak átállítása\n" " - Eszközök csatolása/leválasztása (Linuxon)\n" " - Csatolások hibáira figyelmeztetés (Linuxon)\n" " - Eszköztárak\n" " - Könyvjelzők\n" " - Könyvtárnavigácó során előzmények kezelése (Vissza/Előre gombok, mint " "a böngészőkben)\n" " - Színsémák (GNOME, KDE, Windows...)\n" " - Ikontémák (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Kinézet testreszabhatósága (Alapértelmezett vagy Clearlooks-szerű)\n" " - Archívumok létrehozása (tar, compress, zip, gzip, bzip2, xz és 7zip " "támogatás)\n" " - Fájlok összehasonlítása (külső eszközzel)\n" " - Archívumok kibontása (tar, compress, zip, gzip, bzip2, xz, lzh, rar, " "ace, arj és 7zip támogatása)\n" " - Helyi súgók a fájl tulajdonságairól\n" " - Folyamatjelzők hosszú műveletekhez\n" " - Képek előnézete\n" " - Billentyűparancsok létrehozásának lehetősége\n" " - Indítási visszajelzés (opcionális)\n" " - stb...\n" " \n" " \n" " \n" " Alapértelmezett billentyűparancsok\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" " \n" " Az alábbiakban az alapértelmezett billentyűparancsokat találja. Az összes " "XFE programban használhatók.\n" " \n" " * Kijelöl mindent - Ctrl-A\n" " * Vágólapra másol - Ctrl-C\n" " * Keresés - Ctrl-F\n" " * Előző keresése - Ctrl-Shift-G\n" " * Következő keresése - Ctrl-G\n" " * Saját könyvtárba ugrás - Ctrl-H\n" " * Kijelölés megfordítása - Ctrl-I\n" " * Fájl megnyitása - Ctrl-O\n" " * Fájl nyomtatása - Ctrl-P\n" " * Kilépés a programból - Ctrl-Q\n" " * Beillesztés a vágólapról - Ctrl-V\n" " * Ablak bezárása - Ctrl-W\n" " * Vágás vágólapra - Ctrl-X\n" " * Kijelölés megszüntetése - Ctrl-Z\n" " * Súgó megjelenítése - F1\n" " * Új fájl létrehozása - F2\n" " * Új könyvtár létrehozása - F7\n" " * Nagy ikon lista - F10\n" " * Kis ikon lista - F11\n" " * Részletes fájl lista - F12\n" " * Rejtett fájlok megjelenítése - Ctrl-F6\n" " * Előnézeti képek bekapcsolása - Ctrl-F7\n" " * Függőleges panelek - Ctrl-Shift-F1\n" " * Vízszintes panelek - Ctrl-Shift-F2\n" " * Ugrás a munkakönyvtárba - Shift-F2\n" " * Ugrás a szülőkönyvtárba - Backspace\n" " * Ugrás az előző könyvtárba - Ctrl-Backspace\n" " * Ugrás a következő könyvtárba - Shift-Backspace\n" " \n" " \n" " Az alábbiak az X File Explorer alapértelmezett billentyűparancsai. Ezeket " "csak az XFE programban használhatja.\n" " \n" " * Könyvjelző létrehozása - Ctrl-B\n" " * Fájlok szűrése - Ctrl-D\n" " * Parancs végrehajtása - Ctrl-E\n" " * Új hivatkozás létrehozása - Ctrl-J\n" " * Váltás panelek között - Ctrl-K\n" " * Helyválasztó sáv törlése - Ctrl-L\n" " * Eszköz csatolása (Linuxon) - Ctrl-M\n" " * Fájl átnevezése - Ctrl-N\n" " * Panel frissítése - Ctrl-R\n" " * Hivatkozás létrehozása fájlra - Ctrl-S\n" " * Terminál megnyitása - Ctrl-T\n" " * Eszköz leválasztása (Linuxon) - Ctrl-U\n" " * Panelek szinkronizálása - Ctrl-Y\n" " * Új XFE ablak - F3\n" " * Szerkesztés - F4\n" " * Másolás - F5\n" " * Mozgatás - F6\n" " * Fájl tulajdonságok - F9\n" " * 1 paneles üzemmód - Ctrl-F1\n" " * Fastruktúra és 1 panel - Ctrl-F2\n" " * 2 panel - Ctrl-F3\n" " * Fastruktúra és 2 panel - Ctrl-F4\n" " * Rejtett fájlok megjelenítése - Ctrl-F5\n" " * Kuka tartalmának megjelenítése - Ctrl-F8\n" " * Új XFE rootként - Shift-F3\n" " * Megtekintés - Shift-F4\n" " * Kukába mozgatás - Del\n" " * Visszaállítás kukából - Alt-Del\n" " * Fájl törlése - Shift-Del\n" " * Kuka ürítése - Ctrl-Del\n" " \n" " \n" " At X File Image alapértelmezett billentyűparancsai. Ezek a beállítások " "csak az XFI-ben érhetők el.\n" " \n" " * Ablakhoz méretezés - Ctrl-F\n" " * Vízszintes tükrözés - Ctrl-H\n" " * Eredeti méret - Ctrl-I\n" " * Forgatás balra - Ctrl-L\n" " * Forgatás jobbra - Ctrl-R\n" " * Függőleges tükrözés - Ctrl-V\n" " \n" " \n" " Az X File Write alapértelmezett billentyűparancsai. Csak az XFW-ben " "érhetők el. \n" " * Tördelési mód átállítása - Ctrl-K\n" " * Ugrás sorra - Ctrl-L\n" " * Új fájl létrehozása - Ctrl-N\n" " * Csere - Ctrl-R\n" " * Mentés - Ctrl-S\n" " * Sorszám megjelenítése - Ctrl-T\n" " * Nagybetűs üzemmód - Ctrl-Shift-U\n" " * Kisbetűs üzemmód - Ctrl-U\n" " * Utolsó módosítás visszaállítása - Ctrl-Y\n" " * Utolsó módosítás visszavonása - Ctrl-Z\n" " \n" " \n" " Az X File Package (Xfp) nem használ speciális billentyűparancsokat, a " "közöseken kívül.\n" " \n" " Megjegyzendő, hogy a fenti billentyűparancsokat tesztreszabhatja a " "Beállítások ablakba. Van azonban \n" " néhány olyan, amelyek rögzítettek. Ezek a következők:\n" " \n" " * Ctrl-+ and Ctrl-- - Kép nagyítása, kicsinyítése az " "Xfi-ben\n" " * Shift-F10 - Helyi menük megjelenítése Xfe-" "ben\n" " * Return, Space - könyvtárváltás, fájl megnyitás, " "gombok aktiválása, stb.\n" " * Esc - aktuális dialógusablak bezárása, " "fájl kijelölés megszüntetése, stb.\n" " \n" " \n" " \n" " Drag and Drop műveletek\n" " =-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Egy vagy több fájl áthúzása (az egér mozgatása, miközben a bal egér gombot " "lenyomva tartjuk)\n" " egy könyvtárba, vagy fájllistába megnyithat egy felugró menüt, ahol a " "következő műveletek közül \n" " választhatunk: másolás, mozgatás, hivatkozás, vegy művelet megszakítása.\n" " \n" " \n" " \n" " Kuka megvalósítása\n" " =-=-=-=-=-=-=-=-=-\n" " \n" " Az Xfe 1.32-es verziója óta, freedesktop.org szabványnak megfelelő Lomtár " "rendszert biztosít a felhasználóinak.\n" " A rendszer lehetővé teszi, hogy a fájlokat a lomtárba mozgathassuk, vagy " "visszaállítsunk onnan (az Xfe-vel, vagy \n" " a használt asztali környezettel.\n" " A lomtár helye: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Beállítás\n" " =-=-=-=-=\n" " \n" " Minden Xfe beállítás (kinézet, fájltípus társítások, billentyűparancsokat, " "stb.) elvégezhető grafikus felületről.\n" " Ha a felhasználónak szándékában áll a konfigurációs fájl közvetlen " "szerkesztése, megteheti azt is, a szintaktikai szabályok betartásával.\n" " A konfigurációs fájlok kézi szerkesztését megelőzően mindenképp lépjen ki " "az XFE programokból! \n" " A rendszerszintű beállítások az xferc fájlban találhatók az /usr/share/" "xfe, /usr/local/share/xfe\n" " vagy a /opt/local/share/xfe könyvtárak valamelyikében, a sorrendet " "figyelembe véve.\n" " \n" " Az 1.32-es verzióval követően a beállításfájlok helye megváltozott, azért " "hogy a freedesktop.org szabványoknak megfeleljen.\n" " \n" " A Xfe, Xfw, Xfi, Xfp programok beállításfájljai a ~/.config/xfe " "könyvtárban találhatók.\n" " Neveik xferc, xfwrc, xfirc and xfprc.\n" " \n" " Az Xfe indításakor a rendszerszintű beállításfájlok a helyi könyvtárba " "kerülnek átmásolásra, ha\n" " a ~/.config/xfe/xferc még nem létezik. Ha a rendszerszintű beállításfájl " "nem található, a program megéri a felhasználót, \n" " hogy adja meg a fájl útvonalát. Ez a megoldás sokkal egyszerűbbé teszi a " "program testreszabását \n" " (különös tekintettel a fájl társítások elvégzésére), mintha a " "felhasználónak ezt kézzel kellene elvégeznie.\n" " \n" " Az alapértelmezett PNG ikonok az /usr/share/xfe/icons/xfe-theme vagy az /" "usr/local/share/xfe/icons/xfe-theme könyvtárban találhatók\n" " függően a telepítés módjáról. A felhasználó egyszerűen megváltoztathatja " "az ikon téma útvonalát a Beállítások ablakban.\n" " \n" " \n" " \n" " Parancsfájlok\n" " =-=-=-=-=-=-=\n" " \n" " Az xfe lehetőséget biztosí arra hogy saját script fájlokat indítson el a " "felhasználó a kijelölt elemeken.\n" " Elsőként ki kell jelölni a panelben a kívánt fájlokat, majd jobb " "egérgombot nyomni, kiválasztani a Parancsfájlok menüpontot, majd a kívánt " "parancsfájlt.\n" " \n" " A parancsfájlokat a ~/.config/xfe/scripts könyvtárban kell elhelyezni, és " "azokat futtathatóvá kell tenni. Alkönyvtárak használata megengedett. A " "parancsfájlok könyvtárába az Xfe programban az Eszközök / Ugrás a " "parancsfájlok könyvtárába menüponttal juthat.\n" "\n" " Az alábbi egyszerű shell script kilistázza a kijelölt fájlokat, abba a " "terminálablakba ahonnan az Xfe-t indítottuk:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Természetesen használhat olyan programokat is mint az xmessage, zenity " "vagy kdialog, ahhoz, hogy ablakokat jeleníthessen meg.\n" " Az alábbi parancsfájl xmessage programmal jelenít meg egy ablakot:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Többnyire bármilyen Interneten elérhető Nautilus szkript használható, " "módosítás nélkül.\n" " \n" " \n" " \n" " Fájlok és könyvtárak keresése\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Az Xfe használatával gyorsan tud fájlokat és könyvtárakat keresni. A " "program a háttérben a find és a grep programokat használja.\n" " Kereséshez használja az Eszközök / Keresés menüpontot, vagy használja a " "Ctrl-F billentyűparancsot.\n" " \n" " A keresés ablakban a felhasználó a szokásos keresési paramétereket adhatja " "meg, mint például: név, tartalmazott szöveg, de\n" " használhat bonyolultabb feltételeket is (méret, dátum, jogosultságok, " "felhasználó, csoport, hivatkozások követése, vagy üres féjlok keresése). " "Results appear\n" " A keresés eredménye találati listában jelenik meg, ahol a felhasználó jobb " "egérgombot használva akciókat hajthat végre a fájlokon, akár a fájl lista " "paneleken.\n" " \n" " A keresés megszakítható az Esc gomb lenyomásával.\n" " \n" " \n" " \n" " Nem latin ABC alapú nyelvek\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Az Xfe képes nem latin ABC alapú felület megjelenítésére is (ide értve a " "fájlokat is).\n" " Ahhoz hogy a karakterek helyesen jelenjenek meg, olyan Unicode betűtípust " "kell választani, amely tartalmazza a kívánt karaktereket is.\n" " A betűtípus megadható a Szerkesztés / Beállítások / Betűtípus fülön.\n" " \n" " Több nyelvet támogató Unicode TrueType betűkészletek a következő címről " "tölthetők le: http://www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tippek\n" " =-=-=-\n" " \n" " Fájl lista\n" " - Jelölje ki a fájlokat és nyomjon jobb egérgombot a felugró menü " "megjelenítéséhez\n" " - Nyomjon Ctrl + jobb egérgombot a felugró menü megjelenítéséhez.\n" " - Amikor fájlt/könyvtárat húz át, tartsa a könyvtáron azt a könyvtár " "megnyitásához.\n" " \n" " Könyvtárfa\n" " - Jelölje ki a könyvtárat és nyomjon jobb egérgombot a felugró menü " "megjelenítéséhez.\n" " - Nyomjon Ctrl + jobb egérgombot a felugró menü megjelenítéséhez.\n" " - Amikor fájlt/könyvtárat húz át, tartsa a könyvtáron azt a könyvtár " "megnyitásához.\n" " \n" " Fájl nevek másolása/beillesztése\n" " - Jelölje ki a fájlt és nyomja le Ctrl-C billentyűkombinációt ahhoz, " "hogy a fájl nevét a vágólapra másolja. \n" " - Egy fájlművelet ablakban a fájl neve kijelölhető és beilleszthető " "középső egérgombbal.\n" " \n" " Fájlnevek vágólapra másolása\n" " - A fent ismertetett módon a fájlnevek a Ctrl-C-vel másolhatók a " "vágólapra. Ez felülírja a korábbi neveket\n" " A Shift-Ctrl-C viszont hozzáfűzi a korábbi tartalomhoz. Ugyanez " "érvényes a Ctrl-X, Ctrl-Shift-X billentyűkombinációra is.\n" " \n" " Indítási visszajelzés\n" " - Az indítási visszajelzés egy olyan funkctió, mely visszajelzést ad a " "felhasználónak, hogy a feladat, amelyet\n" " elindított folyamatban van (a visszajelzés homokóra formájú kurzorral " "történhet).\n" " Rendszertől függően, problémák is\n" " lehetnek ezzel a visszajelzéssel. Ha az Xfe-t Indítási " "visszajelzéssel fordították, akkor a funkció általánosan kikapcsolható\n" " a Beállítások ablakban. A visszajelzés egyedileg is letiltható, A " "fájl Tulajdonságok ablakában, ha a fájl futtatható.\n" " A letiltás funkció akkor hasznos, ha olyan régi programokat akarunk " "indítani, amely nem támogatja az indítás visszajelzését. \n" " (Pl: xterm.)\n" " \n" " Root mód\n" " - Ha a sudo-t akarja használni a root módú Xfe indításához, hasznos a " "password feedback opció bekapcsolása.\n" " szerkessze a sudoers fájlt:\n" " sudo visudo -f /etc/suoders\n" " adja a 'pwfeedback' kapcsolót az alapértelmezett paraméterekhez:\n" " Defaults env_reset,pwfeedback\n" " Ezt követően láthatja a leütött billentyűknek megfelelő számú * " "karaktert.\n" " \n" " \n" " \n" " Hibák\n" " =-=-=\n" " \n" " Ha bármilyen hibát tapasztal a program használata során, kérjük jelezze " "azt a program szerzőjének: Roland Baudin . \n" " A hibajelentésben szerepeljen az Xfe verziója, a FOX verziója, az " "operációs rendszer neve és verziója.\n" " \n" " \n" " \n" " Fordítások\n" " =-=-=-=-=-\n" " \n" " Az Xfe 23 nyelven érhető el, de néhány fordítás csak részleges. Ha le " "akarja fordítani az Xfe-t az Ön\n" " által ismert nyelvre, nyissa meg az Xfe.pot fájlt a po könyvtárban, melyet " "a program forráskódjában találhat.\n" " Használjon olyan programokat a fordításhoz, mint a poedit, kbabel, vagy " "gtranslator és töltse ki az Ön által lefordított\n" " szövegekkel (figyeljen gyorsgombokra, és a c-formázású karakterekre), és " "küldje vissza a program szerzőjének,\n" " aki ezt örömmel fogadja és megjelenteti a következő verzióban azt.\n" " \n" " \n" " \n" " Foltok\n" " =-=-=-=\n" " \n" " Ha bármilyen érdekes módosítást végzett a forráson, küldje el a program " "szerzőjének, aki megpróbálja beolvasztani a következő verzióba...\n" " \n" " \n" " Sok köszönet illeti meg Maxim Baranov-ot a kitűnő X Win Commander " "fejlesztéséért és mindenkinek aki hasznos foltot, fordítást, tesztet és " "tanácsot adott a program szerzőjének.\n" " \n" " [Last revision: 03/12/2014]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Globális billentyűparancsok" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ezen beállítások az összes XFE alkalmazásra érvényes lesznek.\n" "Kattintson duplán az elemen a billentyűparancs módosításához..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xf&e billentyűparancsok" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ezen beállítások csak az XFE alkalmazásra érvényesek.\n" "Kattintson duplán az elemen a billentyűparancs módosításához..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i billentyűparancsok" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ezen beállítások csak az X File Image alkalmazásra érvényesek.\n" "Kattintson duplán az elemen a billentyűparancs módosításához..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w billentyűparancsok" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ezen beállítások csak az X File Write alkalmazásra érvényesek.\n" "Kattintson duplán az elemen a billentyűparancs módosításához..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Művelet neve" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registry kulcs" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Billentyűparancs" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Nyomja le a billentyűt, amit a %s művelethez akar kötni." #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Nyomja le a szóközt a billentyűparancs inaktiválásához]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Billentyűparancs módosítása" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "A %s billentyűparancsot már használja a globális billentyűparancsoknál.\n" "\tTörölje azt, hogy itt használhassa." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "A %s billentyűparancsot már használja az Xfe billentyűparancsoknál.\n" "\tTörölje azt, hogy itt használhassa." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "A %s billentyűparancsot már használja az Xfi billentyűparancsoknál.\n" "\tTörölje azt, hogy itt használhassa." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "A %s billentyűparancsot már használja az Xfw billentyűparancsoknál.\n" "\tTörölje azt, hogy itt használhassa." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Hiba: Nem tudok belépni a %s könyvtárba: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Hiba: Nem tudok belépni a %s könyvtárba" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Hiba! Nem tudok csatlakozni a képernyőhöz \n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "%s indítása" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Hiba: nem tudom végrehajtani a parancsot: %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Nem tudom bezárni a %s könyvtárat\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bájt" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "másolás" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Hiba! Nem tudom olvasni: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Hiba! Nem tudom olvasni" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Fájlkezelő" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Pehelysúlyú fájlkezelő X Windowhoz" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Képnézegető" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Egyszerű képnézegető Xfe-hez" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Fájlszerkesztő" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Egyszerű fájlszerkesztő Xfe-hez" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Csomagkezelő" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Egyszerű csomagkezelő Xfe-hez" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "2 panel" #~ msgid "Panel does not have focus" #~ msgstr "A panel inaktív" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Könyvtárak" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Könyvtárak" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Felülírás megerősítése" #~ msgid "P&roperties..." #~ msgstr "Tulaj&donságok..." #~ msgid "&Properties..." #~ msgstr "Tulaj&donságok..." #~ msgid "&About X File Write..." #~ msgstr "X File Write &névjegy..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "A(z) %s könyvtárba nem tudok belépni: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "A(z) %s könyvtárba nem tudok belépni: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Nem tudom létrehozni a kuka könyvtárát: %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Nem tudom végrehajtani a %s parancsot" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Nem tudok a(z) %s könyvtárba belépni" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Nem tudom létrehozni a kuka 'files' könyvtárát: %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Nem tudom létrehozni a kuka 'info' könyvtárát: %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Nem tudom létrehozni a kuka 'info' könyvtárát: %s" #~ msgid "Delete: " #~ msgstr "Törlés: " #~ msgid "File: " #~ msgstr "Fájl: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "X File Explorer névjegy" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Jobb panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "&Bal panel" #, fuzzy #~ msgid "Error " #~ msgstr "Hiba" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Nem tudok a(z) %s könyvtárba belépni" #, fuzzy #~ msgid "Execute command " #~ msgstr "Parancs futtatása" #, fuzzy #~ msgid "Command log " #~ msgstr "Parancsnapló" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Nem tudom létrehozni a kuka könyvtárát: %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "Nem létező fájl: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Nem nevezhető át %s névre: %s" xfe-1.42/po/da.po0000644000175100017510000052562712746115274010541 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2007 Roland Baudin # This file is distributed under the same license as the Xfe package. # Vidar Jon Bauge , 2006 # msgid "" msgstr "" "Project-Id-Version: Xfe 0.99\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2007-04-03 16:36+0100\n" "Last-Translator: Jonas Bardino \n" "Language-Team: Danish\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Brug: xfe [valg] [sti] \n" "\n" " [valg] kan være en af følgende:\n" "\n" " -h, --help Vis (denne) hjælpetekst og afslut.\n" " -v, --version Vis versionsoplysninger og afslut.\n" " -i, --iconic Start som ikon.\n" " -m, --maximized Start maksimeret.\n" "\n" " [sti] er stien til mappen du vil åbne\n" " ved opstart.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Fejl under åbning af ikonfiler" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Kunne ikke åbne ikonfiler. Kontrolllér venligst ikon stien!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Bruger" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Læs" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Skriv" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Kør" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Gruppe" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Andre" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Ejer" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Kommando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Markér" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekursivt" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Fjern markering" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Skjulte mapper" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Tilføj til markering" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Kun mapper" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Kun ejer" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Kun mapper" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Egenskaber" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Accepter" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "Afbryd" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Generelt" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Rettigheder" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Filtilknytninger" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Endelse:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Beskrivelse:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Åbn:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 #, fuzzy msgid "\tSelect file..." msgstr " Vælg..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Vis:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Redigér:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Udpak:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installér/Opgradér:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Store Ikoner:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Små Ikoner:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Navn" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Filsystem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Mappe" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Kørbar fil" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Ugyldige lænker" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Lænke til " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Monteringspunkt" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Monteringstype" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Brugt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Ledig:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Filsystem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Adresse:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Total størrelse" #: ../src/Properties.cpp:690 #, fuzzy msgid "Link to:" msgstr "Lænke til " #: ../src/Properties.cpp:695 #, fuzzy msgid "Broken link to:" msgstr "Ugyldig lænke til " #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tTøm adresselinjen\tFjern indholdet i adresselinjen." #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Fil tid" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Sidst modificeret:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Sidst ændret:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Sidst åbnet:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "Dato for sletning" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Størrelse:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Valg" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Flere Typer" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr " Elementer" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Egenskaber" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Advarsel" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Flytning af filer afbrudt!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Sletning af fil afbrudt!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Fejl" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Mappen %s findes ikke" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Giv nyt navn" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Ejer" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Ændring af ejer afbrudt!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Rettigheder" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Ændring af rettigheder afbrudt!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod af %s mislykkedes: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " markerede filer" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Ændring af rettigheder afbrudt!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 #, fuzzy msgid "Select an executable file" msgstr " Mappen :" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Alle filer" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG billeder" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF billeder" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP billeder" #: ../src/Properties.cpp:1971 #, fuzzy msgid "Select an icon file" msgstr " Mappen :" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d elementer i %d mappe(r) og %d file(r)" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 #, fuzzy msgid "Copy here" msgstr "Kopiér " #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 #, fuzzy msgid "Move here" msgstr "Flyt " #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 #, fuzzy msgid "Link here" msgstr "Lænke" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 #, fuzzy msgid "Cancel" msgstr "Afbryd" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopiér fil" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Flyt fil" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Symbolsk lænke" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiér" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Flyt" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Symbolsk lænke" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Til:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Der opstod en fejl under flytningen!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Der opstod en fejl under kopieringen!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Kopiering af filer afbrudt!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkt %s svarer ikke." #: ../src/DirList.cpp:2007 #, fuzzy msgid "Link to Folder" msgstr "Lænke til " #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Mapper" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Vis skjulte filer" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "Skjulte mapper" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 #, fuzzy msgid "0 bytes in root" msgstr "0 bytes" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "To &paneler\tCtrl-F3" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Adgang til %s nægtet." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Ny Mappe" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Skjulte mapper" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 #, fuzzy msgid "Ignore c&ase" msgstr "I&gnorer store/små bogstaver" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Omvendt rækkefølge" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Udvid træ" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "&Sammenfold træ" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "&Panel" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Montér" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Afmontér" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Tilføj til &arkiv" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopiér" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klip" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Sæt ind" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Omdøb" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Kopiér &til..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Flyt til ..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 #, fuzzy msgid "Symlin&k to..." msgstr "Symbolsk læn&ke..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Flyt til papirkurv" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Tøm papirkurven" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Slet" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Egenskaber" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Kan ikke slette mappen " #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Kan ikke slette mappen " #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Sletning af fil afbrudt!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Opret arkiv" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopiér " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Omdøb" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Omdøb " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopiér til" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Flyt " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Symbolsk lænke " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s er ikke en mappe" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 #, fuzzy msgid "An error has occurred during the symlink operation!" msgstr "Der opstod en fejl under flytningen!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 #, fuzzy msgid "Symlink operation cancelled!" msgstr " handling afbrudt!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Slet mappen permanent: " #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Bekræft sletning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Slet fil" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " er skrivebeskyttet, slet permanent aligevel?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Sletning af mappe afbrudt!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "Smid i papirkurven" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Bekræft udsmidning" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Smid i papirkurven" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Der opstod en fejl under flytning til papirkurven!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Flytning af filer afbrudt!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Tøm papirkurven" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Bekræft sletning" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Kan ikke slette mappen " #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "Der opstod en fejl under flytning til papirkurven!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 #, fuzzy msgid "Create new folder:" msgstr "Opret ny mappe..." #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Ny mappe" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Kør kommando" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montér" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Afmontér" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr " mappen :" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " handling afbrudt!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 #, fuzzy msgid " in root" msgstr " i " #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Kilde :" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Mål :" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Sidst ændret" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Sidst ændret" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Slet :" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "Fra :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Ændring af rettigheder..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Fil :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Ændring af ejer..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montér filsystem..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Montér mappen :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Afmontér filsystem..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Afmontér mappen :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " findes allerede. Overskriv?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Bekræft overskrivning" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Kan ikke kopiere filen " #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Kan ikke kopiere filen " #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Kilde : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Mål : " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Mappen %s findes ikke" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Kilden %s er identisk med målet" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Slet mappe : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "Fra : " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Kan ikke slette mappen " #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Kan ikke slette mappen " #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Kan ikke slette filen " #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Kan ikke slette filen " #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller mappen %s findes allerede" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan ikke omdøbe til målet %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Opret ny fil..." #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Opret ny fil..." #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Mappe : " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Udpak arkiv" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Føj til arkiv" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Kommandoen mislykkedes: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Succes" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Montering af mappen %s fuldført." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Afmontering af mappen %s fuldført." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Installér/Opgradér pakke" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Installerer pakke : " #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Afinstallér pakke" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "Afinstallér pakke : " #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Filnavn:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Filf&ilter:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Skrivebeskyttet" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tTilbage\tGå en mappe tilbage." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tFrem\tGå en mappe frem." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr " Mappen :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr " mappen :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tGå til arbejdsmappen\tTilbage til arbejdsmappen." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Ny mappe" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Store &ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "&Små ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "&Filliste\t\tVis filliste." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Vis skjulte filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tVis miniaturer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tSkjul miniaturer" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Opret ny mappe..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Opret ny mappe..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller mappen %s findes allerede" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 #, fuzzy msgid "Go ho&me" msgstr "Gå til &hjemmemappen\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "Ny &fil..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Ny mappe..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Minia&turer" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Store &ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Små ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Detaljeret filliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Rækker" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "Kolonner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Navn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Størrelse" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Endelse" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Dato" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Bruger" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Gruppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Mapper" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Omvendt &rækkefølge" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 #, fuzzy msgid "&Family:" msgstr "&Fil" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 #, fuzzy msgid "Si&ze:" msgstr "Størrelse:" #. Character set choice #: ../src/FontDialog.cpp:81 #, fuzzy msgid "Character Set:" msgstr "Character Device" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 #, fuzzy msgid "Greek" msgstr "Ledig:" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 #, fuzzy msgid "Turkish" msgstr "Papi&rkurv" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 #, fuzzy msgid "Set Width:" msgstr "Åbn med" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 #, fuzzy msgid "Normal" msgstr "Normalskrifttype:" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 #, fuzzy msgid "Expanded" msgstr "Udvid træ" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Find" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 #, fuzzy msgid "All Fonts:" msgstr "Skrifttyper" #: ../src/FontDialog.cpp:147 #, fuzzy msgid "Preview:" msgstr "Vis:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tKør Xfe som root (Shift-F3)" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nej" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Afslut" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "G&em" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja til &alle" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 #, fuzzy msgid "Enter the user password:" msgstr "Indtast kodeordet for root :" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 #, fuzzy msgid "Enter the root password:" msgstr "Indtast kodeordet for root :" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 #, fuzzy msgid "An error has occurred!" msgstr "Der opstod en fejl under flytningen!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Navn" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " i " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Sidst ændret" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Bruger" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Gruppe" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Rettigheder" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Dato for sletning" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 #, fuzzy msgid "Size: " msgstr "Størrelse:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Størrelse" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Endelse" #: ../src/FileList.cpp:152 #, fuzzy msgid "Modified date" msgstr "Sidst ændret" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Rettigheder" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Kan ikke åbne billede: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Dato for sletning" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Bekræft sletning" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Kommando log" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Sletning af fil afbrudt!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Flyt mappen " #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Smid i papirkurven" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Flytning af filer afbrudt!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Slet mappen permanent: " #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Slet markerede elementer ? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " er skrivebeskyttet, slet aligevel?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Sletning af fil afbrudt!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 #, fuzzy msgid "Create new file:" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Kan ikke slette mappen " #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Kunne ikke skrive til %s: Adgang nægtet" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Opret ny fil..." #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "Symbolsk lænke" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Mappen %s findes ikke" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Åbn markerede filer med :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Åbn med" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Tilknyt" #: ../src/FilePanel.cpp:4269 #, fuzzy msgid "Show files:" msgstr "Vis filer :" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Detaljeret filliste" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Rettigheder" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montér" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Åbn med..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Åbn" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Kan ikke kopiere mappen " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Udpak h&er" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Udpak til..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Vis" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installér/op&gradér" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Af&installér" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "R&edigér" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "E&rstat" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Pakke forespørgsel " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Beskrivelse" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr " Mappen :" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopiér &til..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Smid i papirkurven" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Tøm papirkurven" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Kilde :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Egenskaber" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr " Vælg..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Alle Filer" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Installér/Opgradér pakke" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Afinstallér pakke" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan ikke slette mappen " #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Kunne ikke finde et program til at håndtere pakken (rpm eller dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " tilhører pakken : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " tilhører pakken : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " markerede filer" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr " markerede filer" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr " Elementer" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr " Elementer" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Lænke" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "Filter" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Makismalt antal bogmærker nået. Det sidste bogmærke vil blive slettet..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Fjern bogmærker" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Vil du virkelig afslutte Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Luk" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan ikke slette filen " #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan ikke slette filen " #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMMANDO AFBRUDT <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> KOMMANDO AFSLUTTET <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 #, fuzzy msgid "\tSelect destination..." msgstr " Vælg..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr " Mappen :" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr " Mappen :" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Tilføj til arkiv" #: ../src/ArchInputDialog.cpp:47 #, fuzzy msgid "New archive name:" msgstr "Giv nyt navn" #: ../src/ArchInputDialog.cpp:61 #, fuzzy msgid "Format:" msgstr "Fra :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Indstillinger" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Aktuelt Tema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Valg" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Brug papirkurven ved sletning af filer (sikker sletning)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Inkludér en kommando til at slette udenom papirkurv (permanent sletning)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Husk layout" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Filåbning ved enkeltklik" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Filåbning ved enkeltklik" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tVis detaljer\tDetaljeret listevisning af mappeindhold." #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " Mappen :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr " Mappen :" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr " Mappen :" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Hastighed for bladring med mus" #: ../src/Preferences.cpp:221 #, fuzzy msgid "Root mode" msgstr "Kør i konsollen" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "Kør i konsollen" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 #, fuzzy msgid "&Dialogs" msgstr "Farvevælg" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Bekræftelser" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "Bekræft sletning" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Kan ikke slette mappen %s" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Bekræft overskrivning" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Bekræft sletning" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Egenskaber" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Advarsler" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Advar når monteringspunkter ikke svarer" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Giv besked ved vellykket montering/afmontering" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Advarsel ved start som root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programmer" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Terminal :" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Standard tekstviser :" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Standard tekstredigering :" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Rettigheder" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Standard tekstredigering :" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "Opret arkiv" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Standard tekstviser :" #: ../src/Preferences.cpp:421 #, fuzzy msgid "Audio player:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:427 #, fuzzy msgid "Video player:" msgstr "Standard billedviser :" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montér" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Afmontér" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temaer" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Farvetema" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Personlige farver" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Basisfarve" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Rammefarve" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Baggrundsfarve" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Basisfarve" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Baggrundsfarve for valg" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Forgrundsfarve for valg" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Baggrundsfarve for filliste" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Baggrundsfarve for fillistevalg" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Baggrundsfarve for fillistevalg" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Rammefarve" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "Basisfarve" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Rammefarve" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Skrifttyper" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Sti til ikon-temaer" #: ../src/Preferences.cpp:499 #, fuzzy msgid "\tSelect path..." msgstr " Vælg..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Skrifttyper" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Skrifttyper" #: ../src/Preferences.cpp:509 #, fuzzy msgid "Normal font:" msgstr "Normalskrifttype:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Vælg..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Tekstskrifttype:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " Mappen :" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Vælg normalskrifttype" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Vælg skrifttype" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Opret ny mappe..." #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "Kopiér\tCtrl-C\tKopiér. (Ctrl-C)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "Klip\tCtrl-X\tKlip. (Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tSæt ind (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "&Åbn fil...\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Applikation" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "Markér &Alle" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "Slet markering\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "&Invertér markering\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tVis miniaturer" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "Nyt &vindue\tF3" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Udskriv fil" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "&Søg" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "Find ikoner i" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "&Søg" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Egenskaber" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "Smid i papirkurven" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Slet mappe : " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Opret ny fil..." #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Nyt &root vindue\tShift-F3" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Kør kommando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\tKør Xfe som root (Shift-F3)" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montér filsystem..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Afmontér filsystem..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "T&ræ og panel\tCtrl-F2" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "Træ og to p&aneler\tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tTøm adresselinjen\tFjern indholdet i adresselinjen." #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "Omdøb " #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "Tilføj til bogmærker\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "&Et panel\tCtrl-F1" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "To &paneler\tCtrl-F3" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "Smid i papirkurven" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Vis:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Redigér:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Fil tid" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "Gå til linje" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Opret ny mappe..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "Gem %s i fil?" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Gå til linje" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "&Fortryd\tCtrl-Z\tFortryd seneste ændring. (Ctrl-Z)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "&Fortryd\tCtrl-Z\tFortryd seneste ændring. (Ctrl-Z)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "Erstat" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "Ombryd tekst\tCtrl-K\tTekstombrydning til. (Ctrl-K)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "Vis &linjenumre\tCtrl-T\tVis linjenumre. (Ctrl-T)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "&Overskrivning\t\tSkift til overskrivnings-tilstand." #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "&Overskrivning\t\tSkift til overskrivnings-tilstand." #. Confirmation message #: ../src/Preferences.cpp:1088 #, fuzzy msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Vil du virkelig tømme papirkurven?\n" "\n" "Indholdet vil blive slettet permanent!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Genstart" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Farverne vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1830 #, fuzzy msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normal font vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Ignorer" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Ignorer A&lle" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Kilde :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Sidst ændret" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Mål :" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Kør" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Kør i konsollen" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Luk" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Venstre pane&l" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopiér (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tKlip (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tVis egenskaber for markerede filer (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tSlet markerede filer (Shift-Del)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Detaljeret filliste" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorer store/små bogstaver" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Pakke forespørgsel " #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr " Mappen :" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " Elementer" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Udskriv fil" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " Mappen :" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Flyt mappen " #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Ny Mappe" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Tekstskrifttype:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Udskriv fil" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Total størrelse" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Sidst modificeret:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Sidst modificeret:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Bruger" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Fil tid" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Gruppe" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Fil tid" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Filsystem:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Fil :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Fil tid" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Rettigheder" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Rettigheder" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Opret ny fil..." #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Opret ny fil..." #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Afmontér filsystem..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Find ikoner i" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Søg" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr " Vælg..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Opret ny fil..." #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #: ../src/XFileExplorer.cpp:678 #, fuzzy msgid "Launch Xfe" msgstr "\tKør Xfe som root (Shift-F3)" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr " Mappen :" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tVis ét panel (Ctrl-F1)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tVis træ og panel (Ctrl-F2)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tVis to paneler (Ctrl-F3)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tVis træ og to paneler (Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tTøm adresselinjen\tFjern indholdet i adresselinjen." #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tGå\tGå til den valgte adresse." #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Ny Mappe" #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Gå til &hjemmemappen\tCtrl-H" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "Opdaté&r\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "Kopiér &til..." #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Symbolsk læn&ke..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Egenskaber" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fil" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "Markér &Alle" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "Slet markering\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "&Invertér markering\tCtrl-I" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Indstillinge&r" #: ../src/XFileExplorer.cpp:925 #, fuzzy msgid "&General toolbar" msgstr "&Generelt" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #: ../src/XFileExplorer.cpp:927 #, fuzzy msgid "&Panel toolbar" msgstr "Værk&tøjslinje" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Adresse&linje" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Statuslinje" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "Venstre pane&l" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "T&ræ og panel\tCtrl-F2" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "To &paneler\tCtrl-F3" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "Træ og to p&aneler\tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "To &paneler\tCtrl-F3" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "To &paneler\tCtrl-F3" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "Tilføj til bogmærker\tCtrl-B" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Fjern bogmærker" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Bogmærker" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filter..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "Minia&turer" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Store ikoner" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ype" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "&Dato" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Bruger" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Gruppe" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Mapper" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Venstre pane&l" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Mapper" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Høj&re panel" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "Nyt &vindue\tF3" #: ../src/XFileExplorer.cpp:1064 #, fuzzy msgid "New &root window" msgstr "Nyt &root vindue\tShift-F3" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Kør kommando" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "&Et panel\tCtrl-F1" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "To &paneler\tCtrl-F3" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr " Mappen :" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Søg" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Afmontér" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "Værk&tøjslinje" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "Smid i papirkurven" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Tøm papirkurven" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Papi&rkurv" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Hjælp" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Du kører Xfe som root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Kunne ikke finde en global xferc! Vælg venligst en konfigurationsfil..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE konfigurationsfil" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Hjælp" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Om X File Explorer " #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "\n" "\n" "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)\n" "\n" "Baseret på X WinCommander af Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Kør kommandoen :" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Kør i konsollen" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr " Mappen :" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vil du virkelig afslutte Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " i " #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Vil du virkelig tømme papirkurven?\n" "\n" "Indholdet vil blive slettet permanent!" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Sidst ændret" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan ikke slette mappen " #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filtilknytninger" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filtilknytninger" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Indstillinger" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tÅbn pakke (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Åbn" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "Om X File Image" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Afinstallér" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installér/Opgradér" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Beskrivelse" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Filoversigt" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" " er en enkel rpm og deb pakkebehandler.\n" "\n" "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 #, fuzzy msgid "About X File Package" msgstr "Om X File Image" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM kildepakker" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB pakker" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Åbn Dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Ingen pakke åbnet" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Ukendt pakkeformat" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Installér/Opgradér pakke..." #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Afinstallér pakke..." #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM pakke]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB pakke]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Forespørgsel på %s mislykkedes!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Fejl under åbning af fil" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Kan ikke åbne filen: %s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Brug: xfq [valg] [pakke] \n" "\n" " [valg] kan være en af følgende:\n" "\n" " -h, --help Vis (denne) hjælpetekst og afslut.\n" " -v, --version Vis versionsoplysninger og afslut.\n" "\n" " [pakke] er stien til rpm- eller deb-pakken, du vil åbne ved opstart.\n" "\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF billede" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP billede" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM billede" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX billede" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO billede" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB billede" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM billede" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA billede" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM billede" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG billede" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG billede" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF billede" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "B&illede" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Åbn:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Åbn billedfil" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Udskriv fil" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Kan ikke flytte filen " #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Gå til linje" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "Gå til linje" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Udskriv fil" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "&Tøm seneste filer" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "&Tøm seneste filer" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "Afslutter Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr " Mappen :" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tVis miniaturer" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tVis ikoner\tVis mappeindhold med store ikoner." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tVis liste\tVis mappeindhold med små ikoner." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Detaljeret filliste" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tVis detaljer\tDetaljeret listevisning af mappeindhold." #: ../src/XFileImage.cpp:739 #, fuzzy msgid "View icons row-wise." msgstr "Ikoner på &række\t\tVis ikoner på række." #: ../src/XFileImage.cpp:740 #, fuzzy msgid "View icons column-wise." msgstr "Ikoner i &kolonner\t\tVis ikoner i kolonner" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Værktøjslinjen\t\tVis værktøjslinjen" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "Detaljeret filliste" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "&Filliste\t\tVis filliste." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Baggrundsfarve for fillistevalg" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tVis ikoner\tVis mappeindhold med store ikoner." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Fil tid" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "&Filliste\t\tVis filliste." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "" "Tilpas vindue ved åbning\t\tZoom ved åbning så vinduet passer til billedet." #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "Om X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Fejl under åbning af billede" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Ikke understøttet type: %s" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Kan ikke åbne hele filen: %s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Tekstskrifttypen vil blive ændret efter genstart.\n" "Genstart X File Explorer nu?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Åbn billedfil" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 #, fuzzy msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Indtast print kommando: \n" "(eksempelvis: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Brug: xfi [valg] [billede] \n" "\n" " [valg] kan være en af følgende:\n" "\n" " -h, --help Vis (denne) hjælpetekst og afslut.\n" " -v, --version Vis versionsoplysninger og afslut.\n" "\n" " [billede] er stien til billedfilen du vil åbne\n" " ved opstart.\n" "\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Indstillinger" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "R&edigér" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Tekst" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Ombrydningsmargen:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabulatorstørrelse:" #: ../src/WriteWindow.cpp:212 #, fuzzy msgid "Strip carriage returns:" msgstr "Fjern carriage returns: " #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "Farver" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Linjer" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Baggrund:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Tekst:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Baggrundsfarve for valg:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Valgt tekst:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Baggrundsfarve for valg:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Baggrundsfarve for valg:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Rammefarve:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Baggrundsfarve for linjenumre:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Forgrundsfarve for linjenumre:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Søg" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Vindue" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Linjer:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Kol:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Linje:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Opret ny mappe..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "Åbn Dokument" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "G&em" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Gem dokument" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "Luk" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tLuk (Ctrl-W)\tLuk dokument. (Ctrl-W)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Overskriv dokument" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "Afslut" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "Om X File Write" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "Kopiér\tCtrl-C\tKopiér. (Ctrl-C)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Klip" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "Klip\tCtrl-X\tKlip. (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "Sæt ind" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tSæt ind (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Fortryd" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "&Fortryd\tCtrl-Z\tFortryd seneste ændring. (Ctrl-Z)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "Omgø&r fortryd" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "&Søg" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Baggrundsfarve for valg" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search forward for selected text." msgstr "Søg &fremad\tCtrl-G\tSøg fremad efter næste forekomst. (Ctrl-G, F3)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "Ombryd tekst\tCtrl-K\tTekstombrydning til. (Ctrl-K)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "Ombryd tekst\tCtrl-K\tTekstombrydning til. (Ctrl-K)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers" msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers." msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Ny &fil..." #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "Gem %s i fil?" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "Gem som...\t\tGem dokument i en anden fil." #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Ikke-gemt dokument" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Tøm seneste filer" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Fortryd" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "Omgø&r fortryd" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to &saved" msgstr "" "Rul tilbage til gemt\t\tRul ændringer tilbage til senest gemte tilstand." #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Gem dokument" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Klip" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tSæt ind (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "Ændring af ejer afbrudt!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "Ændring af ejer afbrudt!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Gå til linje" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Markér &Alle" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "&Statuslinje" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "&Statuslinjen\t\tVis statuslinjen." #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Søg" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "Søg efter:" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "E&rstat" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "E&rstat...\tCtrl-R\tSøg og erstat i teksten. (Ctrl-R)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "Søg efter:" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "Ombryd tekst\tCtrl-K\tTekstombrydning til. (Ctrl-K)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "&Gå til linje nummer:" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "Vis &linjenumre\tCtrl-T\tVis linjenumre. (Ctrl-T)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "&Overskrivning\t\tSkift til overskrivnings-tilstand." #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "&Skrifttyper" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Vælg skrifttype" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "Indstillinge&r" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "Flere indstillinger...\t\tValg af yderligere indstillinger." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "Om X File Write" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Filen er for stor: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Kan ikke åbne filen: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Fejl under gemning af fil" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Filen er for stor: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Fil: %s overskrevet" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "uden titel" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "uden titel%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Vælg skrifttype" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Tekstfiler" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C kildekode" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ kildekode" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ deklarationsfiler" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML deklarationsfiler" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP filer" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Ikke-gemt dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Gem %s i fil?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Gem dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Overskriv dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Overskriv eksisterende dokument: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (Ændret)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Skrivebeskyttet" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Filen blev Ændret" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "er blevet ændret af et andet program. Genindlæs filen fra disk?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Erstat" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Gå til linje" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Gå til linje nummer:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Brug: xfv [valg] [fil]...\n" "\n" " [valg] kan være en af følgende:\n" "\n" " -h, --help Vis (denne) hjælpetekst og afslut.\n" " -v, --version Vis versionsoplysninger og afslut.\n" "\n" " [fil] er stien til filen du vil åbne ved opstart.\n" "\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Kør i konsollen" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Klar" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "E&rstat" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Erstat alle" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Søg efter:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Erstat med:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Eks&akt" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignorer store/små bogstaver" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "&Udtryk" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Baglæns" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Kan ikke slette mappen " #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Kan ikke slette mappen " #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr " Mappen :" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Kør kommando" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan ikke slette mappen %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Kopiér fil" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Kan ikke slette mappen " #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr " Mappen :" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Ejer" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Standard billedviser :" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "Standard tekstredigering :" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Pakke forespørgsel " #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "Kunne ikke finde et program til at håndtere pakken (rpm eller dpkg)!" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tVis to paneler (Ctrl-F3)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Mappe " #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Mappe " #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Bekræft overskrivning" #~ msgid "P&roperties..." #~ msgstr "Egenskaber..." #, fuzzy #~ msgid "&Properties..." #~ msgstr "Egenskaber..." #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "Om X File Write" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Kør kommando" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Delete: " #~ msgstr "Slet : " #, fuzzy #~ msgid "File: " #~ msgstr "Fil : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Om X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Høj&re panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Venstre pane&l" #, fuzzy #~ msgid "Error " #~ msgstr "Fejl" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Execute command " #~ msgstr "Kør kommando" #, fuzzy #~ msgid "Command log " #~ msgstr "Kommando log" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #~ msgid "Non-existing file: %s" #~ msgstr "Filen findes ikke: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Kan ikke omdøbe til målet %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Hastighed for bladring med mus" #~ msgid "Mouse" #~ msgstr "Mus" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Sidst ændret" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Sidst ændret" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Kunne ikke åbne ikonfiler. Kontrolllér venligst ikon stien!" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tTilbage\tGå en mappe tilbage." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tFrem\tGå en mappe frem." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Montér mappen :" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tGå til mappen over\tGå et mappenivå op." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tGå til hjemmemappen\tTilbage til hjemmemappen." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tGå til arbejdsmappen\tTilbage til arbejdsmappen." #, fuzzy #~ msgid "Show icons" #~ msgstr "Vis filer :" #, fuzzy #~ msgid "Show list" #~ msgstr "Vis filer :" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tVis liste\tVis mappeindhold med små ikoner." #, fuzzy #~ msgid "Show details" #~ msgstr "\tVis miniaturer" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Brug: xfv [valg] [fil]... \n" #~ "\n" #~ " [valg] kan være en af følgende:\n" #~ "\n" #~ " -h, --help Vis (denne) hjælpetekst og afslut.\n" #~ " -v, --version Vis versionsoplysninger og afslut.\n" #~ "\n" #~ " [fil] er stien til filen du vil åbne\n" #~ " ved opstart.\n" #~ "\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Kol:" #~ msgid "Line:" #~ msgstr "Linje:" #, fuzzy #~ msgid "Open document." #~ msgstr "Åbn Dokument" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "Afslutter Xfe" #~ msgid "Find" #~ msgstr "Find" #, fuzzy #~ msgid "Find string again." #~ msgstr "" #~ "\tFind en tekststreng (Ctrl-F)\tFind en tekststreng i dokumentet. (Ctrl-F)" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Find" #, fuzzy #~ msgid "Find a string in a document." #~ msgstr "" #~ "\tFind en tekststreng (Ctrl-F)\tFind en tekststreng i dokumentet. (Ctrl-F)" #, fuzzy #~ msgid "Display status bar." #~ msgstr "&Statuslinjen\t\tVis eller skjul statuslinjen." #, fuzzy #~ msgid "&About X File View" #~ msgstr "Om X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "Om X File View" #~ msgid "About X File View" #~ msgstr "Om X File View" #~ msgid "Error Reading File" #~ msgstr "Fejl under læsning af fil" #~ msgid "Unable to load entire file: %s" #~ msgstr "Kan ikke åbne hele filen: %s" #~ msgid "&Find" #~ msgstr "&Find" #~ msgid "Not Found" #~ msgstr "Ikke fundet" #~ msgid "String '%s' not found" #~ msgstr "Strengen '%s' blev ikke fundet" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Standard tekstviser :" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "Ignore case" #~ msgstr "I&gnorer store/små bogstaver" #, fuzzy #~ msgid "In directory:" #~ msgstr " Mappen :" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr " Mappen :" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Tøm papirkurven" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Skjulte mapper" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Filtilknytninger" #, fuzzy #~ msgid " Items" #~ msgstr " Elementer" #, fuzzy #~ msgid "Search results - " #~ msgstr "Find ikoner i" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tVis ikoner\tVis mappeindhold med store ikoner." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tVis liste\tVis mappeindhold med små ikoner." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tVis detaljer\tDetaljeret listevisning af mappeindhold." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tVis miniaturer" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tSkjul miniaturer" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\tKopiér (Ctrl-C, F5)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\tKlip (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tVis egenskaber for markerede filer (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\tSlet markerede filer (Shift-Del)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Search files..." #~ msgstr " Vælg..." #~ msgid "Dir&ectories first" #~ msgstr "Mapper først" #~ msgid "&Directories first" #~ msgstr "Mapper først" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Go to working directory" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\tTilbage\tGå en mappe tilbage." #, fuzzy #~ msgid "Go to next directory" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Kan ikke slette mappen " #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Directory name" #~ msgstr "Mapper" #~ msgid "Single click directory open" #~ msgstr "Mappeåbning ved enkeltklik" #~ msgid "Confirm quit" #~ msgstr "Bekræft afslutning" #~ msgid "Quitting Xfe" #~ msgstr "Afslutter Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "&Værktøjslinje\t\tVis værktøjslinjen" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "Værk&tøjslinje\t\tVis eller skjul værktøjslinjen." #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " Slet markerede elementer ? " #, fuzzy #~ msgid "&Execute" #~ msgstr "Kør" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Kilden %s er identisk med målet" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "Der opstod en fejl under kopieringen!" #, fuzzy #~ msgid "File list: Unknown package format" #~ msgstr "Filliste : Ukendt pakkeformat" #, fuzzy #~ msgid "Description: Unknown package format" #~ msgstr "Beskrivelse : Ukendt pakkeformat" #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "Der opstod en fejl! \n" #~ "Bemærk venligst at der kræves en fungerende xterm for at kunne bruge root " #~ "tilstand." #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires the selection of a valid terminal " #~ "program in the Preferences menu." #~ msgstr "" #~ "Der opstod en fejl! \n" #~ "Bemærk venligst at der kræves en fungerende xterm for at kunne bruge root " #~ "tilstand." #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "Der opstod en fejl! \n" #~ "Bemærk venligst at der kræves en fungerende xterm for at kunne bruge root " #~ "tilstand." #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr " er skrivebeskyttet, slet aligevel?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Bekræft sletning" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ " filer/mapper.\n" #~ "Fra: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #~ msgid "Move folder " #~ msgstr "Flyt mappen " #~ msgid "File " #~ msgstr "Fil " #~ msgid "Can't copy folder " #~ msgstr "Kan ikke kopiere mappen " #, fuzzy #~ msgid ": Permission denied" #~ msgstr ": Adgang nægtet" #~ msgid "Can't copy file " #~ msgstr "Kan ikke kopiere filen " #, fuzzy #~ msgid "Installing package: " #~ msgstr "Installerer pakke : " #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Afinstallér pakke : " #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ " filer/mapper.\n" #~ "Fra: " #, fuzzy #~ msgid " Move " #~ msgstr "Flyt " #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Slet mappen permanent: " #, fuzzy #~ msgid " selected items? " #~ msgstr " markerede filer" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr " er skrivebeskyttet, slet aligevel?" #, fuzzy #~ msgid "X File Package Version " #~ msgstr "X File Image Version " #~ msgid "X File Image Version " #~ msgstr "X File Image Version " #~ msgid "X File Write Version " #~ msgstr "X File Write Version " #~ msgid "X File View Version " #~ msgstr "X File View Version " #, fuzzy #~ msgid "Restore folder " #~ msgstr "Flyt mappen " #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tSmid markerede filer i papirkurven (Del, F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Gruppe" #, fuzzy #~ msgid "Go home" #~ msgstr "Gå til &hjemmemappen\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Detaljeret filliste" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Kør kommando" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Tilføj til bogmærker\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tOpdatér (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "&Terminal" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Mappen findes allerede i papirkurven! Slet mappen permanent " #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "Filen findes allerede i papirkurven! Slet filen permanent " #, fuzzy #~ msgid "Deleted from" #~ msgstr "Slet : " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Slet mappe : " xfe-1.42/po/el.po0000644000175100017510000071521112746115274010543 00000000000000# GREEK translation of xfe. # Copyright (C) 2009-2011 Free Software Foundation, Inc. # This file is distributed under the same license as the xfe package. # # nikos papadopoulos <231036448@freemail.gr>, 2009,2010,2011,2012,2013. # msgid "" msgstr "" "Project-Id-Version: xfe 1.40\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2014-12-19 05:26+0200\n" "Last-Translator: nikos papadopoulos <231036448@freemail.gr>\n" "Language-Team: Greek <231036448@freemail.gr>\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.7\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Χρήση: xfe [επιλογές...] [ΦΑΚΕΛΟΣ ή ΑΡΧΕΙΟ...]\n" "\n" " Οι [επιλογές...] μπορεί να είναι οποιεσδήποτε από τις ακόλουθες:\n" "\n" " -h, --help Εκτύπωση της (παρούσας) οθόνης βοήθειας, και, " "μετά, κλείσιμο.\n" " -v, --version Εκτύπωση των πληροφοριών έκδοσης, και, μετά, " "κλείσιμο.\n" " -i, --iconic Εκκίνηση σε κατάσταση εικονιδίου.\n" " -m, --maximized Εκκίνηση μεγιστοποιημένο.\n" " -p ν, --panels ν Εξαναγκαστική λειτουργία σε κατάσταση προβολής " "των πλαισίων, κατά « ν » \n" " (όπου, \n" " ν=0 => δένδρο και ένα πλαίσιο, \n" " ν=1 => ένα πλαίσιο, \n" " ν=2 => δύο πλαίσια, \n" " ν=3 => δένδρο και δύο πλαίσια).\n" "\n" " Το [ΦΑΚΕΛΟΣ ή ΑΡΧΕΙΟ...] είναι μια λίστα φακέλων ή αρχείων,\n" " που θα ήθελες να ανοιχτούν, κατά την εκκίνηση.\n" " Οι δύο πρώτοι φάκελοι εμφανίζονται στα πλαίσια των αρχείων· \n" " οι υπόλοιποι φάκελοι παραβλέπονται. \n" " Δεν υπάρχει περιορισμός στα πλήθος των αρχείων προς άνοιγμα.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Προειδοποίηση: Άγνωστη κατάσταση λειτουργίας των πλαισίων. Θα εφαρμοστεί η " "τελευταία αποθηκευμένη διάταξη\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Σφάλμα στη φόρτωση των εικονιδίων" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Αδυναμία φόρτωσης κάποιων εικονιδίων. Παρακαλώ, έλεγξε την διαδρομή των " "εικονιδίων." #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Χρήστης" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Ανάγνωση" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Εγγραφή" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Εκτέλεση" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Ομάδα" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Άλλα" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Ειδικό" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Ορισμός UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Ορισμός GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Κολλημένο" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Ιδιοκτήτης" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Εντολή" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Ορισμός μαρκαρισμένου" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Και στους υποφακέλους" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Καθαρισμός μαρκαρισμένου" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Αρχεία και φάκελοι" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Προσθήκη μαρκαρισμένου" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Μόνο οι φάκελοι" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Μόνο ο ιδιοκτήτης" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Μόνο τα αρχεία " #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Ιδιότητες" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "Αποδο&χή" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Ακύρωση" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Γενικά" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Δικαιώματα" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Συσχετίσεις αρχείων" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Επέκταση:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Περιγραφή:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Άνοιγμα:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tΕπιλογή αρχείου..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Προβολή:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Επεξεργασία:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Εξαγωγή:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Εγκατάσταση/Αναβάθμιση:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Μεγάλο Εικονίδιο:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Μικρό Εικονίδιο:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Όνομα" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Προσοχή: το όνομα του αρχείου δεν είναι σε κωδικοποίηση UTF-8." #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Σύστημα Αρχείων (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Φάκελος" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Συσκευή Χαρακτήρων" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Συσκευή Μπλοκ" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Επώνυμη Διασωλήνωση" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Υποδοχή" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Εκτελέσιμο" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Έγγραφο" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Κομμένος δεσμός" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Δεσμός στο " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Σημείο σύνδεσης" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Τύπος προσάρτησης:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Σε χρήση:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Ελεύθερο:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Σύστημα αρχείων:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Τοποθεσία:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Τύπος:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Συνολικό μέγεθος:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Δεσμός στο:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Σπασμένος σύνδεσμος προς:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Αρχική τοποθεσία:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Ώρα Αρχείου" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Τελευταία Τροποποίηση:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Τελευταία Αλλαγή:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Τελευταία Προσπέλαση:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Ειδοποίηση Εκκίνησης" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Απενεργοποίηση της ειδοποίηση εκκίνησης, για αυτό το εκτελέσιμο" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Ημερομηνία Διαγραφής:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu μπάιτια)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu μπάιτια)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Μέγεθος:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Επιλογή:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Πολλαπλοί τύποι" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d αντικείμενα" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d αρχεία, %d φάκελοι" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Εμφάνιση των ιδιοτήτων των επιλεγμένων αρχείων" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Εμφάνιση των ιδιοτήτων των επιλεγμένων αρχείων" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Ιδιότητες αρχείου" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Προσοχή" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Η διαδικασία μεταφοράς του αρχείου ακυρώθηκε." #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Σφάλμα" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "" "Αδυναμία εγγραφής στο\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Ο φάκελος %s δεν υπάρχει" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Μετονομασία αρχείου" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Ιδιοκτήτης του αρχείου" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Ακυρώθηκε η αλλαγή του ιδιοκτήτη." #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "" "Απέτυχε το chown στο\n" " %s\n" "\n" "%s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "" "Απέτυχε το chown στο\n" " %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Ο ορισμός ειδικών δικαιωμάτων μπορεί να είναι μη ασφαλής επιλογή. Θέλεις " "πράγματι να το κάνεις αυτό;" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "" "Απέτυχε το chmod στο\n" " %s\n" "\n" "%s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Δικαιώματα στο αρχείο:" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Ακυρώθηκε η αλλαγή στα δικαιώματα του αρχείου." #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "" "Απέτυχε το chmod στο\n" " %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " σε ένα επιλεγμένο αντικείμενο" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Ακυρώθηκε η αλλαγή των δικαιωμάτων στο αρχείο (-α)." #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Επέλεξε ένα εκτελέσιμο αρχείο" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Όλα τα αρχεία" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Εικόνες PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Εικόνες GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP Εικόνα" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Επέλεξε ένα αρχείο εικονιδίου" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u αρχεία, %u υποφάκελοι" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Αντιγραφή εδώ" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Μεταφορά εδώ" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Δεσμός εδώ" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Ακύρωση" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Αντιγραφή αρχείου" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Μεταφορά αρχείου" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Εσωτερικός δεσμός σε αρχείο" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Αντιγραφή" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Αντιγραφή %s αρχείων/φακέλων.\n" "Από: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Μεταφορά" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Μεταφορά %s αρχείων/φακέλων.\n" "Από: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Εσωτερικός Δεσμός" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Στο:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια μεταφοράς του αρχείου." #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Η διαδικασία μεταφοράς του αρχείου ακυρώθηκε." #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια αντιγραφής του αρχείου." #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Η διαδικασία αντιγραφής του αρχείου ακυρώθηκε." #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Το σημείο προσάρτησης %s δεν ανταποκρίνεται..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Δεσμός σε Φάκελο" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Φάκελοι" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Εμφάνιση κρυφών φακέλων" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Απόκρυψη κρυφών φακέλων" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 μπάιτια στο root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Η εστίαση είναι στο πλάισιο" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Κάθετα πλαίσια" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Άδεια για: άρνηση για %s ." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Νέος φάκε&λος..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Κρυ&φοί φάκελοι" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "&Χωρίς διάκριση πεζών/κεφαλαίων" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Αντί&στροφη σειρά" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Ε&πέκταση του δέντρου" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Σύμ&πτυξη του δένδρου" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Π&λαίσιο" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Προσάρτ&ηση" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "&Αποπροσάρτηση" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Προσ&θήκη σε αρχειοθήκη..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Αντι&γραφή" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Αποκ&οπή" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Επι&κόλληση" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "&Μετονομασία..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Α&ντιγραφή στο..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Μεταφορά στο..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Εσωτερικός &δεσμός στο ..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Μετακίνηση στα απο&ρρίμματα" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Απο&κατάσταση από τον κάδο απορριμμάτων" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Διαγραφή" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Ι&διότητες" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "" "Αδυναμία εισόδου στο φάκελο %s: \n" "\n" "%s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Αδυναμία εισόδου στο φάκελο %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Δημιουργία αρχειοθήκης" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Αντιγραφή του " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Αντιγραφή %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Μετονομασία" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Μετονομασία" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Αντιγραφή σε" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Μεταφορά " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Μεταφορά %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Εσωτερικός Δεσμός" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Εσωτερικοί δεσμοί %s αντικειμένων από το: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "το %s δεν είναι φάκελος" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Δημιουργήθηκε ένα σφάλμα κατά τη λειτουργία εσωτερικού δεσμού." #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Ακυρώθηκε η λειτουργία εσωτερικού δεσμού." #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "" "Οριστική διαγραφή του φακέλου \n" " %s ;" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Επιβεβαίωση Διαγραφής" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Διαγραφή αρχείου" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "" "Δεν είναι άδειος ο φάκελος\n" " %s\n" "\n" "Να διαγραφεί, έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Έχει προστασία διαγραφής ο φάκελος\n" " %s\n" "\n" "Να διαγραφεί οριστικά , έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Ακυρώθηκε η διαδικασία διαγραφής του φακέλου." #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Μεταφορά του φακέλου %s στα απορρίμματα;" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Επιβεβαίωση των Απορριμμάτων" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Μεταφορά στα απορρίμματα" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Έχει προστασία εγγραφής ο φάκελος\n" " %s\n" "\n" "Να μεταφερθεί στα απορρίμματα, έτσι κι αλλιώς;" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια μεταφοράς του αρχείου στα " "απορρίμματα." #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Η διαδικασία μεταφοράς του αρχείου στα απορρίμματα ακυρώθηκε." #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Αποκατάσταση από τον κάδο απορριμμάτων" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" "Να γίνει αποκατάσταση του φακέλου %s στην αρχική του τοποθεσία\n" " %s ;" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Επιβεβαίωση Αποκατάστασης" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποκατάστασης για το %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Ο γονικός φάκελος %s δεν υπάρχει. Θέλεις να δημιουργηθεί;" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Αδυναμία δημιουργίας του φακέλου %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" "Παρουσιάστηκε κάποιο σφάλμα, κατά τη διαδικασίας αποκατάστασης από τον κάδο " "απορριμμάτων." #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Ακυρώθηκε η διαδικασίας αποκατάστασης από τον κάδο απορριμμάτων." #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Δημιουργία νέου φακέλου:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Νέος Φάκελος" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "" "Αδυναμία εκτέλεσης της εντολής \n" " %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Προσάρτηση" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Αποπροσάρτηση" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " συστήματος αρχείων..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " του φακέλου:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " η λειτουργία ακυρώθηκε." #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " στο root" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Πηγή:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Προορισμός:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Αντιγραμμένα δεδομένα:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Μετακινημένα δεδομένα:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Διαγραφή:" #: ../src/File.cpp:136 msgid "From:" msgstr "από:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Αλλαγή των αδειών..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Αρχείο:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Αλλαγή του ιδιοκτήτη..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Προσάρτηση συστήματος αρχείων..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Προσάρτηση του φακέλου:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Αποπροσάρτηση του συστήματος αρχείων..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Αποπροσάρτηση του φακέλου:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Υπάρχει, ήδη, ο φάκελος \n" " %s\n" "\n" "Να αντικατασταθεί;\n" "=> ΠΡΟΣΟΧΗ: Όλα τα αρχεία σε αυτόν τον κατάλογο θα χαθούν, αμετάκλητα." #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Υπάρχει, ήδη, το αρχείο\n" " %s\n" "\n" "Να αντικατασταθεί;" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Επιβεβαίωση της Αντικατάστασης" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "" "πηγή:\n" " " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "" "προορισμός:\n" " " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας μετά την αντιγραφή του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας μετά την αντιγραφή του αρχείου\n" " %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "" "Αδυναμία αντιγραφής του φακέλου\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "" "Αδυναμία αντιγραφής του αρχείου\n" " %s\n" "\n" "Άρνηση πρόσβασης" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας κατά την αντιγραφή του φακέλου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "" "Αδυναμία διατήρησης της ημερομηνίας κατά την αντιγραφή του φακέλου\n" " %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Δεν υπάρχει η πηγή %s" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "" "Είναι ίδιος με τη πηγή, ο προορισμός\n" " %s" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Ο προορισμός %s είναι υποφάκελος της πηγής" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "" "διαγραφή του φακέλου:\n" " " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "" "από:\n" " " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "" "Αδυναμία διαγραφής του φακέλου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "" "Αδυναμία διαγραφής του φακέλου\n" " %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "" "Αδυναμία διαγραφής του αρχείου\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "" "Αδυναμία διαγραφής του αρχείου\n" " %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Το αρχείο ή φάκελος %s υπάρχει ήδη" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "" "Αδυναμία μετονομασίας στον προορισμό\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "" "Αδυναμία δημιουργίας του εσωτερικού δεσμού\n" " %s\n" "\n" "%s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "" "Αδυναμία δημιουργίας του εσωτερικού δεσμού\n" " %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Φάκελος: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Αποσυμπίεση αρχειοθήκης" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Προσθήκη σε αρχειoθήκη" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Αποτυχημένη εντολή: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Επιτυχία" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "" "Επιτυχής προσάρτηση του φακέλου\n" " %s" #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "" "Επιτυχής αποπροσάρτηση του φακέλου\n" " %s" #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Εγκατάσταση/Απεγκατάσταση πακέτου" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Εγκατάσταση πακέτου: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Απεγκατάσταση πακέτου" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Απεγκατάσταση του πακέτου: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Όνομα Αρχείου:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Εντάξει" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "&Φίλτρο Αρχείων:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Μόνο για Ανάγνωση" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Μετάβαση στον προηγούμενο φάκελο" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Μετάβαση στον επόμενο φάκελο" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Μετάβαση στο γονικό φάκελο" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Μετάβαση στον αρχικό κατάλογο" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Μετάβαση στον φάκελο εργασίας" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Νέος φάκελος" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Λίστα με μεγάλα εικονίδια" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Λίστα με μικρά εικονίδια" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Λεπτομερής λίστα αρχείων" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Εμφάνιση κρυφών αρχείων" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Απόκρυψη κρυφών αρχείων" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Εμφάνιση εικόνων επισκόπησης" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Απόκρυψη εικόνων επισκόπησης" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Δημιουργία νέου φακέλου..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Δημιουργία νέου αρχείου..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Νέο Αρχείο" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Το αρχείο ή φάκελος %s υπάρχει ήδη" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Μετάβαση στην αρχή" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Μετάβαση στην εργασία" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Νέο &αρχείο..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Νέος φάκε&λος..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Κρυφά &αρχεία" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Εικόνες &προεπισκόπησης" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Με&γάλα εικονίδια" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Μικ&ρά εικονίδια" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "&Λεπτομερής" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Γραμμές" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Στήλες" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Αυτόματο μέγεθος" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "Ό&νομα" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "&Μέγεθος" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Τύπος" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Ε&πέκταση" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Ημερομηνία" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Χρήστης" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Ομάδα" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Πρώτα οι Φάκ&ελοι" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Α&ντίστροφη σειρά" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Οικογένεια:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Βάρος:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Στυλ:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Μέγεθος:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Σύνολο Χαρακτήρων:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Οποιοδήποτε" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Δυτικής Ευρώπης" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Ανατολικής Ευρώπης" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Νότιας Ευρώπης" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Βόρειας Ευρώπης" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Κυριλλικά" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Αραβικά" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Ελληνικά" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Εβραϊκά" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Τουρκικά" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Σκανδιναβικά" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Ταϊλανδέζικη" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Βαλτικής" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celtic" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ρώσικα" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Κεντρικής Ευρώπης (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ρωσικό (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Λατινικά1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Ελληνικά (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Τουρκικά (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Εβραϊκά (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Αραβικά (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Βαλτικής (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Βιετναμέζικα (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Τϊλανδέζικα (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Καθορισμός Πλάτους:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Υπερβολικά συμπτυγμένα" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Επιπλέον συμπτυγμένα" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Συμπτυγμένα" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Ημι συμπτυγμένα" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Κανονικά" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Ημι ανεπτυγμένα" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Ανεπτυγμένα" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Επιπλέον ανεπτυγμένα" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Υπερβολικά ανεπτυγμένα" # For fixed-pitch (or monospaced) fonts, pitch refers to the number of # characters printed per inch. Pitch is one characteristic of a monospaced # font. Common pitch values are 10 and 12. #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Χαρακτήρες ανά ίντσα:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Σταθερό" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Μεταβλητή" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Κλιμακούμενο:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Όλες οι Γραμματοσειρές:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Προεπισκόπιση:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Εκκίνηση του Xfe σαν υπερχρήστης" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "Ό&χι" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ναι" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Τερματισμός" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Αποθήκευση" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ναι για &Όλα" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Εισήγαγε τον κωδικό πρόσβασης για τον χρήστη:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Εισήγαγε τον κωδικό πρόσβασης του υπερχρήστη:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Παρουσιάστηκε κάποιο σφάλμα." #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Όνομα: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Μέγεθος στο root: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Τύπος: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Ημερομηνία τροποποίησης:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Χρήστης: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Ομάδα: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Δικαιώματα" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Αρχική διαδρομή:" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Ημερομηνία διαγραφής:" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Μέγεθος: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Μέγεθος" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Τύπος" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Επέκταση" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Ημερομηνία τροποποίησης" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Δικαιώματα" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Αδυναμία φόρτωσης της εικόνας" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Αρχική διαδρομή" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Ημερομηνία διαγραφής" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Φίλτρο" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Κατάσταση" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" "Είναι ένα εκτελέσιμο αρχείο κειμένου το\n" " %s \n" "\n" " Τι θα ήθελες να γίνει;" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Επιβεβαίωση της Εκτέλεσης" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Καταγραφή εντολών" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Το όνομα του αρχείου είναι κενό· η διαδικασία ακυρώθηκε" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Στο φάκελο:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" "Αδυναμία εγγραφής στην τοποθεσία του κάδου ανακύκλωσης\n" " %s\n" "\n" " Άρνηση πρόσβασης" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "" "Μεταφορά στα απορρίμματα του φακέλου\n" " %s " #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Μεταφορά των %s επιλεγμένων αντικειμένων, στα απορρίμματα;" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Έχει προστασία εγγραφής ο φάκελος\n" " %s\n" "\n" "Να μεταφερθεί στο κάδο απορριμμάτων, έτσι κι αλλιώς;" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Ακυρώθηκε η διαδικασίας μεταφοράς του αρχείου στο κάδο απορριμμάτων." #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Αποκατάσταση του αρχείου %s στην αρχική του τοποθεσία %s ;" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" "Αποκατάσταση των %s επιλεγμένων αντικειμένων, στην αρχική τους τοποθεσία;" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s \n" " \n" " %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "" "Αμετάκλητη διαγραφή του φακέλου \n" " %s " #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Αμετάκλητη διαγραφή των %s επιλεγμένων αντικειμένων;" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "Έχει προστασία εγγραφής το αρχείο\n" " %s\n" "\n" "Να διαγραφεί, έτσι κι αλλιώς;" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Ακυρώθηκε η διαδικασία διαγραφής του φακέλου." #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Σύγκριση" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Με:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Δεν βρέθηκε το πρόγραμμα %.\n" "Παρακαλώ, προσδιόρισε μία εφαρμογή σύγκρισης αρχείων στο διάλογο των " "Ρυθμίσεων." #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Δημιουργία νέου αρχείου:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s\n" "\n" "%s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου \n" " %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "" "Αδυναμία ορισμού δικαιωμάτων στο\n" " %s\n" "\n" "%s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "" "Αδυναμία ορισμού δικαιωμάτων στο\n" " %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Δημιουργία νέου εσωτερικού δεσμού:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Νέος Εσωτερικός Δεσμός" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Επέλεξε το φάκελο ή το αρχείο αναφοράς του εσωτερικού δεσμού" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Η πηγή του εσωτερικού δεσμού %s δεν υπάρχει" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Άνοιγμα των επιλεγμένων αρχείων με:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Άνοιγμα Με" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Συσ&χέτιση" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Εμφάνιση των αρχείων:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "&Νέο αρχείο..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Νέος εσωτερικός &δεσμός...." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Φί&λτρο..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Λεπτομερής" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "&Δικαιώματα" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Νέο Α&ρχείο..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Προσάρτηση" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Ά&νοιγμα με..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Άν&οιγμα" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Αποσυμπίεσ&η στο φάκελο " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Αποσυμπίεση εδώ" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Αποσ&υμπίεση στο ..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Προβο&λή" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Εγκατάσταση/Ανα&βάθμιση" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Απεγκατάσταση" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Επεξεργασία" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Σύγκ&ριση..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Σύγκ&ριση" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "&Διερεύνηση πακέτων" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Σενάρια" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Μετάβαση στο φάκελο των σεναρίων" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Αντιγρα&φή σε..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "Μετακίνηση στα απορρίμματα" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Αποκατάσταση από τον κάδο απορριμμάτων" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Σύγκριση" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Ιδιότητες" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Επέλεξε ένα φάκελο προορισμού" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Όλα τα Αρχεία" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Εγκατάσταση/Αναβάθμιση Πακέτου" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Απεγκατάσταση Πακέτου" # In Unix, to make a copy of a process for execution. #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" "Σφάλμα: Απέτυχε η δημιουργία φούρκας (fork): \n" "%s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου σεναρίων %s: \n" "\n" "%s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου σεναρίων %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Δεν βρέθηκε συμβατός διαχειριστής πακέτων (rpm ή dpkg)" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Το αρχείο %s δεν ανήκει σε κάποιο πακέτο." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Πληροφορίες" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Το αρχείο %s ανήκει στο πακέτο: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 μπάιτια" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s σε %s επιλεγμένα αντικείμενα" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 αντικείμενο" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " αντικείμενα" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Δεσμός" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Φίλτρο: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Συμπληρώθηκε το όριο των σελιδοδεικτών. Ο τελευταίος σελιδοδείκτης θα " "διαγραφεί..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Επιβεβαίωση της εκκαθάρισης των σελιδοδεικτών" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Θέλεις πραγματικά να γίνει εκκαθάριση όλων των σελιδοδεικτών;" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Κ&λείσιμο" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "" "Αδυναμία δημιουργίας διπλότυπου των διοχετεύσεων: \n" "\n" "%s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Αδυναμία δημιουργίας διπλότυπου των διοχετεύσεων" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> Η ΕΝΤΟΛΗ ΑΚΥΡΩΘΗΚΕ <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> ΤΕΛΟΣ ΤΗΣ ΕΝΤΟΛΗΣ <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tΕπέλεξε προορισμό..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Επιλογή ενός αρχείου" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Επέλεξε ένα αρχείο ή ένα φάκελο προορισμού" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Προσθήκη σε Αρχειοθήκη" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Το όνομα της νέας αρχειοθήκης" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Μορφή:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tΗ μορφή της αρχειοθήκης είναι tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tΗ μορφή της αρχειοθήκης είναι zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tΗ μορφή της αρχειοθήκης είναι 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tΗ μορφή της αρχειοθήκης είναι tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tΗ μορφή της αρχειοθήκης είναι tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tΗ μορφή της αρχειοθήκης είναι tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tΗ μορφή της αρχειοθήκης είναι tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tΗ μορφή της αρχειοθήκης είναι gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tΗ μορφή της αρχειοθήκης είναι bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tΗ μορφή της αρχειοθήκης είναι xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tΗ μορφή της αρχειοθήκης είναι Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Προτιμήσεις" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Τρέχον Θέμα" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Επιλογές" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Χρήση κάδου απορριμμάτων για τη διαγραφή των αρχείων (ασφαλής διαγραφή)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Να περιλαμβάνεται μία εντολή για τον παραμερισμό του κάδου απορριμμάτων " "(μόνιμη διαγραφή)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Αυτόματη αποθήκευση της διάταξης" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Αποθήκευση της θέσης του παραθύρου" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Μονό κλικ για το άνοιγμα των καταλόγων" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Μονό κλικ για το άνοιγμα των αρχείων" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Προβολή συμβουλών εργαλείου στις λίστες αρχείων και φακέλων" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Σχετική αλλαγή μεγέθους της λίστας των αρχείων" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Προβολή ενός συνδέσμου διαδρομής, πάνω από τις λίστες των αρχείων" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Να εμφανίζεται ειδοποίηση, όταν ξεκινούν οι εφαρμογές" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Η μορφή της ημερομηνίας που θα χρησιμοποιείται στους καταλόγους των αρχείων " "και των φακέλων\n" "(Σε ένα τερματικό, δώσε 'man strftime', για πληροφορίες σχετικές με αυτές " "τις μορφές)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Λειτουργίες" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Λειτουργία εκκίνησης" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Εκκίνηση στον οικιακό φάκελο" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Εκκίνηση στον τωρινό φάκελο" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Εκκίνηση στον τελευταίο ανοιγμένο φάκελο" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Λειτουργία κύλισης" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Ομαλή κύλισης στις λίστες αρχείων και στα παράθυρα κειμένου" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Ταχύτητα κύλισης του ποντικού:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Κατάσταση λειτουργίας υπερχρήστη" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Να επιτρέπεται η λειτουργία σε κατάσταση υπερχρήστη" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Αυθεντικοποίηση με τη χρήση του su (χρησιμοποιεί τον κωδικό του root)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" "Αυθεντικοποίηση με τη χρήση του sudo (χρησιμοποιεί τον κωδικό του χρήστη)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Διάλογοι" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Επιβεβαιώσεις" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Επιβεβαίωση αντιγραφής/μεταφοράς/μετονομασίας/εσωτερικού δεσμού" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Επιβεβαίωση αρπαγής και μετακίνησης" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" "Επιβεβαίωση της μεταφοράς στα απορρίμματα, και της επαναφοράς από τα " "απορρίμματα" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Επιβεβαίωση των διαγραφών" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Επιβεβαίωση της διαγραφής μη άδειων καταλόγων" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Επιβεβαίωση της αντικατάστασης" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Επιβεβαίωση της εκτέλεσης αρχείων κειμένου" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Ιδιότητες αρχείου" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Προειδοποιήσεις" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Προειδοποίηση όταν ορίζεται ο τωρινός φάκελος στο παράθυρο αναζήτησης" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Επισήμανση όταν τα σημεία προσάρτησης δεν ανταποκρίνονται" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Εμφάνιση μηνυμάτων επιτυχίας για την προσάρτηση και την αποπροσάρτηση" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Προειδοποίηση όταν αποτύχει η διατήρηση της ημερομηνίας" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Επισήμανση αν εκτελείται με δικαιώματα υπερχρήστη" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Προγράμματα" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Προεπιλεγμένα προγράμματα" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Προβολέας κειμένου:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Επεξεργαστής κειμένου:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Σύγκριση αρχείων:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Επεξεργαστής εικόνας:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Προβολέας εικόνων:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Συμπιεστής αρχείων:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Προβολέας αρχείων PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Αναπαραγωγός ήχου:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Αναπαραγωγός βίντεο:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Τερματικό:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Προσάρτηση" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Αποπροσάρτηση" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Θέματα" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Θέμα χρωμάτων" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Προσαρμοσμένα χρώματα" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Διπλό κλικ για την προσαρμογή του χρώματος" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Κύριο χρώμα" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Χρώμα του περιγράμματος" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Χρώμα του παρασκηνίου" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Χρώμα του κειμένου" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Χρώμα του παρασκηνίου της επιλογής" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Χρώμα του κειμένου της επιλογής" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Χρώμα του παρασκηνίου της λίστας αρχείων" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Χρώμα του κειμένου της λίστας αρχείων" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Χρώμα της επισήμανσης της λίστας αρχείων" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Χρώμα της ένδειξης προόδου" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Χρώμα προσοχής" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Χρώμα του ολισθητήρα" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Χειριστήρια" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Προεπιλεγμένη (κλασικά χειριστήρια)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Καθαρή Εμφάνιση [ Clearlooks ] ( χειριστήρια μοντέρνας εμφάνισης)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Η διαδρομή για τη συλλογή των εικονιδίων" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tΕπέλεξε διαδρομή..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Γραμματοσειρές" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Γραμματοσειρές" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Κανονική γραμματοσειρά:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Επιλογή..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Χρώμα κειμένου:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Συντομεύσεις Πληκτρολογίου" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Συντομεύσεις Πληκτρολογίου" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Μετατροπή των συντομεύσεων πληκτρολογίου..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Αποκατάσταση των προεπιλεγμένων συντομεύσεων πληκτρολογίου..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Επέλεξε ένα φάκελο συλλογής εικονιδίων ή ένα αρχείο εικονιδίων" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Αλλαγή της Κανονικής Γραμματοσειράς" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Τροποποίηση της Γραμματοσειράς του Κειμένου" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Δημιουργία νέου αρχείου" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Δημιουργία νέου φακέλου" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Αντιγραφή στο πρόχειρο" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Αποκοπή στο πρόχειρο" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Επικόλληση από το πρόχειρο" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Άνοιγμα αρχείου" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Τερματισμός της εφαρμογής" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Επιλογή όλων" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Αποεπιλογή όλων" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Αντιστροφή επιλογής" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Εμφάνιση της βοήθειας" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Εναλλαγή της εμφάνισης των κρυφών αρχείων" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Εναλλαγή της εμφάνισης των εικόνων προεπισκόπησης" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Κλείσιμο παραθύρου" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Εκτύπωση του αρχείου" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Αναζήτηση" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Αναζήτηση προηγούμενου" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Αναζήτηση επόμενου" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Κάθετα πλαίσια" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Οριζόντια πλαίσια" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Ανανέωση των πλαισίων" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Δημιουργία νέου εσωτερικού δεσμού:" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Ιδιότητες αρχείου" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Μεταφορά των αρχείων στα απορρίμματα" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Αποκατάσταση των αρχείων από τον κάδο απορριμμάτων" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Διαγραφή των αρχείων" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Δημιουργία νέου παραθύρου" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Δημιουργία νέου παραθύρου υπερχρήστη" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Εκτέλεση εντολής" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Εκκίνηση τερματικού" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Προσάρτηση συστήματος αρχείων (μόνο για Λίνουξ)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Αποπροσάρτηση του συστήματος αρχείων (μόνο για Λίνουξ)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Κατάστασης λειτουργίας ενός πλαισίου" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Κατάσταση προβολής με δένδρο και ένα πλαίσιο" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Κατάστασης λειτουργίας δύο πλαισίων" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Κατάσταση προβολής με δένδρο και δύο πλαίσια" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Καθαρισμός γραμμής τοποθεσίας" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Μετονομασία αρχείου" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Αντιγραφή των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Μεταφορά των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Εσωτερική σύνδεση των αρχείων στην τοποθεσία" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Προσθήκη σελιδοδείκτη" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Συγχρονισμός πλαισίων" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Εναλλαγή πλαισίων" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Μετάβαση στον κάδο απορριμάτων" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Άδειασμα του κάδου απορριμάτων" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Προβολή" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Επεξεργασία" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Εναλλαγή της εμφάνισης των κρυφών φακέλων" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Φιλτράρισμα των αρχείων" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Εστίαση της εικόνας στο 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Εστίαση για να ταιριάζει στο παράθυρο" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Περιστροφή της εικόνας στα αριστερά" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Περιστροφή της εικόνας στα δεξιά" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Οριζόντιος καθρεπτισμός εικόνας" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Κατακόρυφος καθρεπτισμός εικόνας" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Δημιουργία ενός νέου εγγράφου" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Αποθήκευση των αλλαγών του αρχείου" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Μετάβαση στη γραμμή" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Αναίρεση τελευταίας αλλαγής" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Επανάληψη τελευταίας αλλαγής" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Αντικατάσταση στίχου" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας της αναδίπλωσης λέξεων." #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας αρίθμησης των γραμμών" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας πεζών" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Εναλλαγή της κατάστασης λειτουργίας κεφαλαίων" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Θέλεις πραγματικά να επαναφέρεις τις προεπιλεγμένες συντομεύσεις " "πληκτρολογίου;\n" "\n" "Όλες οι προσαρμοσμένες ρυθμίσεις σου θα χαθούν." #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Αποκατάσταση των προεπιλεγμένων συντομεύσεων πληκτρολογίου" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Επανεκκίνηση" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Οι συντομεύσεις πληκτρολογίου θα αλλάξουν μετά από επανεκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Η κατάσταση λειτουργίας κύλισης θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Το θέμα θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Ο σύνδεσμος των διαδρομών θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Η μορφή των κουμπιών θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Η κανονική γραμματοσειρά θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Η γραμματοσειρά του κειμένου θα αλλάξει μετά από νέα εκκίνηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Εξπλόρερ, τώρα;" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Παράβλεψη" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Παράβλεψη Ό&λων" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Μέγεθος πηγής:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Ημερομηνία τροποποίησης:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Μέγεθος προορισμού:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "Ε&κτέλεση" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Εκτέλεση σε Περιβάλλον Κονσό&λας" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Κλείσιμο" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Ανανέωση του πίνακα" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Αντιγραφή των επιλεγμένων αρχείων στο πρόχειρο" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Αποκοπή των επιλεγμένων αρχείων στο πρόχειρο" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Εμφάνιση των ιδιοτήτων των επιλεγμένων αρχείων" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Μεταφορά των επιλεγμένων αρχείων στον κάδο απορριμμάτων" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Διαγραφή των επιλεγμένων αρχείων" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Ο τωρινός φάκελος έχει οριστεί σε '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Λεπτομερής" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Αγνόηση πεζών κεφαλαίων" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "Α&υτόματο μέγεθος" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "&Διερεύνηση πακέτων" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Μετάβαση στο γονικό φάκελο" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Αντιγραφή %s αντικειμένων" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Μετακίνηση %s αντικειμένων" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Εσωτερικοί δεσμοί %s αντικειμένων" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Πρέπει να εισάγεις μια απόλυτη διαδρομή." #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 αντικείμενα" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Εύρεση αρχείων:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" "Αγνόηση πεζών/κεφαλαίων\tΑγνόηση πεζών/κεφαλαίων στα ονόματα των αρχείων" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Κρυφά αρχεία\tΠροβολή κρυφών αρχείων και φακέλων" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "Στο φάκελο:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tΣτο φάκελο..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Το κείμενο περιέχει:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "Αγνόηση πεζών/κεφαλαίων\tΑγνόηση πεζών/κεφαλαίων στο κείμενο" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Επιπλέον επιλογές" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Επιλογές αναζήτησης" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Επαναφορά\tΕπαναφορά των ρυθμίσεων της αναζήτησης" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Ελάχιστο μέγεθος:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Διαχωρισμός κατά το ελάχιστο μέγεθος των αρχείων (ΧιλιοΜπάιτια_" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Μέγιστο μέγεθος:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Διαχωρισμός κατά το μέγιστο μέγεθος των αρχείων (ΧιλιοΜπάιτια_" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Τελευταία τροποποίηση πριν από:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Διαχωρισμός κατά το μέγιστο πλήθος των ημερών από την μετατροπή" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Ημέρες" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Τελευταία τροποποίηση μετά από:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Διαχωρισμός κατά το ελάχιστο πλήθος των ημερών από την μετατροπή" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Χρήστης:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tΔιαχωρισμός κατά το όνομα των χρηστών" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Ομάδα:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tΔιαχωρισμός κατά το όνομα των ομάδων" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Τύπος αρχείου:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Αρχείο" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Διοχέτευση" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tΔιαχωρισμός κατά τη μορφή των αρχείων" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Δικαιώματα:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tΔιαχωρισμός κατά τα διακαιώματα (οκταδικό)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Κενά αρχεία:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tΜόνο κενά αρχεία" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Ακολούθηση των συμβολικών δεσμών:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tΑναζήτηση κατά την ακολούθηση των συμβολικών δεσμών" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Όχι εις βάθος:" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tΝα μην γίνει εξερεύνηση των καταλόγων εις βάθος" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Αγνόηση των άλλων συστημάτων αρχείων:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tΝα μην γίνει εξερεύνηση σε άλλα συστήματα αρχείων" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Εκκίνηση\tΕκκίνηση της αναζήτησης (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Σταμάτημα\tΣταμάτημα της αναζήτησης (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Άρχισε η αναζήτηση - Παρακαλώ, αναμείνατε... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Τα αποτέλεσμα της αναζήτησης <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Σφάλμα εισόδου/εξόδου" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Η αναζήτηση σταμάτησε...<<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Επιλογή διαδρομής" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Δημιουργία νέου εσωτερικού δεσμού" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Αποκατάσταση των επιλεγμένων αρχείων από κάδο απορριμμάτων" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Εκκίνηση του Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Αναζήτηση για φακέλους και αρχεία..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Προσάρτηση (μόνο στα Λίνουξ)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Αποπροσάρτηση (μόνο στα Λίνουξ)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Προβολή ενός πλαισίου" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Προβολή δένδρου και πλαισίου" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Εμφάνιση δύο πλαισίων" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Προβολή δένδρου και δύο πλαισίων" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Καθαρισμός τοποθεσίας" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Μετάβαση στην τοποθεσία" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Νέος φάκε&λος..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Μετάβαση στον αρ&χικό κατάλογο" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Ανανέ&ωση" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Αντιγρα&φή σε..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Ε&σωτερικός δεσμός στο..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Ιδιότητες" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Αρχείο" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Επιλογή όλ&ων" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Α&ποεπιλογή όλων" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Α&ντιστροφή επιλογής" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "&Προτιμήσεις" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Γενική γραμμή εργαλείων" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Γραμμή εργαλείων" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Γραμμή εργαλείων πλαισίου" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Γραμμή εργαλείων τοποθεσίας" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Γραμμή εργαλείων &κατάστασης" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Ένα πλαίσιο" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Δένδρο και πλαίσιο" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "&Δύο πλαίσια" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Δένδρο &και δύο πλαίσια" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "&Κάθετα πλαίσια" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "&Οριζόντια πλαίσια" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Προσθήκη σελι&δοδείκτη" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Εκκα&θάριση των σελιδοδεικτών" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Σελιδοδείκτες" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Φίλτρο..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "Εικόνες &προεπισκόπησης" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Μεγάλα εικονίδια" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Τύ&πος" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "Ημερομην&ία" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Χρήστης" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Ομά&δα" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Πρώτα οι φάκε&λοι" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Α&ριστερό πλαίσιο" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Φίλτρο" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Πρώτα οι &φάκελοι" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Δε&ξί πλαίσιο" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Νέο παρά&θυρο" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Νέο παράθυρο &υπερχρήστη" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Εκ&τέ&λεση εντολής..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Τερματικό" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Συγχρονισμός πλαισίων" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "&Εναλλαγή πλαισίων" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Μετάβαση στον φάκελο των σεναρίων" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Ανα&ζήτηση αρχείων..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Αποπροσάρτηση" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "Ερ&γαλεία" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Μετάβαση στα απορρίμματα" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Μέγεθος του &κάδου απορριμμάτων" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Άδειασμα του κάδου απορριμμάτων" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Απο&ρρίμματα" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Βοήθεια" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Σχετικά με τον Εξ Φάειλ Εξπλόρερ (X File Explorer)" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Εκτέλεση του Xfe σαν υπερχρήστης." #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Ξεκινώντας απ'ο την έκδοση 1.32 του Xfe, η νέα θέση του αρχείου ρυθμίσεων " "είναι η \n" "'%s'.\n" "Για να εισάγεις τις παλιές επιλογές σου, μπορείς να επεξεργαστείς το " "παραπάνω αρχείο, με έναν επεξεργαστή κειμένου (πχ xfw)..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Αδυναμία δημιουργίας του φακέλου ρυθμίσεων του Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Αδυναμία δημιουργίας του φακέλου ρυθμίσεων του Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Δεν βρέθηκε ένα καθολικό αρχείο xferc. Παρακαλώ, επέλεξε ένα αρχείο " "ρυθμίσεων..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Αρχείο ρυθμίσεων του XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου για τα αρχεία του κάδου απορριμμάτων %s : %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου «αρχείων», του κάδου απορριμμάτων, %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου για τις πληροφορίες του κάδου απορριμμάτων " "%s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "" "Αδυναμία δημιουργίας του φακέλου «πληροφοριών», του κάδου απορριμμάτων, %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Βοήθεια" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "Εξ Φάιλ Εξπλόρερ (X File Explorer), Έκδοση %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "Βασίζεται στον Εξ ΓουίνΚομάντερ (X WinCommander) του Μαξήμ Μπαράμοβ (Maxim " "Baranov)\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Μεταφραστές\n" "-------------\n" "Αργεντίνικα Ισπανικά: Bruno Gilberto Luciani\n" "Βραζιλιάνικα Πορτογαλικά: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Βοσνιακά: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Καταλανικά: muzzol\n" "Κινεζικά: Xin Li\n" "Κινεζικά (Ταϊβάν): Wei-Lun Chao\n" "Κολομβιανά Ισπανικά: Vladimir Támara (Pasos de Jesús)\n" "Τσέχικα: David Vachulka\n" "Δανέζικα: Jonas Bardino, Vidar Jon Bauge\n" "Ολλανδικά: Hans Strijards\n" "Γαλλικά: Claude Leo Mercier, Roland Baudin\n" "Γερμανικά: Bastian Kleineidam, Joo Martin, Tim Benke, Jens Körner\n" "Ελληνικά: Nikos Papadopoulos\n" "Ουγγρικά: Attila Szervac, Sandor Sipos\n" "Ιταλικά: Claudio Fontana, Giorgio Moscardi\n" "Ιαπωνικά: Karl Skewes\n" "Νορβηγικά: Vidar Jon Bauge\n" "Πολωνικά: Jacek Dziura, Franciszek Janowski\n" "Πορτογαλικά: Miguel Santinho\n" "Ρωσσικά: Dimitri Sertolov, Vad Vad\n" "Ισπανικά: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Σουηδικά: Anders F. Bjorklund\n" "Τουρκικά: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&Σχετικά με τον Εξ Φάειλ Εξπλόρερ (X File Explorer)" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Πίνακας" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Εκτέλεση της εντολής:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Κατάσταση λειτουργίας κονσόλας" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Αναζήτηση για φακέλους και αρχεία" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Θέλεις πραγματικά να αδειάσεις τον κάδο απορριμμάτων;" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " σε " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Όλα τα αντικείμενα θα χαθούν, οριστικά!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Μέγεθος του κάδου απορριμμάτων: %s (%s αρχεία, %s υποφάκελοι)\n" "\n" "Μετατράπηκε την ημερομηνία: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Μέγεθος του κάδου απορριμμάτων" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Ο φάκελος των αρχείων του κάδου απορριμμάτων %s δεν είναι αναγνώσιμος." #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "" "Δε βρέθηκε η εντολή:\n" " %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "" "Μη έγκυρη συσχέτιση αρχείου:\n" " %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "" "Δεν βρέθηκε η συσχέτιση του αρχείου:\n" " %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Προτιμήσεις" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Άνοιγμα αρχείου πακέτου" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Άν&οιγμα..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Γραμμή &Εργαλείων" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&Σχετικά με τον Εξ Φάειλ Πάκαντζ (X File Package)" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Απεγκατάσταση" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Εγκατάσταση/Αναβάθμιση" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Περιγραφή" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Λίστα Αρχείων" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "Ο Εξ Φάειλ Πάκαντζ (X File Package), Έκδοσης %s, είναι ένας απλός " "διαχειριστής πακέτων ΑρΠιΕμ (rpm) ή Ντεμπ (deb).\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Σχετικά με τον Εξ Φάειλ Πάκαντζ (X File Package)" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM πακέτα πηγών" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Πακέτα RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB πακέτα" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Άνοιγμα Εγγράφου" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Δεν φορτώθηκαν κάποια πακέτα" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Άγνωστη μορφή πακέτου" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Εγκατάσταση/Αναβάθμιση Πακέτου" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Απεγκατάσταση Πακέτου" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Πακέτο RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Πακέτο DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Η διερεύνηση του %s απέτυχε." #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Σφάλμα Φόρτωσης του Αρχείου" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Αδυναμία ανοίγματος του αρχείου: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Χρήση: xfp [επιλογές] [πακέτο] \n" "\n" " [επιλογές] μπορεί να είναι οποιαδήποτε από τις ακόλουθες:\n" "\n" " -h, --help Εκτύπωση (αυτής) της οθόνης βοήθειας, και μετά " "κλείσιμο.\n" " -v, --version Εκτύπωση των πληροφοριών έκδοσης, και μετά " "κλείσιμο.\n" "\n" " [πακέτο] είναι η διαδρομή του πακέτου rpm ή deb, το οποίο θα ήθελες να " "ανοίξει κατά την εκκίνηση.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Εικόνα GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Εικόνα BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Εικόνα XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Εικόνα PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO εικόνα" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Εικόνα RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM εικόνα" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Εικόνα TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Εικόνα PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Εικόνα PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Εικόνα JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Εικόνα TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Εικόνα" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Άνοιγμα" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Άνοιγμα αρχείου εικόνας." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Εκτύπωση" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Εκτύπωση του αρχείου εικόνας." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Μεγέθυνση" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Μεγέθυνση της εικόνας." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Σμίκρυνση" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Σμίκρυνση της εικόνας." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Εστίαση 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Εστίαση της εικόνας στο 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Εστίαση προσαρμογής" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Εστίαση για να ταιριάζει στο παράθυρο." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Περιστροφή αριστερά" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Περιστροφή της εικόνας αριστερά." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Περιστροφή δεξιά" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Περιστροφή της εικόνας δεξιά." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Κατοπτρισμός οριζόντια" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Οριζόντιος καθρεπτισμός της εικόνας." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Κατοπτρισμός κατακόρυφα" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Κατακόρυφος καθρεπτισμός της εικόνας." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Εκτύ&πωση..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "Κα&θαρισμός προσφάτων αρχείων" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Καθαρισμός της Λίστας των Προσφάτων Αρχείων." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Κλείσιμο του Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Μεγέ&θυνση" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Σμίκ&ρυνση" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Ε&στίαση 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Εστίαση για να ταιριάζει στο παρά&θυρο." #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Περιστροφή &δεξιά" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Περιστροφή δεξιά." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Περιστροφή &αριστερά" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Περιστροφή αριστερά." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Κατοπτρισμός &οριζόντια" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Κατοπτρισμός οριζόντια" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Κατοπτρισμός &κατακόρυφα" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Κατοπτρισμός κατακόρυφα." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Προβολή των κρυφών αρχείων και των φακέλων." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Προβολή εικόνων επισκόπησης." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Προβολή των φακέλων με μεγάλα εικονίδια." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Προβολή του φακέλου με μικρά εικονίδια." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Λεπτομερής λίστα αρχείων" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Προβολή του φακέλου με λεπτομέρειες." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Προβολή των εικονιδίων ανά σειρά." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Προβολή των εικονιδίων ανά στήλη." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Αυτόματο μέγεθος των ονομάτων των εικονιδίων." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Εμφάνιση γραμμής εργαλείων." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Λίστα αρχείων" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Προβολή της λίστας αρχείων." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Λίστας αρχείων &μπροστύτερα" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Προβολή της λίστας των αρχείων πριν από το παράθυρο της εικόνας." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Φιλτράρισμα εικόνων" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Καταλόγιση μόνο των αρχείων εικόνων." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Εστίαση για να ταιριάζει στο παράθυρο κατά το άνοιγμα" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" "Κατάλληλη εστίαση των εικόνων, ώστε να ταιριάζουν στο παράθυρο, κατά το " "άνοιγμά τους." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Σχετικά με το Εξ Φάειλ Ήματζ (X File Image)" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Σχετικά με το Εξ Φάειλ Ήματζ (X File Image)." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "Ο Εξ Φάειλ Ήματζ (X File Image), Έκδοσης %s, είναι ένας απλός προβολέας " "εικόνων.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Σχετικά με τον Εξ Φάειλ Ήματζ (X File Image)" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Σφάλμα Κατά την Φόρτωση της Εικόνας" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Μη υποστηριζόμενος τύπος: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Αδυναμία φόρτωσης της εικόνας· ίσως το αρχείο να είναι αλλοιωμένο" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Οι αλλαγές θα εφαρμοστούν μετά από επανεκίννηση.\n" "\n" "Να γίνει επανεκκίνηση του Εξ Φάιλ Ίματζ, τώρα;" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Άνοιγμα Εικόνας" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Εντολή εκτύπωσης: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Χρήση: xfi [επιλογές] [εικόνα] \n" "\n" " [επιλογές] μπορεί να είναι οποιαδήποτε από τις ακόλουθες:\n" "\n" " -h, --help Εκτύπωση (αυτής) της οθόνης βοήθειας, και μετά " "κλείσιμο.\n" " -v, --version Εκτύπωση των πληροφοριών έκδοσης, και μετά " "κλείσιμο.\n" "\n" " [εικόνα] είναι η διαδρομή του αρχείου εικόνας, το οποίο θα ήθελες να " "ανοίξει κατά την εκκίνηση.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Προτιμήσεις" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Επεξεργαστής" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Κείμενο" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Περιθώριο αναδίπλωσης:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Μέγεθος ανάρτησης σε πίνακα:" # This means that, when loading a file in the editor, carriage return # characters (denoted as ^M) are suppressed (ignored). These ^M characters # are used in the Windows world. #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Αγνόηση ενδείξεων νέας γραμμής (carriage returns):" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Χρώματα" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Γραμμές" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Φόντο:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Κείμενο:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Χρώμα παρασκηνίου του επιλεγμένου κειμένου:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Επιλεγμένο κείμενο:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Χρώμα παρασκηνίου του επισημασμένου κειμένου:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Τονισμένο κείμενο:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Δρομέας:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Χρώμα παρασκηνίου των αριθμών των γραμμών:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Χρώμα προσκηνίου των αριθμών των γραμμών:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "Ανα&ζήτηση" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "Παρά&θυρο" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr "Γραμμές:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Στήλη:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr "Γραμμή:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Νέο" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Δημιουργία νέου εγγράφου." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Άνοιγμα αρχείου εγγράφου." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Αποθήκευση" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Αποθήκευση του εγγράφου." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Κλείσιμο" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Κλείσιμο του εγγράφου." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Εκτύπωση του εγγράφου" #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Τερματισμός" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Τερματισμός του X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Αντιγραφή της επιλογής στο πρόχειρο." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Αποκοπή" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Αποκοπή της επιλογής στο πρόχειρο." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Επικόλληση" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Επικόλληση του προχείρου." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Μετάβαση στη γραμμή με το αντίστοιχο νούμερο." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Αναίρεση" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Αναίρεση τελευταίας αλλαγής." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Επαναφορά" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Επαναφορά της τελευταίας αναίρεσης." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Αναζήτηση κειμένου." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Αναζήτηση της επιλογής προς τα πίσω" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Αναζήτηση για το επιλεγμένο κείμενο, προς τα πίσω." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Αναζήτηση της επιλογής προς τα εμπρός" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Αναζήτηση, προς τα εμπρός, για το επιλεγμένο κείμενο." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Αναδίπλωση των λέξεων ενεργοποιημένη" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Ενεργοποίησε την αναδίπλωση των λέξεων." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Αναδίπλωση των λέξεων απενεργοποιημένη" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Απενεργοποίησε την αναδίπλωση των λέξεων." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Εμφάνιση των αριθμών γραμμής" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Εμφάνιση των αριθμών γραμμής." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Απόκρυψη των αριθμών γραμμής" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Απόκρυψη των αριθμών γραμμής." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Νέο..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Αποθήκευση των αλλαγών στο αρχείο." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Αποθήκευση &Ως..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Αποθήκευση του εγγράφου σαν ένα διαφορετικό αρχείο." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Κλείσιμο του εγγράφου." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Κα&θαρισμός της Λίστας των Προσφάτων Αρχείων" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "Α&ναίρεση" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Επαναφορά" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Επαναφορά από το αποθηκευμένο" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Επαναφορά από το αποθηκευμένο." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Α&ποκοπή" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Επικόλληση από το πρόχειρο." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Πε&ζά" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Μετατροπή σε πεζά" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Κε&φαλαία" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Αλλαγή σε κεφαλαία." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Μετάβαση στη γραμμή..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Επιλογή Ό&λων" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Γραμμή &κατάστασης" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Προβολή της γραμμής κατάστασης." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "Ανα&ζήτηση..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Αναζήτηση για κάποιο στίχο." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Α&ντικατάσταση..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Αναζήτηση για κάποιο στίχο, και αντικατάστασή του από έναν άλλο." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Αναζήτηση επιλεγμένων προς τα &πίσω" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Αναζήτηση επιλ. &μπροστά" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "Ανα&δίπλωση λέξεων" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Εναλλαγή της κατάστασης λειτουργίας της αναδίπλωσης λέξεων." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Αρί&θμηση γραμμών" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Εναλλαγή της λειτουργίας αρίθμησης των γραμμών." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "Δια&κριτή διαγραφή" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Εναλλαγή της κατάστασης λειτουργίας της διακριτής διαγραφής." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Γραμματοσειρές..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Τροποποίηση της Γραμματοσειράς του Κειμένου." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Επιπλέον προτιμήσεις..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Αλλαγή άλλων επιλογών." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Σχετικά με το Εξ Φάειλ Ράειτ (X File Write)" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Σχετικά με το Εξ Φάειλ Ράειτ (X File Write)." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Το αρχείο είναι πολύ μεγάλο: %s (%d μπάιτια)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Αδυναμία ανάγνωσης του αρχείου: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Σφάλμα Κατά την Αποθήκευση του Αρχείου" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Το αρχείο είναι πολύ μεγάλο: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Αρχείο: %s περικομμένο." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "χωρίς τίτλο" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "χωρίς_τίτλο%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "Ο X File Write, Έκδοσης %s, είναι ένας απλός επεξεργαστής κειμένου.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Σχετικά με το Εξ Φάειλ Ράειτ (X File Write)" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Τροποποίηση των Γραμματοσειρών" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Αρχεία Κειμένου" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Πηγαίας C Αρχεία" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Πηγαίας C++ Αρχεία" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ Κεφαλίδας Αρχεία" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Αρχεία HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Αρχεία PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Μη αποθηκευμένο Έγγραφο" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Να γίνει αποθήκευση του \"%s\" στο δίσκο;" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Αποθήκευση του Εγγράφου" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Αντικατάσταση του Εγγράφου" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" "Αντικατάσταση του υπάρχοντος εγγράφου:\n" " %s\n" " ;" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr "(τροποποιημένο)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr " (μόνο για ανάγνωση)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "ΑΝΑΓΝΩΣΗ ΜΟΝΟ" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Το Αρχείο Τροποποιήθηκε" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "Ένα άλλο πρόγραμμα μετέτρεψε το αρχείο\n" " %s\n" "\n" "Θα ήθελες να ξανανοίξει από το δίσκο;" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Αντικατάσταση" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Μετάβαση στη Γραμμή" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Μετάβαση στη γραμμή με το αντίστοιχο νούμερο:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Χρήση: xfw [επιλογές] [αρχείο1] [αρχείο2] [αρχείο3]...\n" "\n" " [επιλογές] μπορεί να είναι οποιαδήποτε από τις ακόλουθες:\n" "\n" " -r, --read-only Άνοιγμα του αρχείου σε κατάσταση λειτουργίας " "ανάγνωσης μόνο.\n" " -h, --help Εκτύπωση της (παρούσας) οθόνης βοήθειας, και μετά " "κλείσιμο.\n" " -v, --version Εκτύπωση των πληροφοριών έκδοσης, και μετά " "κλείσιμο.\n" "\n" " Τα [αρχείο1] [αρχείο2] [αρχείο3]... είναι οι διαδρομές των αρχείων, τα " "οποία θα ήθελες να ανοίξουν, κατά την εκκίνηση.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Ριζικός φάκελος" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Έτοιμο." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Α&ντικατάσταση" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Αντικατάσταση Όλ&ων" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Αναζήτηση για:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Αντικατάσταση με:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Α&κριβές" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Χωρίς διάκριση πεζών/κεφαλαίων" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Κανονική έκ&φραση" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Πίσω" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Καθολικές Συντομεύσεις Πληκτρολογίου" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι για όλες τις εφαρμογές του ΕξΕφΕ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Συντομ&εύσεις Πληκτρολογίου του ΕξΕφΕ" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι αποκλειστικά για την εφαρμογή Εξ " "Φάιλ Εξπλόρερ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Συντομεύσε&ις Πληκτρολογίου του ΕξΕφΆι" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Αυτές οι συντομεύσεις πληκτρολο&γίου είναι αποκλειστικά για την εφαρμογή Εξ " "Φάιλ Είματζ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Συντομεύσεις Πληκτρολο&γίου του ΕξΕφΝτάμπλιγιου" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Αυτές οι συντομεύσεις πληκτρολογίου είναι αποκλειστικά για τον επεξεργαστή " "Εξ Φάιλ Ράιτ.\n" "Κάνε διπλό κλικ σε ένα αντικείμενο, για να αλλάξεις τη συγκεκριμένη " "συντόμευση πληκτρολογίου..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Όνομα Ενέργειας" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Κλειδί Μητρώου" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Συντόμευση πληκτρολογίου" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" "Πληκτρολόγησε το συνδυασμό πλήκτρων που θέλεις να χρησιμοποιείς για τη " "λειτουργία: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[Πάτησε το πλήκτρο του Κενού (Space) για απενεργοποιήσεις την συντόμευση " "πληκτρολογίου για αυτή τη λειτουργία]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Μετατροπή των Συντομεύσεων Πληκτρολογίου" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στις καθολικές.\n" "\tΘα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στο Xfe.\n" "\tΘα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στο Xfw.\n" "\tΘα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Η συντόμευση πληκτρολογίου %s χρησιμοποιείται, ήδη, στο Xfw.\n" "\tΘα πρέπει να διαγράψεις την υπάρχουσα συντόμευση πληκτρολογίου, πριν την " "αναθέσεις ξανά." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "" "Σφάλμα: Αδυναμία εισόδου στο φάκελο:\n" " %s\n" "\n" "%s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Σφάλμα: Αδυναμία εισόδου στο φάκελο %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Σφάλμα: Αδυναμία ανοίγματος της οθόνης\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Έναρξη του %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Σφάλμα: Αδυναμία εκτέλεσης της εντολής %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Σφάλμα: Αδυναμία κλεισίματος του φακέλου %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "μπάιτια" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "αντιγραφή" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Σφάλμα: Αδυναμία ανάγνωσης της λίστας της ομάδας: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Σφάλμα: Αδυναμία ανάγνωσης της λίστας της ομάδας" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "ΕξΕφΈ (Xfe)" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Διαχειριστής Αρχείων" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Ένας ελαφρύς διαχειριστής αρχείων για τα Εξ Γουίνντοου" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "ΕξΕφΆι(Xfi)" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Προβολέας Εικόνων" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Ένας απλός προβολέας εικόνων για τον ΕξΕφΕ" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "ΕξΕφΝτάμπλιγιου (Xfw)" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Επεξεργαστής Κειμένου" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Ένας απλός επεξεργαστής κειμένου για τον ΕξΕφΕ" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "ΕξΕφΠή (Xfp)" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Διαχειριστής Πακέτων" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Ένας απλός διαχειριστής πακέτων για τον ΕξΕφΕ" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Εμφάνιση δύο πλαισίων" #~ msgid "Panel does not have focus" #~ msgstr "Η εστίαση δεν είναι στο πλάισιο" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Το όνομα του φακέλου" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Το όνομα του φακέλου" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Επιβεβαίωση της αντικατάστασης" #~ msgid "P&roperties..." #~ msgstr "&Ιδιότητες..." #~ msgid "&Properties..." #~ msgstr "&Ιδιότητες..." #~ msgid "&About X File Write..." #~ msgstr "&Σχετικά με το Εξ Φάειλ Ράειτ (X File Write)..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "" #~ "Αδυναμία εισόδου στο φάκελο %s: \n" #~ "\n" #~ "%s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "" #~ "Αδυναμία εισόδου στο φάκελο %s: \n" #~ "\n" #~ "%s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου για τα αρχεία του κάδου απορριμμάτων %s: " #~ "%s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "" #~ "Αδυναμία εκτέλεσης της εντολής \n" #~ " %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Αδυναμία εισόδου στο φάκελο %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου «αρχείων», του κάδου απορριμμάτων, %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου για τις πληροφορίες του κάδου " #~ "απορριμμάτων %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου «πληροφοριών», του κάδου απορριμμάτων, %s" #~ msgid "Delete: " #~ msgstr "Διαγραφή: " #~ msgid "File: " #~ msgstr "Αρχείο: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Σχετικά με τον Εξ Φάειλ Εξπλόρερ (X File Explorer)" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Δε&ξί πλαίσιο" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Α&ριστερό πλαίσιο" #, fuzzy #~ msgid "Error " #~ msgstr "Σφάλμα" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Αδυναμία εισόδου στο φάκελο %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Εκτέλεση εντολής" #, fuzzy #~ msgid "Command log " #~ msgstr "Καταγραφή εντολών" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "" #~ "Αδυναμία δημιουργίας του φακέλου για τα αρχεία του κάδου απορριμμάτων %s: " #~ "%s" #~ msgid "Non-existing file: %s" #~ msgstr "Μη υπάρχον αρχείο: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "" #~ "Αδυναμία μετονομασίας στον προορισμό\n" #~ " %s\n" #~ "\n" #~ "%s" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "" #~ "πηγή\n" #~ " Μέγεθος: %s - Ημερομηνία τροποποίησης: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "" #~ "προορισμός\n" #~ " Μέγεθος: %s - Ημερομηνία τροποποίησης: %s" #~ msgid "Mouse" #~ msgstr "Ποντίκι" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Χρήση: xfv [επιλογές] [αρχείο1] [αρχείο2] [αρχείο3]...\n" #~ "\n" #~ " [επιλογές] μπορεί να είναι οποιαδήποτε από τις ακόλουθες:\n" #~ "\n" #~ " -h, --help Εκτύπωση (αυτής) της οθόνης βοήθειας, και μετά " #~ "κλείσιμο.\n" #~ " -v, --version Εκτύπωση των πληροφοριών έκδοσης, και μετά " #~ "κλείσιμο.\n" #~ "\n" #~ " [αρχείο1] [αρχείο2] [αρχείο3]... είναι οι διαδρομές των αρχείων, τα " #~ "οποία θα ήθελες να ανοίξουν κατά την εκκίνηση.\n" #~ "\n" #~ msgid "Go back" #~ msgstr "Μετάβαση πίσω" #~ msgid "Move to previous folder." #~ msgstr "Μετάβαση στον προηγούμενο φάκελο." #~ msgid "Go forward" #~ msgstr "Μετάβαση εμπρός" #~ msgid "Move to next folder." #~ msgstr "Μετάβαση στον επόμενο φάκελο." #~ msgid "Go up one folder" #~ msgstr "Μετάβαση πάνω, κατά ένα φάκελο." #~ msgid "Move up to higher folder." #~ msgstr "Μετάβαση πάνω, σε υψηλότερο φάκελο." #~ msgid "Back to home folder." #~ msgstr "Πίσω στον αρχικό φάκελο." #~ msgid "Back to working folder." #~ msgstr "Πίσω στο φάκελο εργασίας." #~ msgid "Show icons" #~ msgstr "Εμφάνιση εικονιδίων" #~ msgid "Show list" #~ msgstr "Εμφάνιση λίστας" #~ msgid "Display folder with small icons." #~ msgstr "Προβολή του φακέλου με μικρά εικονίδια." #~ msgid "Show details" #~ msgstr "Εμφάνιση λεπτομερειών" #~ msgid "Col:" #~ msgstr "Στήλη:" #~ msgid "Line:" #~ msgstr "Γραμμή:" #~ msgid "Open document." #~ msgstr "Άνοιγμα εγγράφου." #~ msgid "Quit Xfv." #~ msgstr "Τερματισμός του ΕξΕφΒι." #~ msgid "Find" #~ msgstr "Αναζήτηση" #~ msgid "Find string in document." #~ msgstr "Αναζήτηση για στίχο στο έγγραφο." #~ msgid "Find again" #~ msgstr "Εύρεση εκ νέου" #~ msgid "Find string again." #~ msgstr "Αναζήτηση για στίχο, ξανά." #~ msgid "&Find..." #~ msgstr "Αναζ&ήτηση..." #~ msgid "Find a string in a document." #~ msgstr "Αναζήτηση για κάποιο στίχο στο έγγραφο." #~ msgid "Find &again" #~ msgstr "Εύρεση εκ &νέου" #~ msgid "Display status bar." #~ msgstr "Προβολή της γραμμής κατάστασης." #~ msgid "&About X File View" #~ msgstr "&Σχετικά με τον Εξ Φάειλ Βιού (X File View)" #~ msgid "About X File View." #~ msgstr "Σχετικά με τον Εξ Φάειλ Βιού (X File View)." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "Ο Εξ Φάειλ Βιού (X File View), Έκδοσης %s, είναι ένας απλός προβολέας " #~ "κειμένου.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Σχετικά με τον Εξ Φάειλ Βιού (X File View)" #~ msgid "Error Reading File" #~ msgstr "Σφάλμα Κατά την Ανάγνωση του Αρχείου" #~ msgid "Unable to load entire file: %s" #~ msgstr "Αδυναμία φόρτωσης ολόκληρου του αρχείου: %s" #~ msgid "&Find" #~ msgstr "Αναζ&ήτηση" #~ msgid "Not Found" #~ msgstr "Δε Βρέθηκε" #~ msgid "String '%s' not found" #~ msgstr "Ο στοίχος '%s' δεν βρέθηκε" #~ msgid "Xfv" #~ msgstr "ΕξΕφΒή (Xfv)" #~ msgid "Text Viewer" #~ msgstr "Προβολέας Κειμένου" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Ένας απλός προβολέας κειμένου για τον ΕξΕφΕ" #~ msgid "Ignore case" #~ msgstr "Χωρίς διάκριση πεζών/κεφαλαίων" #~ msgid "In directory:" #~ msgstr "Στον κατάλογο" #~ msgid "\tIn directory..." #~ msgstr "\tΣτον κατάλογο..." #~ msgid "Go to previous directory" #~ msgstr "Μετάβαση στον προηγούμενο κατάλογο" #~ msgid "Go to next directory" #~ msgstr "Μετάβαση στον επόμενο κατάλογο" #~ msgid "Go to home directory" #~ msgstr "Μετάβαση στον κεντρικό κατάλογο" #~ msgid "Go to working directory" #~ msgstr "Μετάβαση στον κατάλογο εργασίας" #~ msgid "Dir&ectories first" #~ msgstr "Πρώτα οι κατά&λογοι" #~ msgid "Directory name" #~ msgstr "Όνομα του καταλόγου" #~ msgid "Re&store from trash" #~ msgstr "Απο&κατάσταση από τον κάδο απορριμμάτων" #~ msgid "Single click directory open" #~ msgstr "Μονό κλικ για το άνοιγμα των καταλόγων" #~ msgid "Toggle display hidden directories" #~ msgstr "Εναλλαγή της εμφάνισης των κρυφών καταλόγων" #~ msgid "&Directories first" #~ msgstr "Πρ&ώτα οι κατάλογοι" #~ msgid "Move the selected item to trash can?" #~ msgstr "Μεταφορά του επιλεγμένου αντικειμένου, στα απορρίμματα;" #~ msgid "Definitively delete the selected item?" #~ msgstr "Οριστική διαγραφή του επιλεγμένου αντικειμένου;" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tΗ μορφή της αρχειοθήκης είναι rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tΗ μορφή της αρχειοθήκης είναι lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tΗ μορφή της αρχειοθήκης είναι arj" #~ msgid "Confirm quit" #~ msgstr "Επιβεβαίωση του τερματισμού" #~ msgid "Quitting Xfe" #~ msgstr "Κλείσιμο του Xfe" #~ msgid "Display toolbar" #~ msgstr "Εμφάνιση γραμμής εργαλείων" #~ msgid "Display or hide toolbar." #~ msgstr "Προβολή ή απόκρυψη της γραμμής εργαλείων." #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Η πηγή %s είναι ίδια με τον προορισμό" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "" #~ "Παρουσιάστηκε κάποιο σφάλμα, κατά τη προσπάθεια αντιγραφής του αρχείου." #~ msgid "File list: Unknown package format" #~ msgstr "Λίστα αρχείων: Άγνωστη μορφή πακέτων" #~ msgid "Description: Unknown package format" #~ msgstr "Περιγραφή: Άγνωστη μορφή πακέτων" #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "Παρουσιάστηκε κάποιο σφάλμα. \n" #~ "Παρακαλώ, ελέγξτε την εγκυρότητα της διαδρομής προς στο xfvt." #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "" #~ "Ο φάκελος %s δεν είναι άδειος. Να μεταφερθεί στα απορρίμματα, έτσι κι " #~ "αλλιώς;" #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "Παρουσιάστηκε κάποιο σφάλμα. \n" #~ "Παρακαλώ, έχε υπόψη σου ότι η κατάσταση λειτουργίας υπερχρήστη, απαιτεί " #~ "την ύπαρξη μιας λειτουργικής εγκατάστασης ενός τερματικού, στο σύστημά " #~ "σου." #~ msgid "%d items including %d folder(s) and %d file(s)" #~ msgstr "" #~ "%d αντικείμενα, που περιλαμβάνουν %d φακέλους (-ο) και %d αρχεία (-ο)" #~ msgid "\tHide hidden folders (Ctrl-F5)" #~ msgstr "\tΑπόκρυψη κρυφών φακέλων (Ctrl-F5)" #~ msgid "Move folder " #~ msgstr "Μετακίνηση φακέλου " #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "" #~ "Ο φάκελος είναι ήδη στο κάδο απορριμμάτων. Οριστική διαγραφή του φακέλου " #~ msgid "TRASH" #~ msgstr "ΑΠΟΡΡΙΜΜΑΤΑ" #~ msgid "Can't copy folder " #~ msgstr "Αδυναμία αντιγραφής του φακέλου " #~ msgid ": Permission denied" #~ msgstr ": Άρνηση πρόσβασης" #~ msgid "File " #~ msgstr "Το αρχείο " #~ msgid "\tGo to home folder\tBack to home folder." #~ msgstr "\tΜετάβαση στον αρχικό φάκελο\tΜετάβαση στον αρχικό φάκελο." #~ msgid "\tNew folder\tCreate new folder." #~ msgstr "\tΝέος φάκελος\tΔημιουργία νέου φακέλου." #~ msgid "\tHide hidden Files\tHide hidden files and folders." #~ msgstr "\tΑπόκρυψη κρυφών αρχείων\tΑπόκρυψη κρυφών αρχείων και φακέλων." #~ msgid " \tLaunch Xfe as root (Shift-F3)" #~ msgstr " \tΕκκίνηση του Xfe σαν υπερχρήστης (Shift-F3)" #~ msgid "\tHide hidden files (Ctrl-F6)" #~ msgstr "\tΑπόκρυψη κρυφών αρχείων (Ctrl-F6)" #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tΠροβολή εικόνων προεπισκόπησης (Ctrl-F7)" #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tΑπόκρυψη εικόνων προεπισκόπησης (Ctrl-F7)" #~ msgid " Move " #~ msgstr " Μετακίνηση των " #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "" #~ "Το αρχείο είναι ήδη στο κάδο απορριμμάτων. Οριστική διαγραφή του αρχείου " #~ msgid " Definitely delete " #~ msgstr " Οριστική διαγραφή " #~ msgid " selected items? " #~ msgstr " επιλεγμένα αντικείμενα; " #~ msgid "Foreground color" #~ msgstr "Χρώμα προσκηνίου" #~ msgid "File list foreground color" #~ msgstr "Χρώμα προσκηνίου της λίστας αρχείων" #~ msgid "Gradient effect and rounded corners" #~ msgstr "Εφέ διαβάθμισης και στρογγυλοποιημένες γωνίες" #~ msgid "\tGo back (Ctrl-Backspace)" #~ msgstr "\tΜετάβαση πίσω(Ctrl-Backspace)" #~ msgid "\tGo forward (Shift-Backspace)" #~ msgstr "\tΜετάβαση εμπρός (Shift-Backspace)" #~ msgid "\tGo up (Backspace)" #~ msgstr "\tΜετάβαση επάνω (Backspace)" #~ msgid "\tGo home (Ctrl-H)" #~ msgstr "\tΜετάβαση στην αρχή (Ctrl-H)" #~ msgid "\tPanel refresh (Ctrl-R)" #~ msgstr "\tΑνανέωση του πλαισίου (Ctrl-R)" #~ msgid "\tCreate new file (F2)" #~ msgstr "\tΔημιουργία νέου αρχείου (F2)" #~ msgid "\tCreate new folder (F7)" #~ msgstr "\tΔημιουργία νέου φακέλου (F7)" #~ msgid "\tCreate new symlink (Ctrl-J)" #~ msgstr "\tΔημιουργία νέου εσωτερικού δεσμού (Ctrl-J)" #~ msgid "\tExecute command (Ctrl-E)" #~ msgstr "\tΕκτέλεση εντολής (Ctrl-E)" #~ msgid "\tTerminal (Ctrl-T)" #~ msgstr "\tΤερματικό (Ctrl-T)" #~ msgid "\tMount (Ctrl-M)" #~ msgstr "\tΠροσάρτηση (Ctrl-M)" #~ msgid "\tUnmount (Ctrl-U)" #~ msgstr "\tΑποπροσάρτηση (Ctrl-U)" #~ msgid "\tBig icons (F10)" #~ msgstr "\tΜεγάλα εικονίδια (F10)" #~ msgid "\tSmall icons (F11)" #~ msgstr "\tΜικρά εικονίδια (F11)" #~ msgid "\tFull file list (F12)" #~ msgstr "\tΠλήρης λίστα αρχείων (F12)" #~ msgid "\tClear Location bar\tClear Location bar." #~ msgstr "" #~ "\tΚαθαρισμός της γραμμής εργαλείων τοποθεσίας\tΚαθαρισμός της γραμμής " #~ "εργαλείων τοποθεσίας." #~ msgid "New &file...\tF2" #~ msgstr "Νέο &αρχείο...\tF2" #~ msgid "New fo&lder...\tF7" #~ msgstr "Νέος &φάκελος...\tF7" #~ msgid "New s&ymlink...\tCtrl-J" #~ msgstr "Νέος εσωτερικός &δεσμός...\tCtrl-J" #~ msgid "Go &home\tCtrl-H" #~ msgstr "Μετάβαση στην &αρχή\tCtrl-H" #~ msgid "&Open...\tCtrl-O" #~ msgstr "Άν&οιγμα...tCtrl-O" #~ msgid "Re&name...\tCtrl-N" #~ msgstr "&Μετονομασία...\tCtrl-N" #~ msgid "&Copy to...\tCtrl-K" #~ msgstr "Αντι&γραφή στο...\tCtrl-K" #~ msgid "&Move to...\tCtrl-D" #~ msgstr "Μετα&κίνηση στο...\tCtrl-D" #~ msgid "&Symlink to...\tCtrl-S" #~ msgstr "&Εσωτερικός Δεσμός στο...\tCtrl-S" #~ msgid "Mo&ve to trash\tDel" #~ msgstr "Μετακίνηση στον &κάδο απορριμμάτων\tDel" #~ msgid "&Delete\tShift-Del" #~ msgstr "&Διαγραφή\tShift-Del" #~ msgid "&Properties...\tF9" #~ msgstr "&Ιδιότητες...\tF9" #~ msgid "&Quit\tCtrl-Q" #~ msgstr "&Τερματισμός\tCtrl-Q" #~ msgid "&Copy\tCtrl-C" #~ msgstr "&Αντιγραφή\tCtrl-C" #~ msgid "C&ut\tCtrl-X" #~ msgstr "Αποκο&πή\tCtrl-X" #~ msgid "&Paste\tCtrl-V" #~ msgstr "&Επικόλληση\tCtrl-V" #~ msgid "&Select all\tCtrl-A" #~ msgstr "Επιλογή &όλων\tCtrl-A" #~ msgid "&One panel\tCtrl-F1" #~ msgstr "&Ένα πλαίσιο\tCtrl-F1" #~ msgid "E&xecute command...\tCtrl-E" #~ msgstr "Εκ&τέλεση εντολής...\tCtrl-E" #~ msgid "&Terminal\tCtrl-T" #~ msgstr "&Τερματικό\tCtrl-T" #~ msgid "&Mount\tCtrl-M" #~ msgstr "&Προσάρτηση\tCtrl-M" #~ msgid "&Unmount\tCtrl-U" #~ msgstr "&Αποπροσάρτηση\tCtrl-U" #~ msgid "&Go to trash\tCtrl-F8" #~ msgstr "&Μετάβαση στον κάδο ανακύκλωσης\tCtrl-F8" #~ msgid "&Empty trash can\tCtrl-Del" #~ msgstr "&Άδειασμα του κάδου ανακύκλωσης\tCtrl-Del" #~ msgid "&Help\tF1" #~ msgstr "&Βοήθεια\tF1" #~ msgid "" #~ "\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)\n" #~ "\n" #~ "Based on X WinCommander by Maxim Baranov\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)\n" #~ "\n" #~ "Βασισμένος στον X WinCommander, από τον Maxim Baranov\n" #~ msgid "\tQuit Xfp (Ctrl-Q)" #~ msgstr "\tΤερματισμός του Xfp (Ctrl-Q)" #~ msgid "&Open file...\tCtrl-O" #~ msgstr "Άν&οιγμα αρχείου...\tCtrl-O" #~ msgid "&About X File Package\tF1" #~ msgstr "&Σχετικά με τον X File Package\tF1" #~ msgid "X File Package Version " #~ msgstr "Ο X File Package, έκδοση " #~ msgid "" #~ " is a simple rpm or deb package manager.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ ", είναι ένας απλός διαχειριστής πακέτων rpm ή deb.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgid "\tOpen Image (Ctrl-O)\tOpen image file. (Ctrl-O)" #~ msgstr "\tΆνοιγμα Εικόνας (Ctrl-O)\tΆνοιγμα αρχείου εικόνας. (Ctrl-O)" #~ msgid "\tPrint image (Ctrl-P)\tPrint image file. (Ctrl-P)" #~ msgstr "\tΕκτύπωση εικόνας (Ctrl-P)\tΕκτύπωση αρχείου εικόνας. (Ctrl-P)" #~ msgid "\tQuit Xfi (Ctrl-Q)\tQuit Xfi. (Ctrl-Q)" #~ msgstr "\tΤερματισμός του Xfi (Ctrl-Q)\tΤερματισμός του Xfi. (Ctrl-Q)" #~ msgid "\tZoom in (Ctrl+)\tZoom in image. (Ctrl+)" #~ msgstr "\tΜεγέθυνση (Ctrl+)\tΜεγέθυνση της εικόνας. (Ctrl+)" #~ msgid "\tZoom out (Ctrl-)\tZoom out image. (Ctrl-)" #~ msgstr "\tΣμίκρυνση (Ctrl-)\tΣμίκρυνση της εικόνας. (Ctrl-)" #~ msgid "\tZoom 100% (Ctrl-I)\tZoom 100% image. (Ctrl-I)" #~ msgstr "\tΕστίαση στο 100% (Ctrl-I)\tΕστίαση της εικόνας στο 100%. (Ctrl-I)" #~ msgid "\tZoom to fit window (Ctrl-W)\tZoom to fit window. (Ctrl-W)" #~ msgstr "" #~ "\tΕστίαση για να ταιριάξει στο παράθυρο (Ctrl-W)\tΕστίαση ώστε να " #~ "ταιριάξει στο παράθυρο. (Ctrl-W)" #~ msgid "\tRotate left (Ctrl-L)\tRotate left image. (Ctrl-L)" #~ msgstr "" #~ "\tΠεριστροφή αριστερά (Ctrl-L)\tΠεριστροφή της εικόνας προς τα αριστερά. " #~ "(Ctrl-L)" #~ msgid "\tRotate right (Ctrl-R)\tRotate right image. (Ctrl-R)" #~ msgstr "" #~ "\tΠεριστροφή δεξιά (Ctrl-R)\tΠεριστροφή της εικόνας προς τα δεξιά. (Ctrl-" #~ "R)" #~ msgid "\tMirror horizontally (Ctrl-H)\tMirror image horizontally. (Ctrl-H)" #~ msgstr "" #~ "\tΚαθρεπτισμός, οριζόντια (Ctrl-H)\tΚαθρεπτισμός της εικόνας, οριζόντια. " #~ "(Ctrl-H)" #~ msgid "\tMirror vertically (Ctrl-V)\tMirror image vertically. (Ctrl-V)" #~ msgstr "" #~ "\tΚαθρεπτισμός, κάθετα (Ctrl-V)\tΚαθρεπτισμός της εικόνας, κάθετα. (Ctrl-" #~ "V)" #~ msgid "&Open...\tCtrl-O\tOpen image file. (Ctrl-O)" #~ msgstr "Άν&οιγμα...\tCtrl-O\tΆνοιγμα ενός αρχείου εικόνας. (Ctrl-O)" #~ msgid "&Print image...\tCtrl-P\tPrint image file. (Ctrl-P)" #~ msgstr "" #~ "&Εκτύπωση εικόνας...\tCtrl-P\tΕκτύπωση ενός αρχείου εικόνας. (Ctrl-P)" #~ msgid "&Clear recent files\t\tClear recent files." #~ msgstr "" #~ "&Καθαρισμός των πρόσφατων αρχείων\t\tΚαθαρισμός των πρόσφατων αρχείων." #~ msgid "&Quit\tCtrl-Q\tQuit Xfi. (Ctrl-Q)" #~ msgstr "&Τερματισμός\tCtrl-Q\tΤερματισμός του Xfi. (Ctrl-Q)" #~ msgid "Zoom &in\tCtrl+\tZoom in image. (Ctrl+)" #~ msgstr "&Μεγέθυνση\tCtrl+\tΜεγέθυνση της εικόνας. (Ctrl+)" #~ msgid "Zoom &out\tCtrl-\tZoom out image. (Ctrl-)" #~ msgstr "&Σμίκρυνση\tCtrl-\tΣμίκρυνση της εικόνας. (Ctrl-)" #~ msgid "Zoo&m 100%\tCtrl-I\tZoom image to 100%. (Ctrl-I)" #~ msgstr "Εστίαση στο &100%\tCtrl-I\tΕστίαση της εικόνας στο 100%. (Ctrl-I)" #~ msgid "Zoom to fit &window\tCtrl-F\tZoom to fit window. (Ctrl-F)" #~ msgstr "" #~ "Εστίαση για να ταιριάξει στο &παράθυρο\tCtrl-F\tΕστίαση ώστε να ταιριάξει " #~ "στο παράθυρο. (Ctrl-F)" #~ msgid "Rotate &right\tCtrl-R\tRotate right. (Ctrl-R)" #~ msgstr "Περιστροφή &δεξιά\tCtrl-R\tΠεριστροφή δεξιά. (Ctrl-R)" #~ msgid "Rotate &left\tCtrl-L\tRotate left. (Ctrl-L)" #~ msgstr "Περιστροφή &αριστερά\tCtrl-L\tΠεριστροφή αριστερά. (Ctrl-L)" #~ msgid "Mirror &horizontally\tCtrl-H\tMirror horizontally. (Ctrl-H)" #~ msgstr "Καθρεπτισμός &οριζόντια\tCtrl-H\tΚαθρεπτισμός οριζόντια. (Ctrl-H)" #~ msgid "Mirror &vertically\tCtrl-V\tMirror vertically. (Ctrl-V)" #~ msgstr "Καθρεπτισμός &κάθετα\tCtrl-V\tΚαθρεπτισμός κάθετα. (Ctrl-V)" #~ msgid "&Thumbnails\tCtrl-F7\tShow image thumbnails. (Ctrl-F7)" #~ msgstr "" #~ "&Εικόνες προεπισκόπησης\tCtrl-F7\tΠροβολή των εικόνων προεπισκόπησης. " #~ "(Ctrl-F7)" #~ msgid "&Big icons\tF10\tDisplay folders with big icons (F10)." #~ msgstr "" #~ "Με&γάλα εικονίδια\tF10\tΠροβολή των φακέλων με μεγάλα εικονίδια (F10)." #~ msgid "&Small icons\tF11\tDisplay folders with small icons (F11)." #~ msgstr "" #~ "Μι&κρά εικονίδια\tF11\tΠροβολή των φακέλων με μικρά εικονίδια (F11)." #~ msgid "&Full file list\tF12\tDisplay detailed folder listing (F12)." #~ msgstr "" #~ "&Πλήρης λίστα αρχείων\tF12\tΠροβολή των φακέλων με λεπτομέρειες (F12)." #~ msgid "&About X File Image\tF1\tAbout X File Image (F1)." #~ msgstr "&Σχετικά με το X File Image\tF1\tΣχετικά με το X File Image (F1)." #~ msgid "X File Image Version " #~ msgstr "Ο X File Image, έκδοση " #~ msgid "" #~ " is a simple image viewer.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ ", είναι ένας απλός προβολέας εικόνων.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgid "\tNew (Ctrl-N)\tCreate new document. (Ctrl-N)" #~ msgstr "\tΝέο (Ctrl-N)\tΔημιουργία ενός νέου εγγράφου. (Ctrl-N)" #~ msgid "\tOpen (Ctrl-O)\tOpen document file. (Ctrl-O)" #~ msgstr "\tΆνοιγμα (Ctrl-O)\tΆνοιγμα ενός αρχείου εγγράφου. (Ctrl-O)" #~ msgid "\tSave (Ctrl-S)\tSave document. (Ctrl-S)" #~ msgstr "\tΑποθήκευση (Ctrl-S)\tΑποθήκευση του εγγράφου. (Ctrl-S)" #~ msgid "\tPrint (Ctrl-P)\tPrint document. (Ctrl-P)" #~ msgstr "\tΕκτύπωση (Ctrl-P)\tΕκτύπωση του εγγράφου. (Ctrl-P)" #~ msgid "\tQuit (Ctrl-Q)\tQuit X File Write. (Ctrl-Q)" #~ msgstr "\tΤερματισμός (Ctrl-Q)\tΤερματισμός του X File Write. (Ctrl-Q)" #~ msgid "\tCopy (Ctrl-C)\tCopy selection to clipboard. (Ctrl-C)" #~ msgstr "\tΑντιγραφή (Ctrl-C)\tΑντιγραφή της επιλογής στο πρόχειρο. (Ctrl-C)" #~ msgid "\tCut (Ctrl-X)\tCut selection to clipboard. (Ctrl-X)" #~ msgstr "\tΑποκοπή (Ctrl-X)\tΑποκοπή της επιλογής στο πρόχειρο. (Ctrl-X)" #~ msgid "\tPaste (Ctrl-V)\tPaste clipboard. (Ctrl-V)" #~ msgstr "\tΕπικόλληση (Ctrl-V)\tΕπικόλληση από το πρόχειρο. (Ctrl-V)" #~ msgid "\tGoto line (Ctrl-L)\tGoto line number. (Ctrl-L)" #~ msgstr "" #~ "\tΜετάβαση στη γραμμή... (Ctrl-L)\tΜετάβαση στην αριθμημένη γραμμή. (Ctrl-" #~ "L)" #~ msgid "\tUndo (Ctrl-Z)\tUndo last change. (Ctrl-Z)" #~ msgstr "\tΑναίρεση (Ctrl-Z)\tΑναίρεση της τελευταίας αλλαγής. (Ctrl-Z)" #~ msgid "\tRedo (Ctrl-Y)\tRedo last undo. (Ctrl-Y)" #~ msgstr "\tΕπαναφορά (Ctrl-Y)\tΕπαναφορά της τελευταίας αναίρεσης. (Ctrl-Y)" #~ msgid "\tSearch (Ctrl-F)\tSearch text. (Ctrl-F)" #~ msgstr "\tΑναζήτηση (Ctrl-F)\tΑναζήτηση κειμένου. (Ctrl-F)" #~ msgid "" #~ "\tSearch selection backward (Shift-Ctrl-G, Shift-F3)\tSearch backward for " #~ "selected text. (Shift-Ctrl-G, Shift-F3)" #~ msgstr "" #~ "\tΑναζήτηση για την επιλογή, προς τα πίσω (Shift-Ctrl-G, Shift-" #~ "F3)\tΑναζήτηση, προς τα πίσω, για το επιλεγμένο κείμενο. (Shift-Ctrl-G, " #~ "Shift-F3)" #~ msgid "" #~ "\tSearch selection forward (Ctrl-G, F3)\tSearch forward for selected " #~ "text. (Ctrl-G, F3)" #~ msgstr "" #~ "\tΑναζήτηση για την επιλογή, προς τα εμπρός (Ctrl-G, F3)\tΑναζήτηση, προς " #~ "τα εμπρός, για το επιλεγμένο κείμενο. (Ctrl-G, F3)" #~ msgid "\tWord wrap on (Ctrl-K)\tWord wrap on. (Ctrl-K)" #~ msgstr "" #~ "\tΑναδίπλωση λέξεων, ενεργοποιημένη (Ctrl-K)\tΕνεργοποίηση της αναδίπλωση " #~ "λέξεων. (Ctrl-K)" #~ msgid "\tWord wrap off (Ctrl-K)\tWord wrap off. (Ctrl-K)" #~ msgstr "" #~ "\t\tΑναδίπλωση λέξεων, απενεργοποιημένη (Ctrl-K)\tΑπνεργοποίηση της " #~ "αναδίπλωση λέξεων. (Ctrl-K)" #~ msgid "\tShow line numbers (Ctrl-T)\tShow line numbers. (Ctrl-T)" #~ msgstr "" #~ "\tΠροβολή των αριθμών των γραμμών (Ctrl-T)\tΠροβολή των αριθμών των " #~ "γραμμών. (Ctrl-T)" #~ msgid "\tHide line numbers (Ctrl-T)\tHide line numbers. (Ctrl-T)" #~ msgstr "" #~ "\tΑπόκρυψη των αριθμών των γραμμών (Ctrl-T)\tΑπόκρυψη των αριθμών των " #~ "γραμμών. (Ctrl-T)" #~ msgid "&New\tCtrl-N\tCreate new document. (Ctrl-N)" #~ msgstr "&Νέο\tCtrl-N\tΔημιουργία νέου εγγράφου. (Ctrl-N)" #~ msgid "&Open...\tCtrl-O\tOpen document file. (Ctrl-O)" #~ msgstr "Άν&οιγμα...\tCtrl-O\tΆνοιγμα αρχείου εγγράφου. (Ctrl-O)" #~ msgid "&Save\tCtrl-S\tSave changes to file. (Ctrl-S)" #~ msgstr "Α&ποθήκευση\tCtrl-S\tΑποθήκευση των αλλαγών στο αρχείο. (Ctrl-S)" #~ msgid "&Close\tCtrl-W\tClose document. (Ctrl-W)" #~ msgstr "&Κλείσιμο\tCtrl-W\tΚλείσιμο του εγγράφου. (Ctrl-W)" #~ msgid "&Print...\tCtrl-P\tPrint document. (Ctrl-P)" #~ msgstr "&Εκτύπωση...\tCtrl-P\tΕκτύπωση του εγγράφου. (Ctrl-P)" #~ msgid "&Quit\tCtrl-Q\tQuit X File Write. (Ctrl-Q)" #~ msgstr "&Τερματισμός\tCtrl-Q\tΤερματισμός του X File Write. (Ctrl-Q)" #~ msgid "&Redo\tCtrl-Y\tRedo last undo. (Ctrl-Y)" #~ msgstr "Επανα&φορά\tCtrl-Y\tΕπαναφορά της τελευταίας ανέραισης. (Ctrl-Y)" #~ msgid "&Paste\tCtrl-V\tPaste from clipboard. (Ctrl-V)" #~ msgstr "Επικό&λληση\tCtrl-V\tΕπικόλληση από το πρόχειρο. (Ctrl-V)" #~ msgid "Lo&wer-case\tCtrl-U\tChange to lower case. (Ctrl-U)" #~ msgstr "&Πεζά\tCtrl-U\tΑλλαγή σε πεζά. (Ctrl-U)" #~ msgid "Upp&er-case\tShift-Ctrl-U\tChange to upper case. (Shift-Ctrl-U)" #~ msgstr "Κε&φαλαία\tShift-Ctrl-U\tΑλλαγή σε κεφαλαία. (Shift-Ctrl-U)" #~ msgid "&Goto line...\tCtrl-L\tGoto line number. (Ctrl-L)" #~ msgstr "" #~ "&Μετάβαση στη γραμμή...\tCtrl-L\tΜετάβαση στη γραμμή με το αντίστοιχο " #~ "νούμερο. (Ctrl-L)" #~ msgid "&Search...\tCtrl-F\tSearch for a string. (Ctrl-F)" #~ msgstr "&Αναζήτηση...\tCtrl-F\tΑναζήτηση για ένα στίχο. (Ctrl-F)" #~ msgid "" #~ "Search sel. &backward\tShift-Ctrl-G\tSearch backward for selected text. " #~ "(Shift-Ctrl-G, Shift-F3)" #~ msgstr "" #~ "Αναζήτηση για την επιλογή, προς τα &πίσω\tShift-Ctrl-G\tΑναζήτηση, προς " #~ "τα πίσω, για το επιλεγμένο κείμενο. (Shift-Ctrl-G, Shift-F3)" #~ msgid "&Lines numbering\tCtrl-T\tToggle lines numbering mode. (Ctrl-T)" #~ msgstr "" #~ "&Αρίθμηση Γραμμών\tCtrl-T\tΕναλλαγή της κατάστασης λειτουργίας αρίθμησης " #~ "γραμμών. (Ctrl-T)" #~ msgid "&Font...\t\tChange text font." #~ msgstr "&Γραμματοσειρά...\t\tΑλλαγή της γραμματοσειράς." #~ msgid "&About X File Write...\tF1\tAbout X File Write. (F1)" #~ msgstr "" #~ "&Σχετικά με το X File Write...\tF1\tΣχετικά με το X File Write. (F1)" #~ msgid "X File Write Version " #~ msgstr "Ο X File Write, έκδοση " #~ msgid "" #~ " is a simple text editor.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ ", είναι ένας απλός επεξεργαστής κειμένου.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgid "\tOpen document (Ctrl-O)\tOpen document file. (Ctrl-O)" #~ msgstr "\tΆνοιγμα εγγράφου (Ctrl-O)\tΆνοιγμα αρχείου εγγράφου. (Ctrl-O)" #~ msgid "\tPrint document (Ctrl-P)\tPrint document file. (Ctrl-P)" #~ msgstr "" #~ "\tΕκτύπωση του εγγράφου (Ctrl-P)\tΕκτύπωση του αρχείου εγγράφου. (Ctrl-P)" #~ msgid "\tQuit Xfv (Ctrl-Q)\tQuit Xfv. (Ctrl-Q)" #~ msgstr "\tΤερματισμός του Xfv (Ctrl-Q)\tΤερματισμός του Xfv. (Ctrl-Q)" #~ msgid "\tFind again (Ctrl-G)\tFind again. (Ctrl-G)" #~ msgstr "\tΑναζήτηση ξανά (Ctrl-G)\tΑναζήτηση ξανά. (Ctrl-G)" #~ msgid "&Open file...\tCtrl-O\tOpen document file. (Ctrl-O)" #~ msgstr "Άν&οιγμα εγγράφου...\tCtrl-O\tΆνοιγμα αρχείου εγγράφου. (Ctrl-O)" #~ msgid "&Print file...\tCtrl-P\tPrint document file. (Ctrl-P)" #~ msgstr "" #~ "&Εκτύπωση του αρχείου...\tCtrl-P\tΕκτύπωση του αρχείου εγγράφου. (Ctrl-P)" #~ msgid "&Quit\tCtrl-Q\tQuit Xfv. (Ctrl Q)" #~ msgstr "&Τερματισμός\tCtrl-Q\tΤερματισμός του Xfv. (Ctrl Q)" #~ msgid "&Find a string...\tCtrl-F\tFind a string in a document. (Ctrl-F)" #~ msgstr "" #~ "&Αναζήτηση για ένα στίχο...\tCtrl-F\tΑναζήτηση για ένα στίχο στο έγγραφο. " #~ "(Ctrl-F)" #~ msgid "Find &again\tCtrl-G\tFind again. (Ctrl-G)" #~ msgstr "Αναζήτηση &ξανά\tCtrl-G\tΑναζήτηση ξανά. (Ctrl-G)" #~ msgid "&About X File View\tF1\tAbout X File View. (F1)" #~ msgstr "&Σχετικά με το View\tF1\tΣχετικά με το View. (F1)" #~ msgid "X File View Version " #~ msgstr "Ο X File View, έκδοση " #~ msgid "" #~ " is a simple text viewer.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ ", είναι ένας απλός προβολέας κειμένου.\n" #~ "\n" #~ "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" xfe-1.42/po/fr.po0000644000175100017510000057734312746115274010566 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2013 Roland Baudin # This file is distributed under the same license as the Xfe package. # Roland Baudin , 2013, 2014, 2015, 2016. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.40.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2016-07-27 11:27+0200\n" "Last-Translator: Roland Baudin \n" "Language-Team: français <>\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 2.91.7\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Usage : xfe [options...] [DOSSIER|FICHIER...]\n" "\n" " [options..] sont les options suivantes :\n" "\n" " -h, --help Affiche cet écran d'aide et quitte.\n" " -v, --version Affiche l'information de version et quitte.\n" " -i, --iconic Démarre iconifié.\n" " -m, --maximized Démarre maximisé.\n" " -p n, --panel n Force la vue panneaux à n (n=0 => Arbre et un " "panneau,\n" " n=1 => Un panneau, n=2 => Deux panneaux, n=3 => " "Arbre et deux panneaux).\n" "\n" " [DOSSIER|FICHIER...] est une liste de dossiers ou fichiers à ouvrir au " "démarrage.\n" " Les deux premiers dossiers sont affichés dans les panneaux, les autres " "sont ignorés.\n" " Le nombre de fichiers à ouvrir n'est pas limité.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Avertissement : Mode panneau inconnu, retour au dernier mode enregistré\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Erreur de chargement des icônes" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Impossible de charger certaines icônes. Vérifiez votre chemin d'accès aux " "icônes !" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Utilisateur" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lecture" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Écriture" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Exécution" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Groupe" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Autres" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Spécial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Set UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Set GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Sticky" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Propriétaire" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Commande" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Appliquer marqués" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Récursivement" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Effacer marqués" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Fichiers et dossiers" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Ajouter marqués" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Seulement les dossiers" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Seulement le propriétaire" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Seulement les fichiers" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propriétés" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Accepter" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "A&nnuler" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Général" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permissions" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "A&ssociations de fichiers" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extension :" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Description :" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Ouvrir :" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSélectionner un fichier..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Voir :" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Éditer :" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extraire :" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installer/Mettre à jour :" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Grande icône :" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Petite icône :" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nom" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Avertissement : le nom de fichier n'est pas encodé en UTF-8 !" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Système de fichier (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Dossier" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Exécutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Lien brisé" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 msgid "Link to " msgstr "Lien vers " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Point de montage" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Type de montage :" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Utilisés:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Libres :" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Système de fichiers:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Emplacement :" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Type :" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Taille totale :" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Lien vers :" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Lien brisé vers :" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Emplacement original :" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Dates" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Dernière écriture :" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Dernier changement :" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Dernier accès :" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notification de démarrage" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Désactiver la notification de démarrage pour cet exécutable" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Date de suppression :" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu octets)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu octets)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Taille :" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Sélection" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Types multiples" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d éléments" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d fichiers, %d dossiers" #: ../src/Properties.cpp:1233 msgid "Change properties of the selected folder?" msgstr "Changer les propriétés du dossier sélectionné ?" #: ../src/Properties.cpp:1237 msgid "Change properties of the selected file?" msgstr "Changer les propriétés du fichier sélectionné ?" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 msgid "Confirm Change Properties" msgstr "Confirmer changer les propriétés" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Avertissement" #: ../src/Properties.cpp:1382 msgid "Invalid file name, operation cancelled" msgstr "Nom de fichier invalide, opération annulée !" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" "Le caractère / n'est pas autorisé dans les noms de dossiers, opération " "annulée" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" "Le caractère / n'est pas autorisé dans les noms de fichiers, opération " "annulée" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Erreur" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Ne peut écrire dans %s: Permission refusée" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Le dossier %s n'existe pas" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renommer un fichier" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Propriétaire du fichier" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Opération de changement de propriétaire annulée !" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown dans %s a échoué : %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown dans %s a échoué" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Modifier les permissions spéciales pourrait conduire à des problèmes de " "sécurité ! Est-ce vraiment ce que vous souhaitez faire ?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod dans %s a échoué : %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permissions de fichier" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Opération de changement de permissions de fichier annulée !" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod dans %s a échoué" #: ../src/Properties.cpp:1609 msgid "Apply permissions to the selected items?" msgstr "Appliquer les permissions aux éléments sélectionnés ?" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Opération de changement de permissions de fichier(s) annulée !" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Sélectionner un fichier exécutable" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Tous les fichiers" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Images PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Images GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Images BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Sélectionner un fichier d'icône" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u fichiers, %u sous-dossiers" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copier ici" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Déplacer ici" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Lien symbolique ici" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Annuler" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copier un fichier" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Déplacer un fichier" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Lier symboliquement un fichier" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copier" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copier %s fichiers/dossiers.\n" "De : %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Déplacer" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Déplacer %s fichiers/dossiers.\n" "De : %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Lien symbolique" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Vers :" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Une erreur s'est produite durant la copie de fichiers !" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Opération de déplacement de fichiers annulée !" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Une erreur s'est produite durant la copie de fichiers !" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Opération de copie de fichiers annulée !" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Le point de montage %s ne répond pas..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Lien vers le dossier" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Dossiers" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Afficher les dossiers cachés" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Masquer les dossiers cachés" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 octet dans la racine" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "Le panneau est actif" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 msgid "Activate panel" msgstr "Activer le panneau" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "Permission vers: %s refusée." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nouveau &dossier..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Dossiers cac&hés" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Ign&orer la casse" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "O&rdre inverse" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Dé&velopper l'arbre" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Réduire l'ar&bre" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "&Panneau" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "&Monter" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "&Démonter" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Ajouter à l'archive..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copier" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Co&uper" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "C&oller" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nommer..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Copi&er dans..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Dép&lacer dans..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Lien symboli&que vers..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "&Mettre dans la corbeille" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "R&estaurer depuis la corbeille" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Supprimer" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "&Propriétés" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Ne peut entrer dans le dossier %s : %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Ne peut entrer dans le dossier %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Nom de fichier vide, opération annulée" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Créer une archive" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copier " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copier %s éléments de : %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renommer" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renommer " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copier dans" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Déplacer " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Déplacer %s éléments de : %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Lier symboliquement " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Lier symboliquement %s éléments de : %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s n'est pas un dossier" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Une erreur s'est produite durant l'opération de lien de symbolique !" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Lien symbolique annulé !" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Supprimer définitivement le dossier %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmer supprimer" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Supprimer un fichier" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Le dossier %s n'est pas vide, voulez vous tout de même le supprimer ?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Le dossier %s est protégé en écriture, voulez vous tout de même le supprimer " "définitivement ?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Suppression de dossier annulée !" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Mettre le dossier %s à la corbeille ?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Confirmer mettre à la corbeille" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Mettre à la corbeille" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Le dossier %s est protégé en écriture, voulez vous tout de même le mettre à " "la corbeille ?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Une erreur s'est produite durant le déplacement de fichiers !" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Opération de déplacement vers la corbeille annulée !" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Restaurer depuis la corbeille" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Restaurer le dossier %s à son emplacement original %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Confirmer la restauration" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Information de restauration inexistante pour %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Le dossier parent %s n'existe pas, voulez-vous le créer ?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Ne peut créer le dossier %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Ne peut créer le dossier %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Une erreur s'est produite durant la restauration de fichiers !" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Opération de restauration depuis la corbeille annulée !" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Créer le nouveau dossier :" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nouveau dossier" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 msgid "Folder name is empty, operation cancelled" msgstr "Le nom de dossier est vide, opération annulée" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Ne peut exécuter la commande %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Monter" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Démonter" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " système de fichiers..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " le dossier :" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " opération annulée !" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " dans la racine" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Source :" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destination :" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Données copiées :" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Données déplacées :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Supprimer :" #: ../src/File.cpp:136 msgid "From:" msgstr "De :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Changement des permissions..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Fichier :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Changement de propriétaire..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Monter un système de fichiers..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Monter le dossier :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Démonter un système de fichiers..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Démonter le dossier :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Le dossier %s existe déjà.\n" "Écraser ?\n" "=> Attention, les fichiers de ce dossier pourraient être écrasés !" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Le fichier %s existe déjà.\n" "Écraser ?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmer écraser" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Ne peut copier le fichier %s : %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Ne peut copier le fichier %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Source : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destination : " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Ne peut préserver la date lors de la copie du fichier %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Ne peut préserver la date lors de la copie du fichier %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Ne peut copier le dossier %s: Permission refusée" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Ne peut copier le fichier %s : permission refusée" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Ne peut préserver la date lors de la copie du dossier %s: %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Ne peut préserver la date lors de la copie du dossier %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "La source %s n'existe pas" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "La destination %s est identique à la source" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "La destination %s est un sous-dossier de la source" #. Set labels for progress dialog #: ../src/File.cpp:1024 msgid "Delete folder: " msgstr "Supprimer le dossier : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "De : " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Ne peut supprimer le dossier %s : %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Ne peut supprimer le fichier %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Ne peut supprimer le fichier %s : %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Ne peut supprimer le fichier %s" #: ../src/File.cpp:1189 #, c-format msgid "Destination %s already exists" msgstr "La destination %s existe déjà" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, c-format msgid "Can't rename to target %s: %s" msgstr "Ne peut renommer vers la destination %s : %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Ne peut lier symboliquement %s : %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Ne peut lier symboliquement %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 msgid "Folder: " msgstr "Dossier : " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extraire l'archive" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Ajouter à l'archive" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Commande échouée : %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Succès" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Le dossier %s a été monté avec succès." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Le dossier %s a été démonté avec succès." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Installation/Mise à jour du paquet" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Installe le paquet : %s\n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Désinstaller le paquet" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Désinstalle le paquet : %s\n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nom du &fichier :" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltrer les fichiers" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Lecture seule" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Revenir au dossier précédent" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Avancer au dossier suivant" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Aller au dossier parent" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Aller au dossier personnel" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Retour au dossier de travail" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nouveau dossier" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Liste avec grandes icônes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Liste avec petites icônes" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Liste détaillée" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Afficher les fichiers cachés" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Masquer les fichiers cachés" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Afficher les imagettes" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Cacher les imagettes" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Créer un nouveau dossier..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Créer un nouveau fichier..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nouveau fichier" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Le fichier ou dossier %s existe déjà" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "&Dossier personnel" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Dossier de &travail" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nouveau &fichier..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Nouveau &dossier..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Fic&hiers cachés" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "I&magettes" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "&Grandes icônes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Petites icônes" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Li&ste détaillée" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Lignes" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Colonnes" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Taille auto." #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nom" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "&Taille" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "T&ype" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtension" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "D&ate" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Utilisateur" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Groupe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "&Dossiers d'abord" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "O&rdre inverse" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Famille :" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Graisse :" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Style :" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Taille :" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Jeu de caractères :" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Quelconque" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europe de l'Ouest" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europe de l'Est" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Europe du Sud" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Europe du Nord" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cyrillique" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabe" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Grec" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hébreu" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turc" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordique" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thaï" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Balte" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celtique" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Russe" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europe Centrale (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Russe (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Grec (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turc (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hébreu (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabe (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Balte (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thaï (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Largeur :" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra condensée" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra condensée" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Condensée" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semi condensée" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi étendue" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Etendue" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra étendue" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra étendue" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Chasse :" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fixe" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Vectorielle :" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Toutes les polices :" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Prévisualiser :" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lancer Xfe en tant que root" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Non" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Oui" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Quitter" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Enregistrer" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Oui pour &Tout" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Entrer le mot de passe utilisateur :" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Entrer le mot de passe root :" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Une erreur s'est produite !" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nom : " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Taille dans la racine : " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Type : " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Date de modification : " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Utilisateur : " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Groupe : " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permissions : " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Chemin original :" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Date de suppression : " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Taille : " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Taille" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extension" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Date de modification" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permissions" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Impossible de charger l'image" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Emplacement original" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Date de suppression" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtrer" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Etat" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" "Le fichier %s est un fichier texte exécutable, que souhaitez vous faire ?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Confirmer exécuter" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Journal de la commande" #: ../src/FilePanel.cpp:1721 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" "Le caractère / n'est pas autorisé dans les noms de fichiers ou dossiers, " "opération annulée" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Vers le dossier :" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Ne peut écrire à l'emplacement de la corbeille %s: Permission refusée" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Mettre le fichier %s dans la corbeille ?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Mettre les %s éléments sélectionnés à la corbeille ?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Le fichier %s est protégé en écriture, voulez vous tout de même le mettre à " "la corbeille ?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Opération de déplacement vers la corbeille annulée !" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Restaurer le fichier %s à son emplacement original %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" "Restaurer les %s éléments sélectionnés à leurs emplacements originaux ?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Ne peut créer le dossier %s : %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Supprimer définitivement le fichier %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Supprimer définitivement les %s éléments sélectionnés ?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "Le fichier %s est protégé en écriture, voulez vous tout de même le " "supprimer ?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Opération de suppression de fichier annulée !" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Comparer" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Avec :" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Programme %s non trouvé. Veuillez définir un programme de comparaison de " "fichiers dans le menu Préférences !" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Créer le nouveau fichier :" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Ne peut créer le fichier %s : %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Ne peut créer le fichier %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Ne peut appliquer les permissions dans %s : %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Ne peut appliquer les permissions dans %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Créer le nouveau lien symbolique :" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nouveau lien symbolique" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Sélectionnez le fichier ou le dossier pointé par le lien" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "La cible du lien %s n'existe pas" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Ouvrir le(s) fichier(s) sélectionné(s) avec :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Ouvrir avec" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&ssocier" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Montrer les fichiers :" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Nouveau &fichier..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nouveau lien s&ymbolique..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "F&iltrer..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Li&ste détaillée" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "&Permissions" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Nouveau &fichier..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monter" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Ouvrir a&vec..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Ouv&rir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 msgid "Extr&act to folder " msgstr "Extr&aire dans le dossier " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Extraire ici" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "E&xtraire dans..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "A&fficher" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installer/Mettre à &jour" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Dés&installer" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Éditer" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Com&parer..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Com&parer" #: ../src/FilePanel.cpp:4540 msgid "Packages &query " msgstr "&Interroger les paquets " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "&Aller au dossier de scripts" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Copier &dans..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "&Mettre à la corbeille" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "R&estaurer depuis la corbeille" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 msgid "Compare &sizes" msgstr "Comparer les &tailles" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 msgid "P&roperties" msgstr "P&ropriétés" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Sélectionner un dossier de destination" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Tous les fichiers" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Installer/Mettre à jour le paquet" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Désinstaller le paquet" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Erreur : Fork a échoué : %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Ne peut créer le dossier de scripts %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Ne peut créer le dossier de scripts %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "" "Aucun gestionnaire de paquets compatible (rpm ou dpkg) n'a été trouvé !" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Le fichier %s n'appartient à aucun paquet." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Le fichier %s appartient au paquet : %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 msgid "Sizes of Selected Items" msgstr "Tailles des éléments sélectionnés" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 octet" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s dans %s éléments sélectionnés" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 élément" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " éléments" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Lien" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtre : %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Nombre maximum de signets atteint. Le dernier signet sera effacé..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirmer effacer les signets" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Voulez vous vraiment effacer tous vos signets ?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Fermer" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" "Veuillez patienter...\n" "\n" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Ne peut dupliquer les tubes : %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Ne peut dupliquer les tubes" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMMANDE ANNULÉE <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FIN DE LA COMMANDE <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSélectionner la destination..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Sélectionner un fichier" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Sélectionner un fichier ou un dossier cible" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Ajouter à l'archive" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nom de la nouvelle archive :" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormat d'archive tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tFormat d'archive zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tFormat d'archive 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tFormat d'archive tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tFormat d'archive tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormat d'archive tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormat d'archive tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormat d'archive gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormat d'archive bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tFormat d'archive xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormat d'archive Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Préférences" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Thème actuel" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Options" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Utiliser la corbeille pour la suppression de fichiers (suppression sûre)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Inclure une commande qui contourne la corbeille (suppression permanente)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Enregistrer l'agencement" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Sauvegarder la position des fenêtres" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Ouvrir les dossiers avec un simple clic" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Ouvrir les fichiers avec un simple clic" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Afficher les info-bulles dans les listes de fichiers et de dossiers" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Redimensionnement relatif des listes de fichiers" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Afficher le chemin cliquable au dessus des listes de fichiers" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notifier le démarrage des applications" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Format de date utilisé dans les listes de fichiers et dossiers :\n" "(Taper 'man strftime' dans un terminal pour l'aide sur le format)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Modes" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Mode de lancement" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Lancement dans le dossier personnel" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Lancement dans le dossier courant" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Lancement dans le dernier dossier visité" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Mode de défilement" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Défilement fluide dans les listes de fichiers et les fenêtres de texte" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Vitesse de défilement de la souris à roulette :" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Mode root" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Autoriser le mode root" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Authentifier avec su (utilise le mot de passe root)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Authentifier avec sudo (utilise le mot de passe utilisateur)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialogues" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Confirmations" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmer copier/déplacer/renommer/lier symboliquement" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Confirmer le glisser/déposer" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Confirmer mettre à la corbeille/restaurer depuis la corbeille" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Confirmer supprimer" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Confirmer supprimer les dossiers non vides" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmer écraser" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Confirmer l'exécution des fichiers textes" #: ../src/Preferences.cpp:322 msgid "Confirm change properties" msgstr "Confirmer changer les propriétés" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Avertissements" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" "Avertir lors du changement de dossier courant dans la fenêtre de recherche" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avertir quand un point de montage ne répond pas" #: ../src/Preferences.cpp:328 msgid "Display mount / unmount success messages" msgstr "Avertir quand le montage / démontage a réussi" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avertir quand la conservation de la date a échoué" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avertir que Xfe a les droits root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programmes" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programmes par défaut" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visualiseur de texte :" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Éditeur de texte :" #: ../src/Preferences.cpp:391 msgid "File comparator:" msgstr "Comparateur de fichiers :" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Éditeur d'images :" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visualiseur d'images :" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Archiveur :" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Visualiseur de PDF :" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Lecteur audio :" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Lecteur video :" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal :" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "Gestion des volumes" #: ../src/Preferences.cpp:442 msgid "Mount:" msgstr "Monter :" #: ../src/Preferences.cpp:448 msgid "Unmount:" msgstr "Démonter :" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Thèmes" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Thème de couleurs" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Couleurs personnalisées" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Double-cliquer pour personnaliser la couleur" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Couleur de base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Couleur de bord" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Couleur d'arrière plan" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Couleur de texte" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Couleur d'arrière plan de sélection" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Couleur de texte de la sélection" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Couleur d'arrière plan des listes de fichiers" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Couleur de texte des listes de fichiers" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Couleur surlignée des listes de fichiers" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Couleur de la barre de progression" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Couleur d'attention" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Couleur des barres de défilement" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Contrôles" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standard (contrôles classiques)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (contrôles d'aspect moderne)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Chemin du thème d'icônes" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSélectionner un chemin..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Polices" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Polices" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Police normale :" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Sélectionner..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Police de texte :" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Raccourcis claviers" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Raccourcis claviers" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modifier les raccourcis claviers..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Restaurer les raccourcis claviers..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Sélectionner un dossier de thème d'icônes ou un fichier d'icône" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Changer la police normale" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Changer la police de texte" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Créer un nouveau fichier" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Créer un nouveau dossier" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copier dans le presse-papier" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Couper dans le presse-papier" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Coller le contenu du presse-papier" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Ouvrir un fichier" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Quitter l'application" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Sélectionner tout" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Désélectionner tout" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Inverser la sélection" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Afficher l'aide" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Basculer l'affichage des fichiers cachés" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Basculer l'affichage des imagettes" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Fermer la fenêtre" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Imprimer le fichier" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Rechercher" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Rechercher le précédent" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Rechercher le suivant" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Panneaux verticaux" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Panneaux horizontaux" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Rafraîchir les panneaux" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Créer le nouveau lien symbolique" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Propriétés de fichiers" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Mettre à la corbeille" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Restaurer des fichiers depuis la corbeille" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Supprimer les fichiers" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Créer une nouvelle fenêtre" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Créer une nouvelle fenêtre root" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Exécuter une commande..." #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lancer un terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Monter un système de fichiers (Linux seulement)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Démonter un système de fichiers (Linux seulement)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Mode un panneau" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Mode arbre et un panneau" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Mode deux panneaux" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Mode arbre et deux panneaux" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Effacer l'emplacement" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Renommer un fichier" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copier les fichiers à l'emplacement" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Déplacer les fichiers à l'emplacement" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Lier symboliquement les fichiers à l'emplacement" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Ajouter un signet" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Synchroniser les panneaux" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Permuter les panneaux" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Aller à la corbeille" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Vider la corbeille" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Voir" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Éditer" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Basculer l'affichage des dossiers cachés" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrer les fichiers" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Zoomer l'image à 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Zoomer sur l'image de manière ajustée à la fenêtre" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Pivoter l'image à gauche" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Pivoter l'image à droite" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Renverser l'image horizontalement" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Renverser l'image verticalement" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Créer un nouveau document" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Enregistrer les modifications dans le fichier" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Aller à la ligne" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Annuler la dernière modification" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Rétablir la dernière modification." #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Remplacer la chaîne" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Basculer l'enroulement du texte" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Basculer l'affichage des numéros de ligne" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Basculer en minuscules" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Basculer en majuscules" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Voulez-vous vraiment restaurer les raccourcis claviers par défaut ?\n" "\n" "Toutes vos personnalisations seront définitivement perdues !" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Restaurer les raccourcis claviers par défaut" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Redémarrer" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Les raccourcis clavier seront modifiés après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Le mode de défilement sera modifié après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Le thème sera modifié après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "L'affichage du chemin sera modifié après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Le style des boutons sera modifié après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La police normale sera modifiée après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La police de texte sera modifiée après le redémarrage.\n" "Redémarrer X File Explorer maintenant ?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Passer" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Passer &Tout" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Taille de la source :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Date de modification : " #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Taille de la destination :" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&xécuter" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Exécuter en mode &console" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Fe&rmer" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Rafraîchir le panneau" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copier les fichiers sélectionnés dans le presse-papier" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Couper les fichiers sélectionnés dans le presse-papier" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Afficher les propriétés des fichiers sélectionnés" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mettre les fichiers sélectionnés à la corbeille" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Supprimer les fichiers sélectionnés" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Le dossier courant est maintenant '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Li&ste détaillée" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ign&orer la casse" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Taille auto." #: ../src/SearchPanel.cpp:2312 msgid "&Packages query " msgstr "&Interroger les paquets " #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Aller au dossier parent" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Copier %s éléments" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Déplacer %s éléments" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Lier symboliquement %s éléments" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" "Le caractère '/' n'est pas autorisé dans les noms de fichiers ou dossiers, " "opération annulée" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Vous devez entrer un chemin absolu !" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 élément" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Rechercher les fichiers :" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "Ignorer la casse\tIgnorer la casse des noms de fichiers" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Fichiers cachés\tAfficher les fichiers et dossiers cachés" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "Dans le dossier :" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tDans le dossier..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Le texte contient :" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "Ignorer la casse\tIgnorer la casse du texte" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Plus d'options" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Options de recherche" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "R.A.Z.\tRéinitialiser les options de recherche" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Taille minimale :" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtrer par taille de fichier minimale (Koctets)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "Ko" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Taille maximale :" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtrer par taille de fichier maximale (Koctets)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Dernière modification avant :" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtrer par date de modification maximale (jours)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Jours" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Dernière modification après :" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtrer par date de modification minimale (jours)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Utilisateur :" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrer par nom d'utilisateur" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Groupe :" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrer par nom de groupe" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Type de fichiers :" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Fichier" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Tube" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrer par type de fichier" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Permissions :" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrer par permissions (octal)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Fichiers vides :" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tSeulement les fichiers vides" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Suivre les liens symboliques :" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tChercher en suivant les liens symboliques" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Non récursif :" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNe pas rechercher récursivement" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Ignorer autres FS :" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNe pas rechercher dans les autres systèmes de fichiers" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Démarrer\tDémarrer la recherche (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Stop\tArrêter la recherche (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Recherche démarrée - Veuillez patienter... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Résultats de la recherche <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Erreur d'entrée / sortie" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Recherche arrêtée... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Sélectionner un chemin" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Créer un nouveau lien symbolique" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaurer les fichiers sélectionnés depuis la corbeille" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Lancer Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Rechercher des fichiers et dossiers..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Monter (Linux seulement)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Démonter (Linux seulement)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Afficher un seul panneau" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Afficher l'arbre et un seul panneau" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Afficher deux panneaux" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Afficher l'arbre et deux panneaux" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Effacer l'emplacement" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Aller à l'emplacement" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nouveau &dossier..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "&Aller au dossier personnel" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Rafraîchir" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Copier dans..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Lien s&ymbolique vers..." #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "&Propriétés" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fichier" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Sélectionner tout" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Désélectionner tout" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Inverser la sélection" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "&Préférences" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Barre d'outils générale" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Barre d'outils outils" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Barre d'outils panneaux" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barre d'adre&sse" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barre d'é&tat" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Un panneau" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Arbre et un panneau" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Deu&x panneaux" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Arbre et deux &panneaux" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "Panneaux &verticaux" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "Panneaux &horizontaux" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Ajouter un signet" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Effacer les signets" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Signets" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtrer..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Imagettes" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Grandes icônes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ype" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "D&ate" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Utilisateur" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Groupe" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "&Dossiers d'abord" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Panneau &gauche" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtrer" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "&Dossiers d'abord" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Panneau &droit" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nouvelle &fenêtre" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nouvelle fenêtre &root" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "&Exécuter la commande..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Synchroniser les panneaux" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "&Permuter les panneaux" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Aller au dossier de scripts" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Rechercher les fichiers..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Démonter" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Outils" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Aller à la corbeille" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Taille de la corbeille" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Vider la corbeille" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "&Corbeille" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "Ai&de" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "À &propos de X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Vous utilisez Xfe en tant que root !" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "À partir de la version 1.32 de Xfe, l'emplacement des fichiers de " "configuration est désormais '%s'.\n" "Notez que vous pouvez importer vos anciennes personnalisations en éditant à " "la main les fichiers de configuration..." #: ../src/XFileExplorer.cpp:2266 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Ne peut créer le dossier de configuration de Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Ne peut créer le dossier de configuration de Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Aucun fichier global xferc trouvé ! Veuillez sélectionner un fichier de " "configuration..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE configuration" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Ne peut créer le dossier 'files' de la corbeille %s : %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Ne peut créer le dossier 'files' de la corbeille %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Ne peut créer le dossier 'info' de la corbeille %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Ne peut créer le dossier 'info' de la corbeille %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Aide" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basé sur X WinCommander par Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Traducteurs\n" "-------------\n" "Allemand : Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Bosniaque: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan : muzzol\n" "Chinois : Xin Li\n" "Chinois (Taïwan): Wei-Lun Chao\n" "Danois : Jonas Bardino, Vidar Jon Bauge\n" "Espagnol : Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Espagnol argentin : Bruno Gilberto Luciani\n" "Espagnol colombien : Vladimir Támara (Pasos de Jesús)\n" "Français : Claude Leo Mercier, Roland Baudin\n" "Grec : Nikos Papadopoulos\n" "Hollandais : Hans Strijards\n" "Hongrois : Attila Szervac, Sandor Sipos\n" "Italien: Claudio Fontana, Giorgio Moscardi\n" "Japonais : Karl Skewes\n" "Norvégien : Vidar Jon Bauge\n" "Polonais : Jacek Dziura, Franciszek Janowski\n" "Portuguais : Miguel Santinho\n" "Portuguais brésilien : Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Russe : Dimitri Sertolov, Vad Vad\n" "Suédois : Anders F. Bjorklund\n" "Tchèque : David Vachulka\n" "Turc : erkaN\n" #: ../src/XFileExplorer.cpp:3235 msgid "About X File Explorer" msgstr "À &propos de X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 msgid "&Panel" msgstr "&Panneau" #: ../src/XFileExplorer.cpp:3707 msgid "Execute the command:" msgstr "Exécuter la commande :" #: ../src/XFileExplorer.cpp:3707 msgid "Console mode" msgstr "Mode console" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Rechercher des fichiers et dossiers" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Voulez-vous vraiment vider la corbeille ?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " dans " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Tous les éléments seront définitivement perdus !" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Taille de la corbeille : %s (%s fichiers, %s sous-dossiers)\n" "\n" "Date de modification : %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Taille de la corbeille" #: ../src/XFileExplorer.cpp:4038 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Le dossier 'files' %s de la corbeille ne peut être parcouru !" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Commande non trouvée : %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Association de fichier invalide : %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Association de fichier non trouvée : %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Préférences" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Ouvrir le paquet" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Ouvrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barre d'outils" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&À propos de X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "Dé&sinstaller" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installer/Mettre à jour" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "D&escription" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Liste des fichiers" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package version %s est un gestionnaire simple de paquets rpm ou deb.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "À propos de X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Paquets source RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Paquets DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Ouvrir un document" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Aucun paquet chargé" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Format de paquet inconnu" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Installation/Mise à jour de paquets" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Désinstallation de paquets..." #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Paquet RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Paquet DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "L'interrogation de %s a échoué !" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Erreur lors du chargement de fichier" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Impossible d'ouvrir le fichier : %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Usage : xfp [options] [paquet] \n" "\n" " [options] peut être l'une des options suivantes :\n" "\n" " -h, --help affiche cet écran d'aide et quitte.\n" " -v, --version affiche l'information de version et quitte.\n" "\n" " [paquet] est le chemin d'accès au fichier\n" " paquet rpm ou deb que vous souhaitez ouvrir au démarrage.\n" "\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Image GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Image BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Image XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Image PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Image ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Image RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Image XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Image TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Image PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Image PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Image JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Image TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Image" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Ouvrir" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Ouvrir le fichier image." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Imprimer" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Imprimer l'image." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Zoom avant" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Zoomer en avant sur l'image." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Zoom arrière" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Zoomer en arrière sur l'image." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Zoom 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Zoomer l'image à 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Zoom ajusté à la fenêtre" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Zoomer sur l'image de manière ajustée à la fenêtre." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Pivoter à gauche" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Pivoter l'image à gauche." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Pivoter à droite" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Pivoter l'image vers la droite." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Miroir horizontal" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Renverser l'image horizontalement." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Miroir horizontal" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Renverser l'image verticalement." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Imprimer..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Effacer les fichiers récents" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Effacer les fichiers récents." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Quitter Xfi" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Zoom &avant" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Zoom a&rrière" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Zoo&m 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Zoom ajusté à la &fenêtre" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Pivoter à &droite" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Pivoter l'image vers la droite." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Pivoter à &gauche" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Pivoter à gauche." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Miroir &horizontal" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Miroir horizontal." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Miroir &vertical" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Miroir vertical." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Afficher les fichiers et dossiers cachés" #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Afficher les imagettes." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Afficher les dossiers avec de grandes icônes." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Afficher les dossiers avec de petites icônes." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Li&ste détaillée" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Afficher les dossiers sous forme de liste détaillée." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Vue en lignes." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Vue en colonnes." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Redimensionne automatiquement les noms des icônes." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Afficher la barre d'outils." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Liste des fichiers" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Afficher la liste des fichiers." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "L&iste de fichiers d'abord" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Afficher la liste des fichiers avant l'image." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrer les images" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Afficher uniquement les fichiers d'images." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "&Ajuster à la fenêtre à l'ouverture" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Zoom ajusté à la fenêtre lors de l'ouverture d'une image." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&À propos de X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "À propos de X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image version %s est un visualiseur d'images simple.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "À propos de X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Erreur lors du chargement de l'image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Type non supporté : %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Impossible de charger l'image, le fichier est peut-être corrompu" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "La modification sera prise en compte après le redémarrage.\n" "Redémarrer X File Image maintenant ?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Ouvrir l'image" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Commande d'impression : \n" "(ex : lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Usage : xfi [options] [image] \n" "\n" " [options] peut être l'une des options suivantes :\n" "\n" " -h, --help affiche cet écran d'aide et quitte.\n" " -v, --version affiche l'information de version et quitte.\n" "\n" " [image] est le chemin d'accès au fichier\n" " image que vous souhaitez ouvrir au démarrage.\n" "\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Préférences de XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Éditeur" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Texte" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Marge d'enroulement :" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Taille des tabulations :" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Supprimer les retours chariots :" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Couleurs" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Lignes" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Arrière plan :" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Texte :" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Arrière plan du texte sélectionné :" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Texte sélectionné :" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Arrière plan du texte surligné :" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Texte surligné :" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Curseur :" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Arrière plan des numéros de ligne :" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Numéros de ligne :" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Rechercher" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "Fe&nêtres" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Lignes :" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col :" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Ligne :" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nouveau" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Créer un nouveau document." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Ouvrir un document." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Enregistrer" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Enregistrer un document." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Fermer" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Fermer le document." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprimer le document." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Quitter" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Quitter X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copier les fichiers sélectionnés dans le presse-papier." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Couper" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Couper les fichiers sélectionnés dans le presse-papier." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Coller" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Coller le contenu du presse-papier." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Aller au numéro de ligne." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Annuler" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Annuler la dernière modification." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Refaire" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Refaire la dernière annulation." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Rechercher le texte." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Rechercher la sélection en arrière" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Rechercher le texte sélectionné en arrière." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Rechercher la sélection en avant" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Rechercher le texte sélectionné en avant." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Enrouler le texte" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Enrouler le texte." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Désenrouler le texte" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Désenrouler le texte." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Afficher les numéros de ligne" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Afficher les numéros de ligne." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Cacher les numéros de ligne" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Cacher les numéros de ligne." #: ../src/WriteWindow.cpp:741 msgid "&New" msgstr "&Nouveau" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Enregistrer les modifications dans le fichier." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "En®istrer sous..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Enregistrer le document sous un autre nom." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Fermer le document." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Eff&acer les fichiers récents" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Annuler" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Refaire" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Re&venir à la sauvegarde" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Revenir au document enregistré." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Cou&per" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Coller le contenu du presse-papier." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "&Minuscules" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Convertir en minuscules." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Ma&juscules" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Convertir en majuscules." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Aller à la &ligne..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Sélectionner &tout" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Barre d'&état" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Afficher la barre d'état." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Rechercher..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Rechercher le texte." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "R&emplacer..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Rechercher et remplacer une chaîne de caractères." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Re&chercher la sél. en arrière" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Rec&hercher la sél. en avant" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Enrouler le texte" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Basculer l'enroulement du texte." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Numérotation des lignes" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Bascule le mode d'affichage des numéros de ligne." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Refrappe" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Basculer le mode refrappe." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "P&olice..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Changer la police de texte." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Plus de préférences..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Modifier les autres préférences." #: ../src/WriteWindow.cpp:959 msgid "&About X File Write" msgstr "&À propos de X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "À propos de X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Le fichier est trop volumineux : %s (%d octets)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Impossible d'ouvrir le fichier : %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Erreur d'enregistrement du fichier" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Le fichier est trop volumineux : %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Fichier : %s tronqué." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "sans titre" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "sans titre%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write version %s est un éditeur de texte simple.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "À propos de X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Changer la police de texte" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Fichiers texte" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Fichiers source C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Fichiers source C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Fichiers d'en-tête C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Fichiers HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Fichiers PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Document non enregistré" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Enregistrer %s dans un fichier ?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Enregistrer un document" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Écraser le document" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Écraser le document existant : %s ?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (modifié)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr " (lecture seule)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "LECTURE SEULE" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "RFP" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Le fichier a été modifié" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "a été modifié par un autre programme. Recharger ce fichier depuis le disque " "dur ?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Remplacer" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Aller à la ligne" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Aller au numéro de ligne :" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Usage : xfw [options] [fichier1] [fichier2] [fichier3]...\n" "\n" " [options] peut être l'une des options suivantes :\n" "\n" " -r, --read-only Ouvre les fichiers en lecture seule.\n" " -h, --help affiche cet écran d'aide et quitte.\n" " -v, --version affiche l'information de version et quitte.\n" "\n" " [fichier1] [fichier2] [fichier3] désigne le(s) chemin(s) d'accès au(x) " "fichier(s)\n" " que vous souhaitez ouvrir au démarrage.\n" "\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Dossier root" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Prêt." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Remplacer" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Rem&placer tout" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Rechercher :" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Remplacer par :" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&act" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "Ign&orer la casse" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpression" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&En arrière" # c-format # c-format #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" "\n" " XFE, le gestionnaire de fichiers X File " "Explorer\n" "\n" " \n" " \n" "\n" "\n" "\n" " [L'apparence de ce fichier d'aide sera améliorée avec une police à châsse " "fixe. Vous pouvez la modifier \n" " dans l'onglet Polices du menu Préférences.]\n" "\n" "\n" "\n" " Ce programme est un logiciel libre : vous pouvez le redistribuer et / ou le " "modifier sous les conditions \n" " de la licence GNU General Public License telle que publiée par la Free " "Software Foundation : soit la version 2 \n" " ou (selon votre choix) toute version ultérieure.\n" "\n" "\n" " Ce programme est distribué dans l'espoir qu'il soit utile, mais SANS AUCUNE " "GARANTIE, y compris les garanties de \n" " commercialisation ou d'adaptation dans un but particulier. Consulter la GNU " "General Public License pour plus \n" " d'informations.\n" "\n" "\n" "\n" " Description\n" " =-=-=-=-=-=\n" "\n" " X File Explorer (Xfe) est un gestionnaire de fichiers léger pour " "l'environnement X11, écrit à l'aide de la \n" " bibliothèque graphique FOX.\n" " Il est indépendant de tout bureau et peut être facilement configuré.\n" " Il peut-être utilisé en mode Commander ou Explorer et il est très rapide et " "léger.\n" " Xfe a pour ancêtre le populaire mais désormais abandonné X Win Commander, " "programme écrit à l'origine par \n" " Maxim Baranov.\n" "\n" "\n" "\n" " Caractéristiques\n" " =-=-=-=-=-=-=-=-=\n" "\n" " - Interface graphique très rapide\n" " - Support de l'UTF-8\n" " - Interface à la Commander / Explorer comprenant quatre modes de " "gestion : a) un panneau, b) une arborescence \n" " et un panneau, c) deux panneaux, d) une arborescence et deux panneaux\n" " - Agencement horizontal ou vertical des panneaux\n" " - Synchronisation et échange des panneaux\n" " - Éditeur de texte intégré (X File Write, Xfw)\n" " - Afficheur d'images intégré (X File Image, Xfi)\n" " - Afficheur, installateur, désinstallateur intégrés de paquets rpm ou " "deb (X File Package, Xfp)\n" " - Scripts personnalisés (comme les scripts Nautilus)\n" " - Recherche de fichiers et dossiers\n" " - Tri des fichiers dans l'ordre naturel (fich10.txt vient après fich2." "txt...)\n" " - Copier/Couper/Coller depuis et vers votre bureau favori (GNOME/KDE/" "XFCE/ROX)\n" " - Glisser/Déposer depuis et vers votre bureau favori (GNOME/KDE/XFCE/" "ROX)\n" " - Utilisation du disque\n" " - Mode super-utilisateur avec authentification par su ou sudo (mode " "root)\n" " - Barre d'état\n" " - Association de fichiers\n" " - Corbeille optionnelle pour opérations d'effacement (respectant les " "standards de freedesktop.org)\n" " - Sauvegarde automatique du registre\n" " - Simple ou double clic pour la navigation des fichiers et dossiers\n" " - Menu contextuel sur clic droit dans les listes d'arborescence et de " "fichiers\n" " - Changement des permissions de fichiers\n" " - Montage et démontage des périphériques (Linux seulement)\n" " - Avertissement quand un point de montage ne répond plus (Linux " "seulement)\n" " - Barres d'outils\n" " - Signets\n" " - Listes d'historique avant et après pour navigation dans les dossiers\n" " - Thèmes de couleurs (GNOME, KDE, Windows...)\n" " - Thèmes d'icônes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Thèmes de contrôles (Standard ou Clearlooks)\n" " - Création d'archives (tar, zip, gzip, bzip2, xz, 7zip et compress sont " "pris en charge)\n" " - Extraction d'archives (tar, zip, gzip, bzip2, xz, lzh, rar, ace, arj, " "7zip et compress sont pris en charge)\n" " - Comparaison de fichiers (via un outil externe)\n" " - Info-bulles avec propriétés des fichiers\n" " - Barres de progression ou dialogues pour les opérations longues\n" " - Aperçu des images par imagettes\n" " - Raccourcis claviers configurables\n" " - Notification de démarrage des applications (optionnel)\n" " - et bien plus encore...\n" "\n" "\n" "\n" " Raccourcis clavier par défaut\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" " \n" " Ci-dessous sont listés les raccourcis clavier globaux par défaut. Ils sont " "communs à toutes les applications \n" " X File.\n" " \n" " * Sélectionner tout - Ctrl-A\n" " * Copier dans le presse papie - Ctrl-C\n" " * Rechercher - Ctrl-F\n" " * Rechercher le précédent - Ctrl-Shift-G\n" " * Rechercher le suivant - Ctrl-G\n" " * Aller au dossier personnel - Ctrl-H\n" " * Inverser la sélection - Ctrl-I\n" " * Ouvrir un fichier - Ctrl-O\n" " * Imprimer un fichier - Ctrl-P\n" " * Quitter l'application - Ctrl-Q\n" " * Coller le contenu du presse papier - Ctrl-V\n" " * Fermer la fenêtre - Ctrl-W\n" " * Couper dans le presse papier - Ctrl-X\n" " * Désélectionner tout - Ctrl-Z\n" " * Afficher l'aide - F1\n" " * Créer un nouveau fichier - Ctrl-N\n" " * Créer un nouveau dossier - F7\n" " * Liste avec grandes icônes - F10\n" " * Liste avec petites icônes - F11\n" " * Liste détaillée - F12\n" " * Basculer l'affichage des fichiers cachés - Ctrl-F6\n" " * Basculer l'affichage des imagettes - Ctrl-F7\n" " * Panneaux verticaux - Ctrl-Shift-F1\n" " * Panneaux horizontaux - Ctrl-Shift-F2\n" " * Aller au dossier de travail - Shift-F2\n" " * Aller au dossier parent - Backspace\n" " * Aller au dossier précédent - Ctrl-Backspace\n" " * Aller au dossier suivant - Shift-Backspace\n" " \n" " \n" " Ci-dessous sont listés les raccourcis clavier par défaut de X File " "Explorer. Ils sont spécifiques à \n" " l'application Xfe.\n" "\n" " * Ajouter un signet - Ctrl-B\n" " * Filtrer les fichiers - Ctrl-D\n" " * Exécuter la commande - Ctrl-E\n" " * Créer le nouveau lien symbolique - Ctrl-J\n" " * Permuter les panneaux - Ctrl-K\n" " * Effacer l'emplacement - Ctrl-L\n" " * Monter un système de fichiers (Linux seulement) - Ctrl-M\n" " * Renommer un fichier - F2\n" " * Rafraîchir les panneaux - Ctrl-R\n" " * Lier symboliquement les fichiers à l'emplacement - Ctrl-S\n" " * Lancer un terminal - Ctrl-T\n" " * Démonter un système de fichiers (Linux seulement) - Ctrl-U\n" " * Synchroniser les panneaux - Ctrl-Y\n" " * Créer une nouvelle fenêtre - F3\n" " * Éditer - F4\n" " * Copier les fichiers à l'emplacement - F5\n" " * Déplacer les fichiers à l'emplacement - F6\n" " * Propriétés de fichiers - F9\n" " * Mode un panneau - Ctrl-F1\n" " * Mode arborescence et un panneau - Ctrl-F2\n" " * Mode deux panneaux - Ctrl-F3\n" " * Mode arborescence et deux panneaux - Ctrl-F4\n" " * Basculer l'affichage des dossiers cachés - Ctrl-F5\n" " * Aller à la corbeille - Ctrl-F8\n" " * Créer une nouvelle fenêtre root - Shift-F3\n" " * Voir - Shift-F4\n" " * Mettre à la corbeille - Del\n" " * Restaurer les fichiers depuis la corbeille - Alt-Del\n" " * Supprimer les fichiers - Shift-Del\n" " * Vider la corbeille - Ctrl-Del\n" " \n" " \n" " Ci-dessous sont listés les raccourcis clavier par défaut de X File Image. " "Ils sont spécifiques à \n" " l'application Xfi.\n" " \n" " * Zoomer sur l'image de manière ajustée à la fénêtre - Ctrl-F\n" " * Renverser l'image horizontalement - Ctrl-H\n" " * Zoomer l'image à 100 % - Ctrl-I\n" " * Pivoter l'image à gauche - Ctrl-L\n" " * Pivoter l'image à droite - Ctrl-R\n" " * Renverser l'image verticalement - Ctrl-V\n" " \n" " \n" " Ci-dessous sont listés les raccourcis clavier par défaut de X File Write. \n" " Ils sont spécifiques à l'application Xfw.\n" " \n" " * Basculer l'enroulement du texte - Ctrl-K\n" " * Aller à la ligne - Ctrl-L\n" " * Créer un nouveau document - Ctrl-N\n" " * Remplacer la chaîne - Ctrl-R\n" " * Enregistrer les modifications dans le fichier - Ctrl-S\n" " * Basculer l'affichage des numéros de ligne - Ctrl-T\n" " * Basculer en majuscules - Ctrl-Shift-U\n" " * Basculer en minuscules - Ctrl-U\n" " * Rétablir la dernière modification - Ctrl-Y\n" " * Annuler la dernière modification - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) utilise seulement certains des raccourcis globaux.\n" " \n" " À noter que tous les raccourcis claviers par défaut peuvent être " "personnalisés dans les préférences de Xfe. \n" " Cependant, certaines actions sont codées en dur et ne peuvent être " "modifiées.\n" " Il s'agit notamment de :\n" " \n" " * Ctrl-+ and Ctrl-- - zoomer et " "dézoomer sur une image dans Xfi\n" " * Shift-F10 - afficher le menu " "contextuel dans Xfe\n" " * Space - sélectionner un " "élément dans les listes de fichiers\n" " * Return - ouvrir les " "dossiers dans les listes de fichiers,\n" " ouvrir les " "fichiers, activer les boutons d'actions, etc.\n" " * Esc - fermer la boîte " "de dialogue courante, déselectionner \n" " les fichiers, " "etc.\n" " \n" " \n" " \n" " Corbeille\n" " =-=-=-=-=\n" "\n" " À partir de la version 1.32, Xfe comporte un nouveau système de corbeille, " "respectant entièrement les standards \n" " de freedesktop.org. Cela permet à l'utilisateur de déplacer ses fichiers " "dans la corbeille et de les restaurer \n" " depuis Xfe ou depuis son bureau favori.\n" " À noter que l'emplacement des fichiers de la corbeille est désormais ~/." "local/share/Trash/files\n" " \n" " \n" " \n" " Opérations Glisser/Déposer\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=\n" "\n" " Le Glisser/Déposer d'un fichier ou d'un groupe de fichiers vers un dossier " "ou un panneau déclenche l'ouverture \n" " d'un dialogue permettant de sélectionner l'opération : copier, déplacer, " "lier symboliquement ou annuler. \n" " Cette fonctionnalité est par ailleurs optionnelle.\n" "\n" "\n" "\n" " Configuration\n" " =-=-=-=-=-=-=\n" "\n" " Vous pouvez effectuer toute configuration de Xfe (disposition, association " "de fichiers, raccourcis clavier, etc.) \n" " sans éditer aucun fichier à la main. Cependant, il peut être intéressant de " "comprendre les principes de la \n" " configuration, parce que certaines personnalisations peuvent très " "facilement être effectuées en éditant \n" " des fichiers de configuration.\n" " Ayez soin de quitter Xfe avant d'éditer quelque fichier de configuration " "que ce soit, autrement vos changements \n" " ne seraient pas pris en compte.\n" "\n" " Le fichier de configuration système xferc est situé dans le dossier /usr/" "share/xfe, /usr/local/share/xfe \n" " ou /opt/local/share/xfe, dans l'ordre de précédence indiqué.\n" " À partir de la version 1.32 et suivantes, l'emplacement des fichiers de " "configuration locaux a changé, \n" " de façon à respecter les standards de Freedesktop.org.\n" "\n" " Les fichiers de configuration personnels de Xfe, Xfw, Xfi et Xfp sont " "maintenant situés dans le dossier \n" " ~/.config/xfe. Ils se nomment respectivement xferc, xfwrc, xfirc and " "xfprc.\n" "\n" " Au tout premier lancement de Xfe, une copie du fichier de configuration " "système est effectuée vers le fichier \n" " ~/.config/xfe/xferc, non encore présent, \n" " dans le dossier personnel de l'utilisateur. Si le fichier de configuration " "système n'est pas trouvé (dans le cas \n" " où l'installation n'a pas lieu dans l'emplacement par défaut) une boîte de " "dialogue s'ouvre pour demander à \n" " l'utilisateur d'indiquer l'endroit approprié. Il est alors facile de " "configurer Xfe en éditant les fichiers \n" " de configuration (spécialement en ce qui concerne les associations de " "fichiers), parce que toutes les \n" " options locales sont réunies dans un même fichier.\n" "\n" " Les icônes PNG par défaut sont situées dans le dossier /usr/share/xfe/icons/" "xfe-theme ou \n" " /usr/local/share/xfe/icons/xfe-theme, selon l'installation.\n" " Vous pouvez facilement changer le chemin du thème d'icônes dans le menu " "Préférences de Xfe.\n" "\n" "\n" "\n" " Scripts\n" " =-=-=-=\n" "\n" " Xfe peut exécuter des scripts personnalisés sur une sélection de fichiers. " "Pour cela, sélectionner d'abord les fichiers que vous désirez traiter, puis " "faites un clic droit sur la liste de fichiers et sélectionnez le sous-menu " "Scripts. Enfin, choisissez le script que vous désirez appliquer.\n" "\n" " Les fichiers de scripts doivent obligatoirement être situés dans le dossier " "~/.config/xfe/scripts et être exécutables. Vous pouvez utiliser le menu " "Outils / Aller au dossier de scripts pour vous rendre directement dans ce " "dossier et le gérer.\n" "\n" " Voici un exemple de script qui liste chaque fichier sélectionné et affiche " "le résultat dans le terminal depuis lequel Xfe a été lancé :\n" "\n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" "\n" " Vous pouvez également utiliser des programmes tels que xmessage, zenity ou " "kdialog pour afficher une fenêtre interactive avec des boutons. Voici une " "modification du script précédent utilisant xmessage :\n" "\n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" "\n" " La plupart du temps, il est possible d'utiliser sans modification les " "scripts Nautilus trouvés sur Internet.\n" "\n" "\n" "\n" " Recherche de fichiers et dossiers\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" "\n" " Xfe peut rechercher rapidement les fichiers et dossiers grâce à un appel " "aux commandes find et grep. Il suffit pour cela d'invoquer le\n" " menu Outils / Recherche de fichiers (ou d'utiliser le raccourci Ctrl-F).\n" "\n" " Dans la fenêtre de recherche, les utilisateurs peuvent spécifier les " "critères de recherche habituels tels que le nom et le texte, mais\n" " des critères plus sophistiqués sont également disponibles en cliquant sur " "le bouton Plus d'options. Il est alors possible de rechercher\n" " des fichiers selon la taille, la date de modification, le nom d'utilisateur " "ou de groupe, les permissions, le suivi des liens\n" " symboliques ou les fichiers vides. Les résultats de la recherche " "apparaissent ensuite dans une liste de fichiers que les utilisateurs\n" " peuvent manipuler avec le menu clic droit, de la même manière que dans les " "autres panneaux de fichiers.\n" "\n" " La recherche peut être interrompue en cliquant sur le bouton Stop ou en " "utilisant la touche Escape.\n" "\n" "\n" "\n" " Langues à caractères non latins\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe peut afficher son interface utilisateur ainsi que les noms de fichiers " "dans des langues à caractères non latins, à condition que vous ayez installé " "une police de caractères Unicode supportant le jeu de caractères de votre " "langue.\n" " Pour sélectionner une telle police, utilisez le menu Éditer / Préférences / " "Polices.\n" " \n" " Des polices de caractères TrueType Unicode peuvent être trouvées à " "l'adresse suivante : http://www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Trucs et astuces\n" " =-=-=-=-=-=-=-=-=\n" "\n" " Liste de fichiers\n" " - Sélectionnez des fichiers et obtenez un menu contextuel par un clic " "droit sur la liste de fichiers\n" " - Pressez la touche Ctrl + clic droit de souris pour obtenir le menu \n" " contextuel du panneau de fichiers\n" " - Lors d'un Glisser/Déposer vers un dossier, maintenez le bouton gauche " "de la souris enfoncé pour \n" " ouvrir le dossier\n" "\n" " Liste d'arborescence\n" " - Sélectionnez un dossier et faites un clic droit sur lui pour ouvrir " "son menu contextuel\n" " - Pressez la touche Ctrl + clic droit de souris pour obtenir le menu " "contextuel de l'arborescence\n" " - Quand vous faites glisser un fichier ou un dossier vers un autre " "dossier, maintenez le bouton gauche \n" " de la souris enfoncé pour développer le dossier\n" "\n" " Copier/coller les noms de fichiers\n" " - Sélectionnez un fichier et appuyez sur Ctrl-C pour copier le nom de " "fichier dans le presse-papiers. \n" " Vous pouvez ensuite coller ce nom de fichier dans tous les dialogues " "en appuyant sur Ctrl-V.\n" " - Dans tout dialogue d'opération sur les fichiers, sélectionnez un nom " "de fichier dans la ligne contenant \n" " le nom de la source et collez le directement dans la destination à " "l'aide du bouton du milieu de la \n" " souris. Ensuite vous pouvez modifier aisément le nom obtenu.\n" "\n" " Ajouter des fichiers au presse-papier\n" " - Vous pouvez sélectionner des fichiers dans un dossier, les copier dans " "le presse-papier en appuyant\n" " sur Ctrl-C. Ceci effacera le contenu du presse-papier. Ensuite, vous " "pouvez aller dans un autre dossier,\n" " sélectionner d'autres fichiers et les ajouter au presse-papier en " "appuyant sur Shift-Ctrl-C. Cela n'effacera\n" " pas le contenu de presse-papier. Enfin, vous pouvez aller dans le " "dossier de destination et coller tous les\n" " fichiers du presse-papier en appuyant sur Ctrl-V. Bien sûr, cela " "fonctionne aussi avec Ctrl-X et Shift-Ctrl-X\n" " et permet de couper / coller des fichiers de différentes provenances " "en appuyant sur Ctrl-V.\n" "\n" " Notification de démarrage des applications\n" " - La notification de démarrage est le processus qui affiche un retour " "visuel (curseur clignotant ou autre) \n" " pour l'utilisateur lorsque celui-ci lance une action (copie de " "fichiers, démarrage d'application, etc.). \n" " En fonction du système, il peut y avoir certaines limitations. Si Xfe " "a été compilé avec le support \n" " de la notification de démarrage (startup notification), l'utilisateur " "a la possibilité de le désactiver \n" " pour toutes les applications au niveau du menu Préférences, mais " "aussi de façon individuelle \n" " pour chaque application. Dans ce cas, il faut utiliser l'option dédiée " "dans le menu Propriétés. Cette \n" " option n'est utilisable que si le fichier sélectionné est exécutable. " "Désactiver la notification \n" " de démarrage peut s'avérer utile au démarrage des applications " "anciennes, qui ne \n" " reconnaissent pas le protocole de notification de démarrage (ex : " "Xterm).\n" "\n" " Mode root\n" " - Si vous utilisez le mode sudo root, il peut s'avérer utile d'ajouter " "le retour visuel de mot de passe\n" " à la commande sudo. Pour cela, éditez votre fichier /etc/sudoers comme " "suit :\n" " sudo visudo -f /etc/sudoers\n" " et ensuite, ajoutez 'pwfeedback' aux options par défaut, comme ci-" "dessous :\n" " Defaults env_reset,pwfeedback\n" " Par la suite, vous devriez voir des astérisques (comme *****) lorsque " "vous tapez votre mot de passe\n" " dans la petite fenêtre d'authentification.\n" "\n" "\n" "\n" " Bogues\n" " =-=-=-=\n" "\n" " Si vous trouvez des bogues, veuillez les rapporter à Roland Baudin " ". N'oubliez pas d'indiquer \n" " la version de Xfe que vous utilisez, la version de la bibliothèque FOX, " "ainsi que le nom de votre système \n" " et bien sûr sa version.\n" "\n" "\n" "\n" " Traductions\n" " =-=-=-=-=-=\n" "\n" " Xfe est disponible dans 23 langues, mais de nombreuses traductions sont " "incomplètes. Pour traduire Xfe \n" " dans votre langue, ouvrez avec un logiciel tel que poedit, kbabel ou " "gtranslator le fichier xfe.pot situé \n" " dans le dossier po de l'arborescence des sources, puis remplacez les " "chaînes de caractères par leur traduction \n" " (attention aux raccourcis et au caractères de format). Enfin, envoyez-moi " "le fichier, je serai ravi de l'intégrer \n" " dans la future release de Xfe.\n" "\n" "\n" "\n" " Patches\n" " =-=-=-=\n" "\n" " Si vous écrivez un patch intéressant, n'hésitez pas à me le faire parvenir. " "J'essaierai de l'inclure dans \n" " la prochaine version...\n" "\n" "\n" " Merci à Maxim Baranov pour son excellent X Win Commander et à tous ceux qui " "ont contribué de près ou de loin \n" " par des patchs, des traductions, des tests ou des conseils.\n" "\n" " [Dernière révision : 28/11/2015]\n" "\n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Raccourcis claviers &globaux" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ces raccourcis claviers sont communs à toutes les applications Xfe.\n" "Double-cliquez sur un élément de la liste pour modifier le raccourci clavier " "sélectionné..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Raccourcis claviers de X&fe" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ces raccourcis claviers sont spécifiques à l'application X File Explorer.\n" "Double-cliquez sur un élément de la liste pour modifier le raccourci clavier " "sélectionné..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Raccourcis claviers de Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ces raccourcis claviers sont spécifiques à l'application X File Image.\n" "Double-cliquez sur un élément de la liste pour modifier le raccourci clavier " "sélectionné..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Raccourcis claviers de Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Ces raccourcis claviers sont spécifiques à l'application X File Write.\n" "Double-cliquez sur un élément de la liste pour modifier le raccourci clavier " "sélectionné..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Action" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Clé de registre" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Raccourci clavier" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" "Appuyez sur la combinaison de touches que vous désirez affecter à l'action : " "%s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[Appuyer sur la touche espace pour désactiver le raccourci clavier de cette " "action]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modifier le raccourci claviers" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Le raccourci clavier %s est déjà utilisé dans la section globale.\n" "Vous devriez effacer le raccourci existant avant de l'affecter à nouveau." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Le raccourci clavier %s est déjà utilisé dans la section Xfe.\n" "Vous devriez effacer le raccourci existant avant de l'affecter à nouveau." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Le raccourci clavier %s est déjà utilisé dans la section Xfi.\n" "Vous devriez effacer le raccourci existant avant de l'affecter à nouveau." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Le raccourci clavier %s est déjà utilisé dans la section Xfw.\n" "Vous devriez effacer le raccourci existant avant de l'affecter à nouveau." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Erreur : Ne peut entrer dans le dossier %s : %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Erreur : Ne peut entrer dans le dossier %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Erreur : Ne peut ouvrir le display\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Démarrage de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Erreur : Ne peut exécuter la commande %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Erreur : Ne peut fermer le dossier %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "octets" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "Go" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "Mo" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "copie" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Erreur : Ne peut lire la liste de groupes : %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Erreur : Ne peut lire la liste de groupes" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Gestionnaire de fichiers" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un gestionnaire de fichiers léger pour X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visualiseur d'images" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visualiseur d'images simple pour Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Éditeur de texte" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un éditeur de texte simple pour Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gestionnaire de paquets" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un gestionnaire de paquets simple pour Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Afficher deux panneaux" #~ msgid "Panel does not have focus" #~ msgstr "Le panneau n'a pas le focus" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Dossiers" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Dossiers" #~ msgid "Confirm Properties" #~ msgstr "Confirmer changer les propriétés" #~ msgid "P&roperties..." #~ msgstr "Proprié&tés..." #~ msgid "&Properties..." #~ msgstr "&Propriétés..." #~ msgid "&About X File Write..." #~ msgstr "&À propos de X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Ne peut entrer dans le dossier %s : %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Ne peut entrer dans le dossier %s : %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Ne peut créer le dossier'files' de la corbeille %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Ne peut exécuter la commande %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Ne peut entrer dans le dossier %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Ne peut créer le dossier 'files' de la corbeille %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Ne peut créer le dossier 'info' de la corbeille %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Ne peut créer le dossier 'info' de la corbeille %s" #~ msgid "Delete: " #~ msgstr "Supprimer : " #~ msgid "File: " #~ msgstr "Fichier : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "À propos de X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Panneau &droit" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Panneau &gauche" #, fuzzy #~ msgid "Error " #~ msgstr "Erreur" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Ne peut entrer dans le dossier %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Exécuter une commande..." #, fuzzy #~ msgid "Command log " #~ msgstr "Journal de la commande" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Ne peut créer le dossier'files' de la corbeille %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "Fichier non trouvé : %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Ne peut renommer vers la destination %s : %s" xfe-1.42/po/pt_BR.po0000644000175100017510000056041712746115274011157 00000000000000# translation of pt_BR.po to Português do Brasil # Portuguese/Brazil translation of xfe. # Copyright (C) 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. # This file is distributed under the same license as the xfe package. # # José Carlos Medeiros , 2006. # Phantom X , 2007, 2008. # Phantom X , 2009, 2010. # Phantom X , 2012, 2013, 2014. msgid "" msgstr "" "Project-Id-Version: pt_BR\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2014-12-17 00:20-0200\n" "Last-Translator: Phantom X \n" "Language-Team: Brazilian Portuguese <>\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.5\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Uso: xfe [opções] [DIRETÓRIO|ARQUIVO...]\n" "\n" " [opções] podem ser:\n" "\n" " -h, --ajuda Exibe (esta) ajuda e sai.\n" " -v, --versão Exibe a versão e sai.\n" " -i, --iconizado Inicia iconizado.\n" " -m, --maximizado Inicia maximizado.\n" " -p n, --panel n Forçar modo de visão em painel para n (n=0 => " "Árvore e um painel,\n" " n=1 => Um painel, n=2 => Dois painéis, n=3 => " "Árvore e dois painéis).\n" "\n" " [DIRETÓRIO|ARQUIVO...] são os caminhos dos diretórios ou arquivos " "paraabir no início\n" " Os primeiros dois diretórios são exibidos nos painéis de arquivo, os " "outros são ignorados.\n" " O número de arquivos de arquivos para abrir não é limitado.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Aviso: Modo de painel desconhecido, reverta para o último modo de painel " "salvo\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Erro ao abrir os ícones" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Não foi possível abrir alguns ícones. Favor checar o caminho dos ícones!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Usuário" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Leitura" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escrita" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Execução" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Outros" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Especial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Aplicar UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Aplicar GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Pegajoso" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Dono" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Aplicar marcados" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Recursivamente" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Limpar marcados" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Arquivos e diretórios" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Adicionar marcados" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Somente diretórios" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Dono apenas" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Somente arquivos" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propriedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Aceitar" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancelar" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Geral" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permissões" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "A&ssociações de Arquivos" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensão:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descrição:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Abrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSelecione arquivo..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ver:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editar:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extrair:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalar/Atualizar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Ícone Grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Mini Ícone:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nome" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Aviso: o nome de arquivo não é codificado em UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de arquivos (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Diretório" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo de saída" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo de bloco" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Tubo nomeado" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Soquete" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Execução" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Ligação quebrada" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Ligação para " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Montar" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo de montagem:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Utilizado:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Livre:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de arquivos:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Endereço:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Tamanho total:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Ligação para:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Ligação quebrada para:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Localização original:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Data de modificação" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Modificado:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Criado:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Acessado:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notificação de Início" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Desativar notificação de início para este executável" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Data de Remoção:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Tamanho:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selecione:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Múltiplos tipos" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d itens" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d arquivos, %d diretórios" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Propriedades de arquivo" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Atenção" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Cancelado mover arquivo!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Erro" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Diretório %s não existe" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renomear arquivo" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Dono do arquivo" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Modificação de dono cancelada!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown em %s falhou: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown em %s falhou" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Aplicar permissões especiais pode ser inseguro. É isso que realmente deseja " "fazer?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permissões do arquivo" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Modificação de permissões de arquivos cancelada!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod em %s falhou" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s em %s itens selecionados" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Modificação de permissões de arquivos cancelada!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Selecione um arquivo executável" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Todos os arquivos" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imagens PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imagens GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imagens BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Selecione um arquivo de ícone" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u arquivos, %u subdiretórios" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copiar aqui" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Mover aqui" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Ligação aqui" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copiar arquivo" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mover arquivo" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s arquivos/diretórios.\n" "De: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s arquivos/diretórios.\n" "De: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Para:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Ocorreu um erro ao mover o arquivo!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Cancelado mover arquivo!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Ocorreu um erro ao copiar o arquivo!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Cancelado copiar arquivo!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Ponto de montagem %s não está respondendo..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Ligação para Diretório" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Diretórios" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Exibir diretórios ocultos" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Ocultar diretórios ocultos" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytes na raiz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Painel possui foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Painéis verticais" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Permissão para: %s negada." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Novo &diretório..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "D&iretórios ocultos" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Ignorar c&aixa" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Ord&em reversa" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Ex&pandir árvore" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Reduzir ár&vore" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Paine&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "M&ontar" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Desmon&tar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Adicionar ao pacote..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "C&olar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nomear..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Copiar Pa&ra..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover para..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "&Ligação simbólica para..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Mo&ver para a lixeira" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "R&estaurar da lixeira" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Remover" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propri&edades" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Impossível entrar no diretório %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Impossível entrar no diretório %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Criar um pacote" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s itens de: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renomear" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renomear " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copiar para" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s itens de: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Ligação simbólica " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Ligação simbólica de %s itens de: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s não é um diretório" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Ocorreu um erro ao criar a ligação simbólica para o arquivo!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Criação de ligação simbólica cancelada!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Remover o diretório %s definitivamente ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmar a remoção" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Remover o arquivo" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Diretório %s não está vazio, removê-lo assim mesmo?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Diretório %s está protegido contra gravação, removê-lo definitivamente assim " "mesmo?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Remoção de diretório cancelada!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Mover diretório %s para a lixeira?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Confirmar o Lixo" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Mover para a lixeira" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Diretório %s está protegido contra gravação, movê-lo para a lixeira assim " "mesmo?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Ocorreu um erro ao mover para a lixeira!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Operação de remoção para a lixeira cancelada!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Restaurar da lixeira" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Restaurar diretório %s para sua localização original %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Confirmar a Restauração" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Restaurar informação não disponível para %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Diretório pai %s não existe, deseja criá-lo?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Impossível criar diretório %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Impossível criar diretório %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Ocorreu um erro ao restaurar da lixeira!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Operação de restauração da lixeira cancelada!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Criar novo diretório:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Novo diretório" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Impossível executar comando %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de arquivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " o diretório:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operação cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " na raiz" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Origem:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destino:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Dados copiados:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Dados movidos:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Remove:" #: ../src/File.cpp:136 msgid "From:" msgstr "De:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Modificando permissões..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Arquivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Modificando dono..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montar sistema de arquivos..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montar o diretório:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmontar sistema de arquivos..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Desmontar o diretório:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Diretório %s já existe.\n" "Sobrescrevê-lo?\n" "=> Cuidado, todos os arquivos neste diretório serão perdidos definitivamente!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Arquivo %s já existe.\n" "Sobrescrever?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmar a Sobrescrita" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Impossível copiar arquivo %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Impossível copiar arquivo %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Origem: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Impossível preservar data ao copiar arquivo %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Impossível preservar data ao copiar arquivo %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossível copiar diretório %s: Permissão negada" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossível copiar arquivo %s: Permissão negada" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Impossível preservar dados ao copiar diretório %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Impossível preservar data ao copiar diretório %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "A origem %s não existe" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "O destino %s é igual à origem" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "O alvo %s é um subdiretório da origem" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Remover diretório: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "De: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Impossível remover o diretório %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Impossível remover o diretório %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Impossível remover o arquivo %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Impossível remover o arquivo %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Arquivo ou diretório %s já existe" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Impossível renomear para o destino %s: %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Impossível criar nova ligação simbólica %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Impossível criar nova ligação simbólica %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Diretório: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extrair pacote" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Adicionar ao pacote" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Falha no comando: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Sucesso" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "O diretório %s foi montado com sucesso." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "O diretório %s foi desmontado com sucesso." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalar/Atualizar pacote" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalando o pacote: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Desinstalar o pacote" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Desinstalando o pacote: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nome do &arquivo:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltrar arquivos:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Somente leitura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Ir para o diretório anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Ir para o próximo diretório" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Ir para o diretório pai" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Ir para o diretório pessoal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Ir para diretório de trabalho" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Novo diretório" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Lista com ícones grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Lista com ícones pequenos" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Lista detalhada de arquivos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Exibir arquivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Não exibir arquivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Exibir miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Não exibir miniaturas" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Criar novo diretório..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Criar novo arquivo..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Novo arquivo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Arquivo ou diretório %s já existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Ir para diretório do &usuário" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Ir &trabalhar" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Novo &arquivo..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Novo &diretório..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Arquivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Mi&niaturas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Ícones &pequenos" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "&Lista inteira de arquivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Linhas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Colunas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Tamanho automático" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "&Tamanho" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtensão" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Usuário" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Dir&etórios primeiro" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Ord&em reversa" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Família:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Tamanho:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Codificação:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Qualquer" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europeu Ocidental" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europeu Ocidental" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Sul Europeu" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Norte Europeu" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arábico" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Grego" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebraico" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Tailandês" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Céltico" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Russo" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europa Central (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Russo (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latino1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Grego (cp1251)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turco (cp1251)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreu (cp1251)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arábico (cp1251)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Báltico (cp1251)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Tailandês (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Configurar Largura:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra condensado" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra condensado" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semi condensado" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra expandido" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra expandido" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Espaçamento:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fixo" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variável" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Escalável:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Todas as Fontes:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lançar o Xfe como superusuário" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Não" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sim" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Sai&r" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Salvar" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sim para &Todos" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Entre com a senha de usuário:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Entre com a senha de superusuário:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Ocorreu um erro!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nome: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamanho na raiz: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data de modificação: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuário: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permissões: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Caminho original: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data de remoção: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Tamanho: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Tamanho" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extensão" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Data de modificação" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permissões" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Impossível abrir a imagem: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Caminho original" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data de remoção" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "O arquivo %s é um arquivo de texto executável, o que deseja fazer?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Confirmar a execução" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "O nome do arquivo está vazio, operação cancelada" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Para o diretório:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Impossível gravar na localização da lizeira %s: Permissão negada" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Mover arquivo %s para a lixeira?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Mover %s itens selecionados para a lixeira?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "Arquivo %s está protegido contra gravação, mover para lixeira assim mesmo?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Operação de remoção para a lixeira cancelada!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Restaurar arquivo %s para sua localização original %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Restaurar %sitens selecionados para suas localizações originais?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Impossível criar diretório %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Remover o arquivo %s definitivamente ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Remover definitivamente %s itens selecionados?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Arquivo %s está protegido contra gravação, removê-lo assim mesmo?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Operação de remoção de arquivo cancelada!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Comparar" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Com:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Programa %s não encontrado. Por favor, defina um programa comparador de " "arquivos no diálogo de Preferências!" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Criar novo arquivo:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Impossível criar arquivo %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Impossível criar arquivo %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Impossível aplicar permissões em %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Impossível aplicar permissões em %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Criar nova ligação simbólica:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nova Ligação Simbólica" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Selecione o arquivo ou diretório referenciado pela ligação simbólica" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "A origem da ligação simbólica %s não existe" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Abrir arquivo(s) selecionado(s) com:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Abrir com" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&ssociar" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Exibir arquivos:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Novo& arquivo..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nova &ligação simbólica..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Lista &inteira de arquivos" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Per&missões" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Nov&o arquivo..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "A&brir com..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&air para o diretório " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Extrair aqui" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "E&xtrair para..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "I&nstalar/Atualizar" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Com¶r..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Com¶r" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Pesquisa de &pacotes " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "&Ir para o diretório de scripts" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Copiar Pa&ra..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "M&over para a lixeira" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "&Restaurar da lixeira" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Comparar" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Propriedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Selecione um diretório de destino" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Todos os arquivos" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalar/Atualizar Pacote" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Desinstalar Pacote" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Erro: Falha no fork: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Impossível criar diretório de script %s: %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Impossível criar diretório de script %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Não encontrado um gerenciador de pacotes (rpm ou dpkg) compatível!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Arquivo %s não pertence a nenhum pacote." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informação" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Arquivo %s pertence ao pacote: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Texto selecionado:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s em %s itens selecionados" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " itens" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Ligação" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtro: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "O número máximo de marcadores foi alcançado. O último marcador será " "removido..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirmar Limpar Marcadores" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Deseja realmente limpar todos os seus marcadores?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Fechar" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossível duplicar pipes: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Impossível duplicar pipes" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FIM DO COMANDO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSelecionar destino..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Selecione um arquivo" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Slecione um arquivo ou um diretório de destino" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Adicionar ao pacote" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Novo nome de arquivo:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formato:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormato do arquivo é tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tFormato do arquivo é zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tFormato do arquivo é 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tFormato do arquivo é tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tFormato do arquivo é tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormato do arquivo é tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormato do arquivo é tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormato do arquivo é gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormato do arquivo é bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tFormato do arquivo é xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormato do arquivo é Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferências" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema atual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opções" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Utilizar a lixeira ao remover arquivos (remoção segura)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir um comando para não passar pela lixeira (remoção permanente)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Salvar layout automaticamente" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Salvar posição da janela" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Clique simples abre o diretório" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Clique simples abre o arquivo" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Exibir dicas de ferramentas nas lista de arquivo e diretório" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Redimensionamento relativo de listas de arquivo" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Exibir um ligador de caminho acima de listas de arquivo" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notificar quando aplicações iniciam" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formato de data usado em listas de arquivo e diretórios:\n" "(Digite \"man strftime' em um terminal para ajuda no formato)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Modos" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Modo de início" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Iniciar no diretório pessoal" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Iniciar no diretório atual" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Iniciar no último diretório visitado" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Modo de rolagem" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Rolagem suave em listas de arquivos e janelas de texto" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Aceleração do scroll do mouse:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Modo Superusuário" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Permitir modo superusuário" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autenticação usando su (usa senha de superusuário)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autenticação usando sudo (usa senha de usuário)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Confirmações" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renomear/criar ligação simbólica" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Confirmar \"arrastar e soltar\"" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover para/restaurar da lixeira" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Confirmar a remoção" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Confirmar a remoção de diretórios não vazios" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmar a sobrescrita" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Confirmar a execução de arquivos de texto" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Propriedades de arquivo" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Avisar ao configurar diretório atual na lista de janela" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avisar quando pontos de montagem não responderem" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Exibir mensagens de sucesso ao montar/desmontar" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avisar quando a preservação de data falhar" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avisar se executar como superusuário" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programas padrão" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visualizador de texto:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Comparação de arquivos:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor de imagens:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visualizador de imagens:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Arquivador:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Visualizador de PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Reprodutor de áudio:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Reprodutor de vídeo:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temas" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Tema de cor" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Cores personalizadas" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Clique duplo para personalizar a cor" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Cor de base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Cor de borda" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Cor de plano de fundo" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Cor do texto" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Cor de fundo de seleção" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Cor de do texto de seleção" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Cor de fundo de Lista de arquivos" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Cor de texto da lista de arquivos" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Cor de destaque da lista de arquivos" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Cor da barra de progresso" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Cor de atenção" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Cor da barra de progresso" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Padrão (cores clássicas)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (controles com visual moderno)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Caminho do tema de ícones" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSelecionar caminho..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fontes" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fontes" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Fonte normal:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Selecionar..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Fonte do texto:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Atalhos de Teclas" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atalhos de Teclas" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modificar atalhos de teclas..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Restaurar atalhos de tecla padrões..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Selecione um diretório de tema de ícones ou um arquivo de ícone" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Mudar a Fonte normal" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Mudar fonte do texto" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Criar novo arquivo" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Criar novo diretório" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copiar para a área de transferência" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Cortar para a área de transferência" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Colar da área de transferência" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Abrir arquivo" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Sair da aplicação" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Selecionar tudo" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Desmarcar tudo" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Inverter seleção" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Exibir ajuda" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Alternar exibição de arquivos ocultos" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Alternar exibição de miniaturas" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Fechar janela" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Imprimir arquivo" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Pesquisar" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Pesquisar anterior" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Pesquisar próximo" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Painéis verticais" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Painéis horizontais" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Atualizar painéis" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Criar nova ligação simbólica" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Propriedades de arquivo" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Mover arquivos para a lixeira" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Restaurar arquivos da lixeira" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Remover diretório: " #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Criar nova janela" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Criar nova janela como superusuário" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Executar comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lançar terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montar sistema de arquivos (somente Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Desmontar sistema de arquivos (somente Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Modo de um painel" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Modo árvore e painel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Modo de dois painéis" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Modo árvore e dois painéis" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Limpar barra de endereços" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Renomear arquivo" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copiar arquivos para localização" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Mover arquivos para localização" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Ligação simbólica de arquivos para localização" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Adicionar marcador" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Sincronizar painéis" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Trocar painéis" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Ir para a lixeira" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Limpar a lixeira" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Alternar exibição de arquivos ocultos" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrar arquivos" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Ampliar imagem para 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Ampliar para caber na janela" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Rotacionar imagem para esquerda" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Rotacionar imagem para direita" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Espelhar imagem horizontalmente" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Espelhar imagem verticalmente" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Criar novo documento" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Salvar alterações para arquivo" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir para a linha" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Desfazer a última alteração" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Refazer a última alteração" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Substituir expressão" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Alternar modo de quebra de linhas" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Alternar modo de numeração de linhas" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Alternar modo de caixa baixa" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Alternar modo de caixa alta" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Você deseja realmente restaurar as atribuições de teclas padrões?\n" "\n" "Todos as suas personalizações serão perdidas!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Restaurar atalhos de tecla padrões" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Atalhos de tecla serão alterados após o reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "O modo de rolagem será alterado após o reinício.\n" "Reiniciar o X File Explorer agora?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "O tema será alterado após o reinício.\n" "Reiniciar o X File Explorer agora?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "O ligador de caminho será alterado após o reinício.\n" "Reiniciar o X File Explorer agora?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "O estilo de botão será alterado após o reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte Normal será alterada após o reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A fonte do texto será alterada após o reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Pular" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Saltar T&odos" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Tamanho da origem:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Data de modificação:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Tamanho do destino:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&xecutar" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Executar em &Modo Console" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Fechar" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Atualizar painel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar arquivos selecionados para área de transferência" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar arquivos selecionados para área de transferência" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Exibir propriedades dos arquivos selecionados" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover os arquivos selecionados para a lixeira" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Remover arquivos selecionados" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Diretório atual foi configurado para '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Lista detal&hada" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar caixa" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "Dimensionamento &automático" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Pesquisa de &pacotes" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Ir para o diretório pai" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Copiar %s itens" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Mover %s itens" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Ligação simbólica de %s itens" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Você deve inserir um caminho absoluto!" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 itens" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Encontrar arquivos:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "Ignorar caixa\tIgnorar caixa de nome de arquivo" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Arquivos ocultos\tExibir arquivos e diretórios ocultos." #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "No diretório:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tNo diretório..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Texto contém:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "Ignorar caixa\tIgnorar caixa de texto" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Mais opções" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Opções de pesquisa" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Reconfigurar\tReconfigurar opções de pesquisa" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Tamanho mínimo:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtrar pelo tamanho mínimo de arquivo (KBytes)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Tamanho total:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtrar pelo tamanho máximo de arquivo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Última modificação antes de:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtrar pela data de modificação máxima (dias)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Dias" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Última modificação após:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtrar pela data de modificação mínima (dias)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Usuário:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrar pelo nome de usuário" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrar pelo nome de grupo" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Tipo de de arquivo:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Arquivo" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrar pelo tipo de arquivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Permissões:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar pelas permissões (octal)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Arquivos vazios:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tSomente arquivos vazios" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Seguir ligações simbólicas:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tPesquisar enquanto segue ligações simbólicas" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Não recursivo:" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNão pesquisar em diretórios recursivamente" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Ignorar outros sistemas de arquivos:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNão pesquisar em outros sistema de arquivos" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar a pesquisa (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Parar\tParar a pesquisa (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Pesquisa iniciada - Por favor espere... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Resultados da pesquisa <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Erro de entrada/saída" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Pesquisa parada... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Selecionar caminho" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Criar nova ligação simbólica" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaurar os arquivos selecionados da lixeira" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Lançar o Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Pesquisar arquivos e diretórios..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montar (somente Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Desmontar (somente Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Exibir um painel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Exibir árvore e painel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Exibir dois painéis" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Exibir árvore e dois painéis" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Limpar barra de endereços" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ir para a localização" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Novo &diretório..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ir para diretório &pessoal" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Atualiza&r" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Copiar para..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Ligação &simbólica para..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Propriedades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Arquivo" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Selecionar tudo" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Desmarcar tudo" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Inverter seleção" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&referências" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Barra &geral" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Barra de ferramentas" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Barra &painel" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de &endereço" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra de &status" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Um painel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Á&rvore e painel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dois &painéis" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Árvor&e e dois painéis" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "Painéis &verticais" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "Painéis &horizontais" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Adicionar marcador" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Limpar marcadores" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Marcadores" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "M&iniaturas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Ícones &grandes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "D&ata" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Usuár&io" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Gru&po" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "&Diretórios primeiro" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Painel &esquerdo" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtro" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "D&iretórios primeiro" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Painel &direito" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nova &janela" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nova janela como &superusuário" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "E&xecutar comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizar painéis" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "T&rocar painéis" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ir para o diretório de scripts" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Pesquisar..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Desmontar" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Ferramentas" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Ir para a lixeira" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Tamanho da lixeira" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Limpar a lixeira" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Li&xo" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Ajuda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Sobre X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Executando Xfe como superusuário!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Iniciando do Xfe 1.32, a localização dos arquivos de configuração mudaram " "para %s.\n" "Note que você pode editar manualmente os novos arquivos de configuração para " "importar suas personalizações antigas..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Impossível criar diretório de config do Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Impossível criar diretório de config do Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Arquivo xferc global não encontrado! Favor selecionar o arquivo de " "configuração..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "arquivo de configuração do XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Impossível criar diretório 'files' da lixeira %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Impossível criar diretório 'files' da lixeira %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Impossível criar diretório 'info' da lixeira %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Impossível criar diretório 'info' da lixeira %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "Versão do X File Explorer %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Baseado no X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Tradutores\n" "-------------\n" "Alemão: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Bosniano: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalão: muzzol\n" "Chinês: Xin Li\n" "Chinês (Taïwan): Wei-Lun Chao\n" "Dinamarquês: Jonas Bardino, Vidar Jon Bauge\n" "Espanhol: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Espanhol Argentino: Bruno Gilberto Luciani\n" "Espanhol Colombiano: Vladimir Támara (Pasos de Jesús)\n" "Francês: Claude Leo Mercier, Roland Baudin\n" "Grego: Nikos Papadopoulos\n" "Holandês: Hans Strijards\n" "Húngaro: Attila Szervac, Sandor Sipos\n" "Italiano: Claudio Fontana, Giorgio Moscardi\n" "Japonês: Karl Skewes\n" "Norueguês: Vidar Jon Bauge\n" "Polonês: Jacek Dziura, Franciszek Janowski\n" "Português: Miguel Santinho\n" "Português Brasileiro: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Russo: Dimitri Sertolov, Vad Vad\n" "Martin Carr\n" "Sueco: Anders F. Bjorklund\n" "Tcheco: David Vachulka\n" "Turco: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&Sobre X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Painel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Executar o comando:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modo console" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Pesquisar arquivos e diretórios" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Você deseja realmente limpar a lixeira?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " em " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Todos os itens serão perdidos definitivamente!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Tamanho da lixeira: %s (%s arquivos, %s subdiretórios)\n" "\n" "Data de modificação: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Tamanho da lixeira" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "O diretório 'files' da lixeira %s não é legível!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Comando não encontrado: %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Associação de arquivo inválida: %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Associação de arquivo não encontrada: %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferências" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Abrir pacote" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barra de ferramentas" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&Sobre X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalar/Atualizar" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Descrição" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Lista de arquivos" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package Versão %s é um simples gerenciador de pacotes deb ou rpm.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Sobre X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Pacotes fonte RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Pacotes DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Nenhum pacote aberto" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Formato desconhecido de pacote" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalar/Atualizar um Pacote" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Desinstalar um Pacote" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Pacote RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Pacote DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Consulta de %s falhou!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Erro abrindo arquivo" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Impossível abrir arquivo: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Uso: xfq [opções] [pacote] \n" "\n" " [opções] podem ser:\n" "\n" " -h, --help Exibe esta ajuda e sai.\n" " -v, --version Exibe as informações de versão e sai.\n" "\n" " [pacote] é o caminho do pacote DEB ou RPM que você que abrir ao " "iniciar.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Imagem GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Imagem BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Imagem XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Imagem PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Imagem ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Imagem RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Imagem XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Imagem TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Imagem PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Imagem PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Imagem JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Imagem TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Imagem" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Abre imagem." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Imprime a imagem." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Amplia a imagem." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Reduzir" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Reduz a imagem." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Amplia a imagem para 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Ampliar para caber" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Amplia para caber na janela." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Rotacionar para esquerda" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Rotaciona a imagem para esquerda." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Rotacionar para direita" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Rotaciona a imagem para direita." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Espelhar horizontalmente" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Espelha a imagem horizontalmente." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Espelhar verticalmente" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Espelha a imagem verticalmente." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Limpar arquivosrecentes" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Limpa menu de arquivos recentes." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Sai do Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Ampl&iar" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Red&uzir" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Ampliar para caber na &janela" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Rotacionar para &direita" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Rotaciona para direita." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Rotacionar para &esquerda" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Rotaciona para esquerda." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Espelhar &horizontalmente" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Espelha horizontalmente." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Espelhar &verticalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Esplha verticalmente." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Exibe arquivos e diretórios ocultos." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Exibe miniaturas." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Exibe diretório com ícones grandes." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Exibe diretório com ícones pequenos." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Lista de arquivos &detalhada" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Exibe lista detalhada do diretório." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Vê como fila." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Vê como colunas." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Dimensionar automaticamente nome de ícones." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Exibir barra de ferramentas." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "Lista de &arquivos" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Exibe a lista de arquivos." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Lista de arquivos &antes" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Exibe lista de arquivos antes da janela de imagem." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrar imagens" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Exibe somente arquivos de imagem." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Ajustar &janela ao abrir" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Amplia para caber na janela ao abrir uma imagem." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Sobre X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Sobre X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Versão %s é um simples visualizador de imagens.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Sobre X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Erro abrindo a imagem" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Tipo não suportado: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Impossível carregar a imagem, o arquivo pode estar corrompido" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "A mudança será aplicada após o reinício.\n" "Reiniciar o X File Image agora?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Abrir a imagem" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impressão:\n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Uso: xfi [opções] [imagem] \n" "\n" " [opções] podem ser:\n" "\n" " -h, --help Exibe esta ajuda e sai.\n" " -v, --version Exibe as informações de versão e sai.\n" "\n" " [imagem] é o caminho da imagem que você que abrir ou onde iniciar.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Preferências" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Texto" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Quebra de linha:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tamanho da tabulação:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Remover caracteres de retorno:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Cores" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Linhas" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Cor de fundo:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Texto:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Cor de fundo de texto selecionada:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Texto selecionado:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Cor de fundo destacada do texto:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Texto destacado:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Cor de fundo da numeração de linhas:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Cor da númeração de linhas:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Procurar" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Janela" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Linhas:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr "" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Linha:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Novo" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Cria novo documento." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Abre documento." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Salvar" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Salva o documento." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Fechar" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Fecha o documento." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprime o documento." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Sair" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Sai do X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copia a seleção para a área de transferência." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Cortar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Corta a seleção para a área de transferência." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Colar" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Cola a área de transferência." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Vai para a linha." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Desfazer" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Desfaz a última alteração." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Refazer" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Refaz última ação desfeita." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Procura texto." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Procurar seleção atrás" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Procura para trás o texto selecionado." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Procurar seleção a frente" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Procura a frente o texto selecionado." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Ativar quebra de linha" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Ativa o modo de quebra de linhas." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Desativar quebra de linha" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Desativa o modo de quebra de linhas." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Exibir númeração de linha" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Exibe númeração de linha." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Ocultar númeração de linha" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Ocultar númeração de linha." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Novo..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Salva alterações para arquivo." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Salvar &Como..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Salva o documento em outro arquivo." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Fechar documento." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Limpar Arquivos Recentes" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "De&sfazer" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Refazer" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Reverter para &salvo" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Reverte para documento salvo." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Cor&tar" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Cola da área de transferência." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Caixa &baixa" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Alterna para caixa baixa." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Caixa &alta" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Alterna para caixa alta." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Ir para a linha..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Selecionar &Tudo" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Linha de &status" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Exibe a linha de status." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Procurar..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Procura por expressão." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Substitui&r..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Procura por uma expressão e substitue por outra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Procurar por seleção &atrás" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Procurar por seleção a &frente" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Quebra de linha" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Alterna o modo de quebra de linhas." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Númeração de &linha" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Alterna o modo de numeração de linhas." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "Linha &tachada" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Alterna o modo de linha tachada." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Fonte..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Altera fonte do texto." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Mais preferências..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Altera outras opções." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Sobre X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Sobre X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Arquivo muito grande: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Impossível abrir arquivo: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Erro Salvando o Arquivo" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "O arquivo é muito grande: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Arquivo: %s truncado." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "sem título" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "sem nome%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Versão %s é um simples editor de texto.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Sobre X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Mudar a Fonte" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Arquivos de texto" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Arquivos fonte C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Arquivo fonte C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Arquivos de Cabeçalho C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Arquivos HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Arquivos PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Documento não Salvo" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Salvar %s?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Salvar Documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Sobrescrever Documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Substituir o documento existente: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (alterado)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr " (somente leitura)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "SOMENTE LEITURA" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "O Arquivo foi Alterado" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "foi alterado por outro programa. Recarrego este arquivo?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Substituir" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Ir para a Linha" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "Ir p&ara a linha:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Uso: xfw [opções] [arquivo1] [arquivo2] [arquivo3]...\n" "\n" " [opções] podem ser:r\n" "\n" " -r, --read-only Abrir arquivos no modo somente leitura.\n" " -h, --help Exibe esta ajuda e sai.\n" " -v, --version Exibe as informações de versão e sai.\n" "\n" " [arquivo1] [arquivo2] [arquivo3]... são os caminhos dos arquivos que " "você que abrir ou onde iniciar.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Diretório raiz" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Pronto." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Substitui&r" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Su&bstituir Tudo" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Procurar por:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Substituir com:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Extr&air" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignorar Caixa" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpressão" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Voltar" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, Gerenciador de Arquivos X File Explorer\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Este arquivo de ajuda é melhor visualizado em um fonte de texto fixa. " "Você pode configurá-la na aba de fonte no diálogo de Preferências.]\n" " \n" " \n" " \n" " Este programa é software livre, você pode redistribuí-lo e/ou modificá-lo " "sob os termos da GNU\n" " General Public License como publicado pela Free Software Foundation; tanto " "a versão 2, ou (em sua opção) \n" "qualquer versão posterior.\n" " \n" " Este programa é distribuído na esperança de que será útil, mas SEM QUALQUER " "GARANTIA; \n" " nem mesmo a garantia implicada de MERCANTIBILIDADE ou ADEQUAÇÂO A UM " "PROPÓSITO PARTICULAR. \n" " Veja a GNU General Public License para mais detalhes.\n" " \n" " \n" " \n" " Descrição\n" " =-=-=-=-=\n" " \n" " X File Explorer (Xfe) é um gerenciador de arquivos leve para X11, escrito " "usando o toolkit FOX.\n" " Ele é independente de ambiente desktop e pode facilmente ser " "personalizado.\n" " Ele possui estilos Commander ou Explorer e é muito rápido e pequeno.\n" " Xfe é baseado no popular, mas descontinuado X Win Commander, escrito por " "Maxim Baranov.\n" " \n" " \n" " \n" " Características\n" " =-=-=-=-=-=-=-=\n" " \n" " - Interface gráfica de usuário muito rápida\n" " - Suporte a UTF-8\n" " - Interface Commander/Explorer com quatro modos de gerência de " "arquivos : a) um painel, b) uma árvore de diretórios\n" " e um painel, c) dois painéis e d) uma árvore de diretórios e dois " "painéis\n" " - Sincronização e troca de Painéis\n" " - Editor de texto integrado (X File Write, Xfw)\n" " - Visualizador de texto integrado (X File View, Xfv)\n" " - Visualizador de imagens integrado (X File Image, Xfi)\n" " - Visualizador / instalador / desinstalador de pacotes (rpm ou deb) " "integrado (X File Package, Xfp)\n" " - Scripts shell personalizados (como scripts do Nautilus)\n" " - Pesquisar arquivos e diretórios\n" " - Copiar/Cortar/Colar arquivos de e para seu ambiente desktop favorito " "(GNOME/KDE/XFCE/ROX)\n" " - Arrastar e soltar (Drag and Drop) arquivos de e para seu ambiente " "desktop favorito (GNOME/KDE/XFCE/ROX)\n" " - Modo Superusuário (root) com autenticação por su ou sudo\n" " - Linha de Status\n" " - Associações de arquivo\n" " - Lixeira opcional para operações de remoção de arquivos (de acordo com " "padrão da freedesktop.org)\n" " - Salvamento automático de registros\n" " - Clique duplo ou clique único e navegação por diretórios\n" " - Menu de contexto com clique com o botão direito do mouse na lista em " "árvore e na lista de arquivos\n" " - Alterar atributos de arquivo(s)\n" " - Montar/Desmontar dispositivos (somente Linux)\n" " - Avisar quando o ponto de montagem não responder (somente Linux)\n" " - Barras de ferramentas\n" " - Marcadores\n" " - Retornar e avançar históricos para navegação de diretórios\n" " - Temas de cor (GNOME, KDE, Windows...)\n" " - Temas de ícones (Xfe, GNOME, XFCE, Tango, Windows...)\n" " - Temas de controles (Comum ou tipo Clearlooks)\n" " - Criar arquivos compactados (os formatos de compressão tar, zip, gzip, " "bzip2, xz e 7zip são suportados\n" " - Comparação de arquivos (através de ferramenta externa)\n" " - Criar/Extrair arquivos compactados (os formatos de compressão tar, " "zip, gzip, bzip2, xz, lzh, rar, ace, arj e 7zip são suportados\n" " - Dicas de ferramentas com propriedades de arquivo\n" " - Barras de progresso ou diálogos para operações de arquivos demoradas\n" " - Pré-visualizações de imagens em miniaturas\n" " - Atalhos de tecla configuráveis\n" " - Notificação de início(opcional)\n" " - e muito mais...\n" " \n" " \n" " \n" " Atalhos de teclado padrão:\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=\n" "\n" " Abaixo estão os atalhos de tecla. Estes atalhos são comuns a qualquer " "aplicação X File.\n" " \n" " * Selecionar tudo - Ctrl-A\n" " * Copias para área de transferência - Ctrl-C\n" " * Pesquisar - Ctrl-F\n" " * Pesquisar anterior - Shift-Ctrl-G\n" " * Pesquisar próximo - Ctrl-G\n" " * Ira para diretório pessoal - Ctrl-H\n" " * Inverter seleção - Ctrl-I\n" " *-Abrir arquivo - Ctrl-O\n" " * Imprimir arquivo - Ctrl-P\n" " * Sair da aplicação - Ctrl-Q\n" " * Colar da área de transferência - Ctrl-V\n" " * Fechar janela - Ctrl-W\n" " * Cortar para área de transferência - Ctrl-X\n" " * Desmarcar tudo - Ctrl-Z\n" " * Exibir ajuda - F1\n" " * Criar novo arquivo - F2\n" " * Criar novo diretório - F7\n" " * Lista com ícones grande - F10\n" " * Lista com ícones pequenos - F11\n" " * Lista de arquivos detalhada - F12\n" " * Alternar exibir arquivos ocultos - Ctrl-F6\n" " * Alternar exibição de miniaturas - Ctrl-F7\n" " * Ir para diretório de trabalho - Shift-F2\n" " * Ira para diretório pai - Backspace\n" " * Ir para diretório anterior - Ctrl-Backspace\n" " * Ir para diretório posterior - Shift-Backspace\n" " \n" " \n" " Abaixo estão os atalhos de tecla padrões do X File Explorer. Estes atalhos " "são específicos a aplicação Xfe.\n" " \n" " * Adicionar marcador - Ctrl-B\n" " * Filtrar arquivos - Ctrl-D\n" " * Executar comando - Ctrl-E\n" " * Criat nova ligação simbólica - Ctrl-J\n" " * Trocar painéis - Ctrl-K\n" " * Limpar barra de localização - Ctrl-L\n" " * Montar (somente Linux) - Ctrl-M\n" " * Renomear arquivo - Ctrl-N\n" " * Atualizar painéis - Ctrl-R\n" " * Ligação simbólica de arquivos para - Ctrl-S\n" " * Lançar terminal - Ctrl-T\n" " * Desmontar (somente Linux) - Ctrl-U\n" " * Sincronizar painéis - Ctrl-Y\n" " * Criar nova janela - F3\n" " * Editar - F4\n" " * Copiar arquivos para localização - F5\n" " * Mover arquivos para localização - F6\n" " * Propriedades de arquivos - F9\n" " * Modo de um painel - Ctrl-F1\n" " * Modo árvore e um painel - Ctrl-F2\n" " * Modo de dois painéis - Ctrl-F3\n" " * Modo árvore e dois painéis - Ctrl-F4\n" " * Alternar exibição de diretórios ocultos - Ctrl-F5\n" " * Ir para lixeira - Ctrl-F8\n" " * Criar nova janela como superusuário - Shift-F3\n" " * Ver - Shift-F4\n" " * Mover arquivos para lixeira - Del\n" " * Restaurar arquivos da lixeira - Alt-Del\n" " * Remover arquivos - Shift-Del\n" " * Limpar lixeira - Ctrl-Del\n" " \n" " \n" " Abaixo estão os atalhos de tecla padrão do X File Image. Estes atalhos são " "específicos a aplicação Xfi.\n" " \n" " * Ampliar para caber na janela - Ctrl-F\n" " * Espelhar imagem horizontalmente - Ctrl-H\n" " * Ampliar imagem para 100% - Ctrl-I\n" " * Rotacionar imagem para esquerda - Ctrl-L\n" " * Rotacionar imagem para direita - Ctrl-R\n" " * Espelhar imagem verticalmente - Ctrl-V\n" " \n" " \n" " Abaixo estão os atalhos de tecla padrão do X File Write. Estes atalhos são " "específicos a aplicação Xfw.\n" " \n" " * Alternar modo de quebra de linha - Ctrl-K\n" " * Ir para linha - Ctrl-L\n" " * Criar novo documento - Ctrl-N\n" " * Substituir expressão - Ctrl-R\n" " * Salvar alterações para arquivo - Ctrl-S\n" " * Alternar modo de númeração de linhas - Ctrl-T\n" " * Alternar modo caixa alta - Shift-Ctrl-U\n" " * Alternar modo caixa baixa - Ctrl-U\n" " * Refazer última alteração - Ctrl-Y\n" " * Desfazer última alteração - Ctrl-Z\n" " \n" " \n" " X File View (Xfv) e X File Package (Xfp) somente utilizam alguns dos " "atalhos de tecla globais\n" " \n" " Note que todos os atalhos de tecla globais listados acima podem ser " "personalizados no diálogo de Preferências do Xfe. Entretanto,\n" " algumas ações de teclas são fixas e não podem ser alteradas. Estas " "incluem:\n" " \n" " * Ctrl-+ and Ctrl-- - Ampliar e reduzir imagem no Xfi\n" " * Shift-F10 - exibir menus de contexto no Xfe\n" " * Return - entrar em diretórios em listar de " "arquivo, abrir arquivos, selecionar ações de botão, etc.\n" " * Space - entrar em diretórios em listar de " "aquivo\n" " * Esc - fechar diálogo atual, desmarcar " "arquivos, etc.\n" " \n" " \n" " \n" " Operações de Arrastar e soltar (\"Drag and Drop\")\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Arrastar um arquivo ou grupo de arquivos (movendo o mouse enquanto mantém o " "o botão esquerdo pressionado)\n" " para um diretório ou um painel de arquivo opcionalmente abre um diálogo " "que permite selecionar uma operação no arquivo: copiar,\n" " mover, ligar ou cancelar.\n" " \n" " \n" " \n" " Sistema de lixeira\n" " =-=-=-=-=-=-=-=-=-=\n" " \n" " Iniciando pela versão 1.32, o Xfe implementa um sistema de lixeira que é " "totalmente compatível com os padrões da freedesktop.org.\n" " Isto permite ao usuário mover arquivos para a lixeira e recuperá-los do " "Xfe ou seu desktop\n" " favorito.\n" " Note que a localização dos arquivos de lixeira é agora em: ~/.local/share/" "Trash/files\n" " \n" " \n" " \n" " Configuração\n" " =-=-=-=-=-=-=\n" " \n" " Você pode efetuar qualquer personalização no Xfe (layout, associações de " "arquivo, ...) sem editar qualquer arquivo\n" "manualmente. Entretanto, você deve entender os princípios de configuração, " "porque algumas personalizações podem \n" "facilmente ser feitas editando os arquivos de configurações.\n" " Tenha o cuidado de sair do Xfe antes de editar manualmente qualquer arquivo " "de configuração, senão as mudanças podem não ser pegas na conta.\n" " \n" " O arquivo de configuração de sistema xferc se localiza em /usr/share/xfe, /" "usr/local/share/xfe\n" "ou /opt/local/share/xfe, na ordem dada de precedência.\n" " \n" " iniciando pela versão 1.32, a localização dos arquivos de configuração " "locais mudaram. Isso é para ser compatível com\n" " o padrão da freedesktop.org.\n" " \n" " Os arquivos de configuração locais para o Xfe, Xfw, Xfv, Xfi, Xfp agora se " "localizam no diretório ~/.config/xfe.\n" " Eles estão nomeados como xferc, xfwrc, xfvrc, xfirc e xfprc.\n" " \n" " Na primeira execução do Xfe, o arquivo de configuração de sistema é copiado " "como o arquivo de configuração local\n" " ~/.config/xfe/xferc que não existe ainda. Se o arquivo de configuração de " "sistema não for encontrado\n" " (no caso de local de instalação não usual), um diálogo pedirá ao usuário " "para selecionar o lugar correto. Assim fica mais fácil\n" " personalizar o Xfe (é particularmente verdade para associações de arquivo) " "por edição manual, pois todas as opções locais\n" "se localizam no mesmo arquivo .\n" " \n" " Ícones PNG padrão se localizam em /usr/share/xfe/icons/xfe-theme ou /usr/" "local/share/xfe/icons/xfe-theme, dependendo\n" " de sua instalação. Você pode facilmente alterar o caminho do tema de " "ícones no diálogo de Preferências.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Scripts shell personalizados podem ser executados do Xfe nos arquivos " "selecionados em um painel. Você precisa antes\n" " selecionar os aquivos que quer tratar, então clicar com o direito na lista " "de arquivos e ir ao sub menu de Scripts. Por último, escolha\n" " o script que deseja aplicar nos arquivos selecionados.\n" " \n" " Os arquivos de script devem estar no diretório ~/.config/xfe/scripts e " "serem executáveis. Você pode organizar\n" " este diretório como quiser usando subdiretórios. Use o menu Ferramentas / " "Ir para ir diretamente ao diretório de script\n" " e gerenciá-lo.\n" " \n" " Aqui está um exemplo de um simples script shell que lista cada arquivo " "selecionado no terminal cujo Xfe foi lançado:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Você pode, é claro, usar programas como xmessage, zenity ou kdialog para " "exibir uma janela com botões que permitem\n" " interação com o script. Aqui está uma modificação do exemplo acima que usa " "xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Frequentemente, é possível usar diretamente scripts de Nautilus " "encontrados na Internet sem modificações.\n" " \n" " \n" " \n" " Idiomas Não Latinos\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe pode exibir sua interface de usuário e também o nome de arquivos em " "caracteres de idiomas não latinos, contanto que você\n" " tenha selecionado uma fonte Unicode que suporte seu conjunto de " "caracteres. Para selecionar uma fonte select a adequada, use o\n" " item de menu Editar / Preferências / Fonte.\n" " \n" " Fontes TrueType Unicode Multilinguais podem ser encontradas neste " "endereço: http://www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Dicas\n" " =-=-=\n" " \n" " Lista de arquivos\n" " - Selecione arquivos e clique com o botão direito para abrir um menu de " "contexto menu no diretório selecionado\n" " - Pressione Ctrl + clique direito para abrir um menu de contexto no " "painel de arquivo\n" " - Ao arrastar um arquivo/diretório para outro diretório, segure o mouse " "no diretório pra abrí-lo\n" " \n" " Lista em árvore\n" " - Selecione um arquivo e clique com o botão direito para abrir um menu " "de contexto menu no diretório selecionado\n" " - Pressione Ctrl + clique direito para abrir uma menu de contexto no " "painel de árvore\n" " - Ao arrastar um arquivo/diretório para outro diretório, segure o mouse " "para expandí-lo\n" " \n" " Copiar/Colar nomes de arquivo\n" " - Selecione um arquivo e pressione Ctrl-C para copiar seu nome para a " "área de transferência. Então em um diálogo, pressione Ctrl-V para colar\n" " o nome do arquivo.\n" " - Em um diálogo de operação de arquivo, selecione um nome de arquivo na " "linha contendo o nome fonte e cole-o diretamente\n" " para o destino usando o botão do meio do mouse. Então modifique-o " "para atender as suas necessidades.\n" " \n" " Notificação de início\n" " - Se o Xfe foi compilado com suporte a notificação de inicialização, o " "usuário pode desativá-lo para todas as aplicações em nível global\n" " de Preferências. Ele pode também desativá-lo para aplicações " "individuais, usando a opção dedicada na primeira aba\n" " do diálogo de Propriedades. Este último modo está disponível quando o " "arquivo é um executável.\n" " Desativar a notificação de inicialização pode ser útil ao iniciar uma " "aplicação antigaque não suporta o protocolo de\n" " notificação de inicialização (e.g. Xterm).\n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Por favor reporte bugs para Roland Baudin . Não\n" "esqueça de mencionar a versão do Xfe que você usa,\n" " a versão da biblioteca FOX e o nome e versão de seu sistema \n" " \n" " Traduções\n" " =-=-=-=-=-=\n" " \n" " Xfe está disponível agora em 23 idiomas, mas algumas traduções são somente " "parciais. Para traduzir o Xfe para o seu idioma,\n" " abra com um software como poedit, kbabel or gtranslator o arquivo xfe.pot " "no diretório po da árvore de fonte e\n" " preencha com com suas sentenças traduzidas (tenha cuidado com os atalhos " "de tecla e caracteres em formato c),\n" " e então envie de volta para mim. Eu ficarei grato em integrar seu trabalho " "no próximo lançamento do Xfe.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " Se você fizer algum patch interessante, por favor o envie para mim, " "tentarei incluí-lo no próximo lançamento...\n" " \n" " Muitos agradecimentos para Maxim Baranov por seu excelente X Win Commander " "e para todos que proveram patches úteis,\n" " testes, traduções e sugestões.]\n" " \n" " [Última revisão: 17/12/2014]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Atalhos de Tecla &Globais" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estes atalhos de tecla são comuns a todas aplicações do Xfe.\n" "Dê clique duplo em algum item para modificar o atalho selecionado..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Atalho de Tecla Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estes atalhos de tecla são específicos para a aplicação X File Explorer.\n" "Dê clique duplo em um item para modificar o atalho slecionado..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Atalhos de Tecla Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estes atalhos de tecla são específicos para a aplicação X File Image.\n" "Dê clique duplo em um item para modificar o atalho slecionado..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Atalhos de Tecla Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estes atalhos de tecla são específicos para a aplicação X File Write.\n" "Dê clique duplo em um item para modificar o atalho slecionado..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nome de Ação" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registrar Tecla" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Atalho de Tecla" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Pressione a combinação de teclas que deseja utilizar para a ação: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Pressione espaço para desativar o atalho de tecla para esta ação]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modificar Atalho de Tecla" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "O atalho de tecla %s já está em uso na seção global.\n" "\t Você deve apagar o atalho existente antes de atribuí-lo novamente." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "O atalho de tecla %s já está em uso na seção Xfe.\n" "\t Você deve apagar o atalho existente antes de atribuí-lo novamente." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "O atalho de tecla %s já está em uso na seção Xfi.\n" "\t Você deve apagar o atalho existente antes de atribuí-lo novamente." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "O atalho de tecla %s já está em uso na seção Xfw.\n" "\t Você deve apagar o atalho existente antes de atribuí-lo novamente." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Erro: Impossível entrar no diretório %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Erro: Impossível entrar no diretório %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Erro: Impossível abrir display\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Início de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Erro: Impossível executar comando %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Erro: Impossível fechar o diretório %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "copiar" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Erro: Impossível ler lista do grupo: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Erro: Impossível ler lista do grupo" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Gerenciador de Arquivos" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Um gerenciador de arquivos leve para o X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visualizador de Imagens" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Um simples visualizador de imagens para o Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor de Texto" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Um simples editor de texto para o Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gerenciador de Pacotes" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Um simples gerenciador de pacotes para o Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Exibir dois painéis" #~ msgid "Panel does not have focus" #~ msgstr "Painel não possui foco" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Diretórios" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Diretórios" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirmar a sobrescrita" #~ msgid "P&roperties..." #~ msgstr "&Propriedades..." #~ msgid "&Properties..." #~ msgstr "&Propriedades..." #~ msgid "&About X File Write..." #~ msgstr "&Sobre X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Impossível entrar no diretório %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Impossível entrar no diretório %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Impossível criar diretório 'files' da lixeira %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Impossível executar comando %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Impossível entrar no diretório %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Impossível criar diretório 'files' da lixeira %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Impossível criar diretório 'info' da lixeira %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Impossível criar diretório 'info' da lixeira %s" #~ msgid "Delete: " #~ msgstr "Remover: " #~ msgid "File: " #~ msgstr "Arquivo: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Sobre X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Painel &direito" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Painel &esquerdo" #, fuzzy #~ msgid "Error " #~ msgstr "Erro" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Impossível entrar no diretório %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Executar comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Registro de comandos" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Impossível criar diretório 'files' da lixeira %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "Arquivo não existente: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Impossível renomear para o destino %s: %s" xfe-1.42/po/LINGUAS0000644000175100017510000000016412204355232010607 00000000000000# Set of available languages fr de pt_PT pt_BR pl tr ca es es_AR es_CO it hu no da ru cs sv zh_CN zh_TW ja el bs nl xfe-1.42/po/no.po0000644000175100017510000051721012746115274010556 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2003 Roland Baudin # This file is distributed under the same license as the xfe package. # Vidar Jon Bauge , 2006 # msgid "" msgstr "" "Project-Id-Version: xfe 0.87\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2007-02-13 09:54+0100\n" "Last-Translator: Vidar Jon Bauge \n" "Language-Team: Norwegian\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "Bruk: xfe [valg] [sti] \n" "\n" " [valg] kan være en av følgende:\n" "\n" " -h, --help Vis (denne) hjelpeteksten og avslutt.\n" " -v, --version Vis versjonsopplysninger og avslutt.\n" " -i, --iconic Start som ikon.\n" " -m, --maximized Start maksimert.\n" "\n" " [sti] er stien til den mappe du vil åpne\n" " ved oppstart.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 #, fuzzy msgid "Error loading icons" msgstr "Feil under åpning av fil" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Bruker" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Les" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Skriv" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Kjør" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Gruppe" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Andre" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Eier" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Kommando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Sett markerte" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekursivt" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Fjern markerte" #: ../src/Properties.cpp:116 #, fuzzy msgid "Files and folders" msgstr "Skjulte mapper" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Legg til markerte" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Kun mapper" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Kun eier" #: ../src/Properties.cpp:120 #, fuzzy msgid "Files only" msgstr "Kun mapper" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Egenskaper" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Akksepter" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "Avbryt" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Generelt" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Rettigheter" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Filtilknytninger" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Endelse:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Beskrivelse:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Åpne:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 #, fuzzy msgid "\tSelect file..." msgstr " Velg..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Se på:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Rediger:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Pakk ut:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installer/Oppgrader:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Store Ikoner:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Små Ikoner:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Navn" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Filsystem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Mappe" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Kjørbar fil" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Ugyldige lenker" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Lenke til" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Monteringspunkt" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Monteringstype" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Brukt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Ledig:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Filsystem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plassering:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Total størrelse" #: ../src/Properties.cpp:690 #, fuzzy msgid "Link to:" msgstr "Lenke til" #: ../src/Properties.cpp:695 #, fuzzy msgid "Broken link to:" msgstr "Ugyldig lenke til " #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tTøm Adressefeltet\tTøm Adressefeltet." #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Fil tid" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Sist Modifisert:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Sist Endret:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Sist Åpnet:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "Utvalg" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Størrelse:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Utvalg" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Flere Typer" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr " Oppføringer" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Egenskaper" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Advarsel" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Flytting av filer avbrudt!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Sletning av fil avbrudt!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Feil" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Mappen %s finnes ikke" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Gi nytt navn" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Eier" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Endring av eier avbrudt!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Rettigheter" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Endring av rettigheter avbrudt!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod av %s mislykket: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " markerte filer" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Endring av rettigheter avbrudt!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 #, fuzzy msgid "Select an executable file" msgstr " Mappen :" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Alle filer" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG Billeder" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF Billeder" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP Billeder" #: ../src/Properties.cpp:1971 #, fuzzy msgid "Select an icon file" msgstr " Mappen :" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d oppføringer i %d mappe(r) og %d file(r)" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 #, fuzzy msgid "Copy here" msgstr "Kopier" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 #, fuzzy msgid "Move here" msgstr "Flytt " #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 #, fuzzy msgid "Link here" msgstr "Lenke" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 #, fuzzy msgid "Cancel" msgstr "Avbryt" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopier fil" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Flytt fil" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Symlink " #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopier" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Flytt" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Symlenke" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Til:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Kopiering av filer avbrudt!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkt %s svarer ikke." #: ../src/DirList.cpp:2007 #, fuzzy msgid "Link to Folder" msgstr "Lenke til" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Mapper" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Vis skjulte filer" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "Skjulte mapper" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 #, fuzzy msgid "0 bytes in root" msgstr "0 Byte" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "To &paneler\tCtrl-F2" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Adgang til %s nektet." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 #, fuzzy msgid "New &folder..." msgstr "Ny Mappe" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Skjulte mapper" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 #, fuzzy msgid "Ignore c&ase" msgstr "I&gnorer store/små bokstaver" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Omvendt rekkefølge" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Utvid tre" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "&Slå sammen tre" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "&Panel" #: ../src/DirPanel.cpp:767 #, fuzzy msgid "M&ount" msgstr "Monter" #: ../src/DirPanel.cpp:768 #, fuzzy msgid "Unmoun&t" msgstr "Avmonter" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Legg til i &arkiv" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "Kopier" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klipp" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Lim inn" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Omdøp" #: ../src/DirPanel.cpp:779 #, fuzzy msgid "Cop&y to..." msgstr "Kopier &til..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "Flytt" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 #, fuzzy msgid "Symlin&k to..." msgstr "Symlin&k..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Tøm papirkurven: " #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Slett" #: ../src/DirPanel.cpp:786 #, fuzzy msgid "Prop&erties" msgstr "Egenskaper" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Kan ikke slette mappen" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Kan ikke slette mappen" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Sletning av fil avbrudt!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Opprett arkiv" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopier" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Omdøp" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Omdøp" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopier til" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Flytt " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Symlink" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s er ikke en mappe" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 #, fuzzy msgid "Symlink operation cancelled!" msgstr "Opprettelse av symlink avbrudt!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Slett mappe permanent" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Bekreft sletning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 #, fuzzy msgid "File delete" msgstr "Slett fil" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Sletning av mappe avbrudt!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 #, fuzzy msgid "Confirm Trash" msgstr "Bekreft avslutning " #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "Flytting av filer avbrudt!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Tøm papirkurven: " #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Bekreft sletning" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Kan ikke slette mappen" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 #, fuzzy msgid "Create new folder:" msgstr "Opprett ny mappe..." #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Ny mappe" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Kjør kommando :" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Monter" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Avmonter" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr " mappen: " #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " handling avbrudt!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 #, fuzzy msgid " in root" msgstr " i " #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Kilde :" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Mål :" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Endret dato" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Endret dato" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Slett :" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "Fra :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Endring av rettigheter..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Fil :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Endring av eier..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Monter filsystem..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Monter mappen :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Avmonter filsystem..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Avmonter mappen :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " finnes allede. Overskriv?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Bekreft overskrivning" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Kan ikke kopiere filen " #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Kan ikke kopiere filen " #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Kilde : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Mål : " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Mappen %s finnes ikke" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Kilden %s er identisk med målfilen" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Slett mappe : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "Fra : " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Kan ikke slette mappen" #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Kan ikke slette mappen" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Kan ikke slette filen" #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Kan ikke slette filen" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller mappen %s finnes allered" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan ikke omdøpe til målet %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Opprett ny fil..." #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Opprett ny fil..." #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Mappe : " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Pakk ut arkiv" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Legg til i arkiv" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Kommandoen %s mislykkes" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Sukssess" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Montering av mappen %s fullført." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Avmontering av mappen %s fullført." #. Make and show command window #: ../src/File.cpp:2092 #, fuzzy msgid "Install/Upgrade package" msgstr "Installer/Oppgrader RPM pakke..." #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Avinstaller RPM Pakke..." #. Make and show command window #: ../src/File.cpp:2110 #, fuzzy msgid "Uninstall package" msgstr "Avinstaller RPM Pakke..." #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "Avinstaller RPM Pakke..." #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Filnavn:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Filf&ilter:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Skrivebeskyttet" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tGå til mappen over\tGå opp et nivå." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tGå til mappen over\tGå opp et nivå." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr " Mappen :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr " mappen: " #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tGå til arbeidsmappen\tTilbake til arbeidsmappen." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Ny mappe" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Store &Ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "&Små Ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "\tListe over filer\tVis filliste." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Vis skjulte filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tVis miniatyrer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tSkjul miniatyrer" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Opprett ny mappe..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Opprett ny mappe..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller mappen %s finnes allered" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 #, fuzzy msgid "Go ho&me" msgstr "Gå til &Hjemmemappen\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "Ny &fil" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Ny Mappe" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Skjulte filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 #, fuzzy msgid "Thum&bnails" msgstr "Minia&tyrer" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Store &Ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Små Ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Detaljert filliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Rekker" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "Kolonner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Navn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Størrelse" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 #, fuzzy msgid "E&xtension" msgstr "Endelse:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 #, fuzzy msgid "&Date" msgstr "Lim inn" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Bruker" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Gruppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Mapper" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 #, fuzzy msgid "Re&verse order" msgstr "Omvendt rekkefølge" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 #, fuzzy msgid "&Family:" msgstr "&Fil" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 #, fuzzy msgid "Si&ze:" msgstr "Størrelse:" #. Character set choice #: ../src/FontDialog.cpp:81 #, fuzzy msgid "Character Set:" msgstr "Character Device" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 #, fuzzy msgid "Greek" msgstr "Ledig:" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 #, fuzzy msgid "Turkish" msgstr "Fil " #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 #, fuzzy msgid "Set Width:" msgstr "Åpne med" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 #, fuzzy msgid "Normal" msgstr "Normal font:" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 #, fuzzy msgid "Expanded" msgstr "&Utvid" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Finn" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 #, fuzzy msgid "All Fonts:" msgstr "Fonter" #: ../src/FontDialog.cpp:147 #, fuzzy msgid "Preview:" msgstr "Se på:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "Du kjører Xfe som root!" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nei" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "Ja" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Avslutt" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "Lagre" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja til &alt" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Navn" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " i " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Endret dato" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Bruker" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Gruppe" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Rettigheter" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Utvalg" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 #, fuzzy msgid "Size: " msgstr "Størrelse:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Størrelse" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:151 #, fuzzy msgid "Extension" msgstr "Endelse:" #: ../src/FileList.cpp:152 #, fuzzy msgid "Modified date" msgstr "Endret dato" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Rettigheter" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Kan ikke laste billede: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "Utvalg" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Bekreft sletning" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Kommando logg" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Sletning av fil avbrudt!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Monter mappen :" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "Flytting av filer avbrudt!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Slett mappe permanent" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Slett markerte oppføringer ? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " er skrivebeskyttet, slett allikevel?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Sletning av fil avbrudt!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 #, fuzzy msgid "Create new file:" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Kan ikke slette mappen" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Kunne ikke skrive til %s: Adgang nektet" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Opprett ny fil..." #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "Symlenke" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Mappen %s finnes ikke" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Åpne markerte filer med :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Åpne med" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Tilknytt" #: ../src/FilePanel.cpp:4269 #, fuzzy msgid "Show files:" msgstr "Vis filer :" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Detaljert filliste" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Rettigheter" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Ny &fil" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monter" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Åpne med..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Åpne:" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Kan ikke kopiere mappen " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Pakk ut h&er" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Pakk ut til..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Vis" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installer/Opp&grader" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Av&installer" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "R&ediger" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "Velg Ikon" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Pakke :" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Beskrivelse" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr " Mappen :" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopier &til..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Tøm papirkurven: " #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Kilde :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Egenskaper" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr " Velg..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Alle Filer" #. File object #: ../src/FilePanel.cpp:5375 #, fuzzy msgid "Package Install/Upgrade" msgstr "RPM Installer/Oppgrader" #. File object #: ../src/FilePanel.cpp:5424 #, fuzzy msgid "Package Uninstall" msgstr "RPM Avinstaller" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan ikke slette mappen" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "RedHat package manager (RPM) ikke funnet!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " Tilhører RPM Pakken : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informasjon" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " Tilhører RPM Pakken : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " markerte filer" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 Byte" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr " markerte filer" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr " Oppføringer" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr " Oppføringer" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Lenke" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "Filter" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Max antall bokmerker nådd. Det siste bokmerket vil bli slettet..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Fjern bokmerker" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Vil du virkelig avslutte Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 #, fuzzy msgid "Cl&ose" msgstr "Lukk" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan ikke slette filen" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan ikke slette filen" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 #, fuzzy msgid "\tSelect destination..." msgstr " Velg..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr " Mappen :" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr " Mappen :" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Tilføy til arkiv" #: ../src/ArchInputDialog.cpp:47 #, fuzzy msgid "New archive name:" msgstr "Gi nytt navn" #: ../src/ArchInputDialog.cpp:61 #, fuzzy msgid "Format:" msgstr "Fra :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Brukervalg" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Aktuelt Tema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Valg" #: ../src/Preferences.cpp:181 #, fuzzy msgid "Use trash can for file deletion (safe delete)" msgstr "Bruk papirkurven ved sletting av filer" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:183 #, fuzzy msgid "Auto save layout" msgstr "Lagre Layout &automatisk" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tDetaljer\tDetaljert listevisning " #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " Mappen :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr " Mappen :" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr " Mappen :" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:221 #, fuzzy msgid "Root mode" msgstr "Kjør i konsollen" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "Kjør i konsollen" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 #, fuzzy msgid "&Dialogs" msgstr "Velg farge" #: ../src/Preferences.cpp:314 #, fuzzy msgid "Confirmations" msgstr "Bekreftelse" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "Bekreft sletning" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Kan ikke slette mappen %s" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Bekreft overskrivning" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Bekreft sletning" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Egenskaper" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Advarsler" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Advar når monteringspunkter ikke svarer" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Vis melding ved vellykket montering/avmontering" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Advarsel ved start som root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programmer" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Terminal" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Standard Teksteditor" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Rettigheter" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Standard Teksteditor" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "Opprett arkiv" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:421 #, fuzzy msgid "Audio player:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:427 #, fuzzy msgid "Video player:" msgstr "Standard tekstviser" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Monter" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Avmonter" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "" #: ../src/Preferences.cpp:458 #, fuzzy msgid "Color theme" msgstr "Fargetema" #: ../src/Preferences.cpp:468 #, fuzzy msgid "Custom colors" msgstr "Farger" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Basisfarge" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Rammer" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Bakgrunn" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Basisfarge" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Forgrunn utvalg " #: ../src/Preferences.cpp:481 #, fuzzy msgid "File list background color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:483 #, fuzzy msgid "File list highlight color" msgstr "Bakgrunn utvalg" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Rammer" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "Basisfarge" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Rammer" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Fonter" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:499 #, fuzzy msgid "\tSelect path..." msgstr " Velg..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fonter" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fonter" #: ../src/Preferences.cpp:509 #, fuzzy msgid "Normal font:" msgstr "Normal font:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Velg..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Tekst font:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " Mappen :" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Velg normal font" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Velg tekst font" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "\tKopier (Ctrl-C, F5)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "\tKlipp (Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tLim inn (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "&Åpne fil...\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Applikasjon" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "Velg Ikon" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "Fravelg alle\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "&Inverter utvalg\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "Vis billeder som miniatyrer" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "&Finn" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Skriv ut" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 #, fuzzy msgid "Search" msgstr "&Søk" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "Finn ikoner i" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "&Søk" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Egenskaper" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Tøm papirkurven: " #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Slett mappe: " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Opprett ny fil..." #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Kjør kommando :" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "&Terminal" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Monter filsystem..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Avmonter filsystem..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "Venstre pane&l" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "T&re og panel\tCtrl-F1" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "Tre og to p&aneler\tStrg-F2" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tTøm Adressefeltet\tTøm Adressefeltet." #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "Omdøp" #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\tGå\tGå til adresse" #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "Legg til bokmerke\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "&Et panel\tStrg-F3" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "To &paneler\tCtrl-F2" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Tøm papirkurven" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Se på:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Rediger:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Vis skjulte filer" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Fil tid" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "Linje:" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Opprett ny mappe..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "\tÅpne (Strg-O)\tÅpne billedfil (Strg-O)" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Linje:" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "Zoom ut\t(Ctrl-)\tZoom ut. (Ctrl-)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "Zoom ut\t(Ctrl-)\tZoom ut. (Ctrl-)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "Velg Ikon" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tRoter til venstre (Ctrl-L)\tRoter til venstre. (Ctrl-L)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #. Confirmation message #: ../src/Preferences.cpp:1088 #, fuzzy msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Vil du virkelig tømme papirkurven?\n" "\n" "Alle oppføringer vil bli slettet permanent!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Gjenstart" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Fargene vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1830 #, fuzzy msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normal font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Ignorer" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Ignorer A&lle" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Kilde :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Endret dato" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Mål :" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Kjør" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Kjør i konsollen" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Lukk" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Venstre pane&l" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopier (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tKlipp (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tVis egenskaper til markerte filer (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tKlipp (Ctrl-X)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Detaljert filliste" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorer store/små bokstaver" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Pakke :" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr " Mappen :" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " Filer/mapper.\n" "Fra: " #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " Oppføringer" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Skriv ut" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " Mappen :" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Monter mappen :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Ny Mappe" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Tekst font:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Skriv ut" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Total størrelse" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Sist Modifisert:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Sist Modifisert:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Bruker" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Fil tid" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Gruppe" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Fil tid" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Filsystem:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Fil :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Fil tid" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Rettigheter" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Rettigheter" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Vis filer :" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Opprett ny fil..." #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Opprett ny fil..." #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Avmonter filsystem..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Finn ikoner i" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Søk" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr " Velg..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Opprett ny fil..." #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\tSlett markerte filer (Del, F8)" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr " Mappen :" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tEt panel (Strg-F3)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tTre og panel (Ctrl-F1)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tTre og to paneler (Strg-F2)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tTøm Adressefeltet\tTøm Adressefeltet." #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tGå\tGå til adresse" #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Ny Mappe" #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Gå til &Hjemmemappen\tCtrl-H" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "Oppdate&r\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "Kopier til..." #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Symlin&k..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Egenskaper" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fil" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "Velg Ikon" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "Fravelg alle\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "&Inverter utvalg\tCtrl-I" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Bruke&rvalg" #: ../src/XFileExplorer.cpp:925 #, fuzzy msgid "&General toolbar" msgstr "&Generelt" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #: ../src/XFileExplorer.cpp:927 #, fuzzy msgid "&Panel toolbar" msgstr "Verk&tøyslinje" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Adresse&linje" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Statuslinje" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "Venstre pane&l" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "T&re og panel\tCtrl-F1" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "To &paneler\tCtrl-F2" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "Tre og to p&aneler\tStrg-F2" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "To &paneler\tCtrl-F2" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "To &paneler\tCtrl-F2" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "Legg til bokmerke\tCtrl-B" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Fjern bokmerker" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Bokmerker" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filter..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "Minia&tyrer" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Store ikoner" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ype" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "Lim inn" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Bruker" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Gruppe" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Mapper" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Venstre pane&l" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Mapper" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Høy&re panel" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "&Finn" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Kjør kommando :" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "&Et panel\tStrg-F3" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "To &paneler\tCtrl-F2" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr " Mappen :" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Søk" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Avmonter" #: ../src/XFileExplorer.cpp:1115 #, fuzzy msgid "&Tools" msgstr "Verk&tøyslinje" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "\tTo paneler (Ctrl-F2)" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Tøm papirkurven" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 #, fuzzy msgid "T&rash" msgstr "Fil " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Hjelp" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Du kjører Xfe som root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Hjelp" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "XFE, X File Explorer Versjon %s\n" "\n" "Copyright (C) 2002-2005 Roland Baudin (roland65@free.fr)\n" "\n" "Basert på X WinCommander av Maxim Baranov\n" "Oversatt av Vidar Jon Bauge (vidarjon@tiscali.dk)\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Kjør kommandoen :" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Kjør i konsollen" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr " Mappen :" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vil du virkelig avslutte Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " i " #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Vil du virkelig tømme papirkurven?\n" "\n" "Alle oppføringer vil bli slettet permanent!" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Endret dato" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Total størrelse" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan ikke slette mappen" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filtilknytninger" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filtilknytninger" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "Brukervalg" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tÅpne pakke (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Åpne:" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "Om X File Image" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Avinstaller" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installer/Oppgrader" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Beskrivelse" #. Second item is File List #: ../src/XFilePackage.cpp:194 #, fuzzy msgid "File &List" msgstr "&Filoversikt" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Query er en enkel RPM pakkebehandler.\n" "\n" "Copyright (C) 2002-2005 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 #, fuzzy msgid "About X File Package" msgstr "Om X File Image" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM kilde pakker" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:243 #, fuzzy msgid "DEB packages" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Åpne Dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 #, fuzzy msgid "No package loaded" msgstr "Ingen RPM pakke åpnet" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:296 #, fuzzy msgid "Install/Upgrade Package" msgstr "Installer/Oppgrader RPM pakke..." #. Make and show command window #: ../src/XFilePackage.cpp:346 #, fuzzy msgid "Uninstall Package" msgstr "Avinstaller RPM Pakke..." #: ../src/XFilePackage.cpp:495 #, fuzzy msgid "[RPM package]\n" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:500 #, fuzzy msgid "[DEB package]\n" msgstr "RPM pakker" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Forespørsel på %s mislykket!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Feil under åpning av fil" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Kan ikke åpne filen: %s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "Bruk: xfq [valg] [pakke] \n" "\n" " [valg] kan være en av følgende:\n" "\n" " -h, --help Vis (denne) hjelpeteksten og avslutt.\n" " -v, --version Vis versjonsopplysninger og avslutt.\n" "\n" " [pakke]er stien til den pakken du vil åpne ved oppstart.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF Billede" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP Billede" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM Billede" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX Billede" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO Billede" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB Billede" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM Billede" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA Billede" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM Billede" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG Billede" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG Billede" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF Billede" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "B&illede" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Åpne:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Åpne billedfil" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 #, fuzzy msgid "Print" msgstr "Skriv ut fil" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Skriv ut" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Linje:" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "Linje:" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Skriv ut fil" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "C Source Filer" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "C Source Filer" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "Avslutt Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr " Mappen :" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tVis miniatyrer" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tStore Ikoner\tVis innhold med store ikoner." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tSmå ikoner\tVis innhold med små ikoner." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Detaljert filliste" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tDetaljer\tDetaljert listevisning " #: ../src/XFileImage.cpp:739 #, fuzzy msgid "View icons row-wise." msgstr "Ikoner på &Rekke\t\tVis ikoner på rekke." #: ../src/XFileImage.cpp:740 #, fuzzy msgid "View icons column-wise." msgstr "Ikoner i kolonner\t\tVis ikoner i kolonner" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Verktøjslinjen\t\tVis Verktøjslinjen" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "Detaljert filliste" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "\tListe over filer\tVis filliste." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Bakgrunn utvalg" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tStore Ikoner\tVis innhold med store ikoner." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Fil tid" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "\tListe over filer\tVis filliste." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "Om X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Om X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Fejl under åpning av billede" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Ikke understøttet: %s" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Kan ikke åpne hele filen: %s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Tekst font vil bli endret etter gjenstart.\n" "Gjenstart X File Explorer nå?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Åpne billedfil" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 #, fuzzy msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "Bruk: xfi [valg] [billede] \n" "\n" " [valg] kan være en av følgende:\n" "\n" " -h, --help Vis (denne) hjelpeteksten og avslutt.\n" " -v, --version Vis versjonsopplysninger og avslutt.\n" "\n" " [billede] er stien til den billedfilen du vil åpne\n" " ved oppstart.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 #, fuzzy msgid "XFileWrite Preferences" msgstr "Brukervalg" #. First tab - Editor #: ../src/WriteWindow.cpp:197 #, fuzzy msgid "&Editor" msgstr "R&ediger" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 #, fuzzy msgid "Text" msgstr "Tekst font:" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 #, fuzzy msgid "Tabulation size:" msgstr "Total størrelse" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 #, fuzzy msgid "&Colors" msgstr "Farger" #: ../src/WriteWindow.cpp:222 #, fuzzy msgid "Lines" msgstr "Linje:" #: ../src/WriteWindow.cpp:225 #, fuzzy msgid "Background:" msgstr "Bakgrunn" #: ../src/WriteWindow.cpp:228 #, fuzzy msgid "Text:" msgstr "Tekst font:" #: ../src/WriteWindow.cpp:231 #, fuzzy msgid "Selected text background:" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:234 #, fuzzy msgid "Selected text:" msgstr "Utvalg" #: ../src/WriteWindow.cpp:237 #, fuzzy msgid "Highlighted text background:" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:240 #, fuzzy msgid "Highlighted text:" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:243 #, fuzzy msgid "Cursor:" msgstr "Rammer" #: ../src/WriteWindow.cpp:246 #, fuzzy msgid "Line numbers background:" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:249 #, fuzzy msgid "Line numbers foreground:" msgstr "Forgrunn utvalg " #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Søk" #: ../src/WriteWindow.cpp:610 #, fuzzy msgid "&Window" msgstr "&Finn" #. Caption before number #: ../src/WriteWindow.cpp:643 #, fuzzy msgid " Lines:" msgstr "Linje:" #. Caption before number #: ../src/WriteWindow.cpp:650 #, fuzzy msgid " Col:" msgstr "Kol:" #. Caption before number #: ../src/WriteWindow.cpp:657 #, fuzzy msgid " Line:" msgstr "Linje:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Opprett ny mappe..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "\tÅpne (Ctrl-O)\tÅpne fil. (Ctrl-O)" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "Lagre" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "Lukk" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tÅpne (Ctrl-O)\tÅpne fil. (Ctrl-O)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "Avslutt" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "Om X File View" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "\tKopier (Ctrl-C, F5)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Klipp" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "\tKlipp (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "Lim inn" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tLim inn (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "Linje:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Finn" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "Zoom ut\t(Ctrl-)\tZoom ut. (Ctrl-)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "Les" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "&Søk" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search forward for selected text." msgstr "&Finn en streng...\tCtrl-F\tFinn en streng i dokumentet. (Ctrl-F)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "Vis skjulte filer" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Ny &fil" #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "\tÅpne (Strg-O)\tÅpne billedfil (Strg-O)" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "\tÅpne (Ctrl-O)\tÅpne fil. (Ctrl-O)" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:782 #, fuzzy msgid "&Clear Recent Files" msgstr "C Source Filer" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 #, fuzzy msgid "&Undo" msgstr "&Finn" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 #, fuzzy msgid "&Redo" msgstr "Les" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 #, fuzzy msgid "Cu&t" msgstr "Klipp" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tLim inn (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "Endring av eier avbrudt!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "Endring av eier avbrudt!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Linje:" #: ../src/WriteWindow.cpp:854 #, fuzzy msgid "Select &All" msgstr "Velg Ikon" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "&Statuslinje" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "&Statuslinjen\t\tVis eller skjul statuslinjen." #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Søk" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "&Søk" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "Velg Ikon" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "\tÅpne (Strg-O)\tÅpne billedfil (Strg-O)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "&Søk" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "Bakgrunn utvalg" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "\tRoter til venstre (Ctrl-L)\tRoter til venstre. (Ctrl-L)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "\tFinn igjen (Ctrl-G)\tFinn igjen. (Ctrl-G)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "&Fonter" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Velg tekst font" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "Bruke&rvalg" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "Velg tekst font" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Om X File View" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "Om X File View" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "" #: ../src/WriteWindow.cpp:1094 #, fuzzy, c-format msgid "Unable to read file: %s" msgstr "Kan ikke åpne filen: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 #, fuzzy msgid "Error Saving File" msgstr "Feil under lesning av fil" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1189 #, fuzzy, c-format msgid "File: %s truncated." msgstr "Gi nytt navn" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 #, fuzzy msgid "About X File Write" msgstr "Om X File View" #: ../src/WriteWindow.cpp:1484 #, fuzzy msgid "Change Font" msgstr "Velg tekst font" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Tekstfiler" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C Source Filer" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ Source Filer" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ Header Filer" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 #, fuzzy msgid "HTML Files" msgstr "HTML Header filer" #: ../src/WriteWindow.cpp:1532 #, fuzzy msgid "PHP Files" msgstr "Alle Filer" #: ../src/WriteWindow.cpp:1653 #, fuzzy msgid "Unsaved Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 #, fuzzy msgid "Save Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, fuzzy msgid "Overwrite Document" msgstr "Åpne Dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1824 #, fuzzy msgid " (changed)" msgstr "Sist Endret:" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Skrivebeskyttet" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 #, fuzzy msgid "File Was Changed" msgstr "Sist Endret:" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2115 #, fuzzy msgid "Replace" msgstr "Velg Ikon" #: ../src/WriteWindow.cpp:2276 #, fuzzy msgid "Goto Line" msgstr "Linje:" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "Bruk: xfv [valg] [fil] \n" "\n" " [valg] kan være en av følgende:\n" "\n" " -h, --help Vis (denne) hjelpeteksten og avslutt.\n" " -v, --version Vis versjonsopplysninger og avslutt.\n" "\n" " [sti] er stien til den filen du vil åpne\n" " ved oppstart.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Kjør i konsollen" #: ../src/foxhacks.cpp:779 #, fuzzy msgid "Ready." msgstr "Les" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "" #: ../src/foxhacks.cpp:808 #, fuzzy msgid "Re&place All" msgstr "Velg Ikon" #: ../src/foxhacks.cpp:816 #, fuzzy msgid "Search for:" msgstr "&Søk" #: ../src/foxhacks.cpp:828 #, fuzzy msgid "Replace with:" msgstr "Velg Ikon" #: ../src/foxhacks.cpp:841 #, fuzzy msgid "Ex&act" msgstr "Pakk ut:" #: ../src/foxhacks.cpp:842 #, fuzzy msgid "&Ignore Case" msgstr "&Ignorer store/små bokstaver" #: ../src/foxhacks.cpp:843 #, fuzzy msgid "E&xpression" msgstr "Endelse:" #: ../src/foxhacks.cpp:844 #, fuzzy msgid "&Backward" msgstr "Bakgrunn" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Kan ikke slette mappen" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Kan ikke slette mappen" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr " Mappen :" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Kjør kommando :" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan ikke slette mappen %s" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Kopier fil" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Kan ikke slette mappen" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr " Mappen :" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Eier" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Standard tekstviser" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "Standard Teksteditor" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Pakke :" #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "RedHat package manager (RPM) ikke funnet!" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tTo paneler (Ctrl-F2)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Mappe" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Mappe" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Bekreft overskrivning" #, fuzzy #~ msgid "P&roperties..." #~ msgstr "Egenskaper..." #, fuzzy #~ msgid "&Properties..." #~ msgstr "Egenskaper..." #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "Om X File View" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Kjør kommando :" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Delete: " #~ msgstr "Slett : " #, fuzzy #~ msgid "File: " #~ msgstr "Fil : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Om X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Høy&re panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Venstre pane&l" #, fuzzy #~ msgid "Error " #~ msgstr "Feil" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Execute command " #~ msgstr "Kjør kommando :" #, fuzzy #~ msgid "Command log " #~ msgstr "Kommando logg" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #~ msgid "Non-existing file: %s" #~ msgstr "Filen finnes ikke: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Kan ikke omdøpe til målet %s" #, fuzzy #~ msgid "Mouse" #~ msgstr "Flytt" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Endret dato" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Endret dato" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tGå til mappen over\tGå opp et nivå." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tGå til mappen over\tGå opp et nivå." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Monter mappen :" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tGå til mappen over\tGå opp et nivå." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tGå til hjemmemappen\tTilbake til hjemmemappen." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tGå til arbeidsmappen\tTilbake til arbeidsmappen." #, fuzzy #~ msgid "Show icons" #~ msgstr "Vis filer :" #, fuzzy #~ msgid "Show list" #~ msgstr "Vis filer :" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tSmå ikoner\tVis innhold med små ikoner." #, fuzzy #~ msgid "Show details" #~ msgstr "\tVis miniatyrer" #, fuzzy #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "Bruk: xfv [valg] [fil] \n" #~ "\n" #~ " [valg] kan være en av følgende:\n" #~ "\n" #~ " -h, --help Vis (denne) hjelpeteksten og avslutt.\n" #~ " -v, --version Vis versjonsopplysninger og avslutt.\n" #~ "\n" #~ " [sti] er stien til den filen du vil åpne\n" #~ " ved oppstart.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Kol:" #~ msgid "Line:" #~ msgstr "Linje:" #, fuzzy #~ msgid "Open document." #~ msgstr "Åpne Dokument" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "Avslutt Xfe" #~ msgid "Find" #~ msgstr "Finn" #, fuzzy #~ msgid "Find again" #~ msgstr "Finn igjen\tStrg-G" #, fuzzy #~ msgid "Find string again." #~ msgstr "Finn igjen\tStrg-G" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Finn" #, fuzzy #~ msgid "Find a string in a document." #~ msgstr "\tFinn en streng (Ctrl-F)\t\tFinn en streng i dokumentet (Ctrl-F)" #, fuzzy #~ msgid "Find &again" #~ msgstr "Finn igjen\tStrg-G" #, fuzzy #~ msgid "Display status bar." #~ msgstr "&Statuslinjen\t\tVis eller skjul statuslinjen." #, fuzzy #~ msgid "&About X File View" #~ msgstr "Om X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "Om X File View" #~ msgid "About X File View" #~ msgstr "Om X File View" #~ msgid "Error Reading File" #~ msgstr "Feil under lesning av fil" #~ msgid "Unable to load entire file: %s" #~ msgstr "Kan ikke åpne hele filen: %s" #~ msgid "&Find" #~ msgstr "&Finn" #~ msgid "Not Found" #~ msgstr "Ikke funnet" #~ msgid "String '%s' not found" #~ msgstr "Strengen '%s' ble ikke funnet" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Standard tekstviser" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Ignore case" #~ msgstr "I&gnorer store/små bokstaver" #, fuzzy #~ msgid "In directory:" #~ msgstr " Mappen :" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr " Mappen :" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Tøm papirkurven: " #, fuzzy #~ msgid "File size at least:" #~ msgstr "Skjulte mapper" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Filtilknytninger" #, fuzzy #~ msgid " Items" #~ msgstr " Oppføringer" #, fuzzy #~ msgid "Search results - " #~ msgstr "Finn ikoner i" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tStore Ikoner\tVis innhold med store ikoner." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tSmå ikoner\tVis innhold med små ikoner." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tDetaljer\tDetaljert listevisning " #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tVis miniatyrer" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tSkjul miniatyrer" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\tKopier (Ctrl-C, F5)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\tKlipp (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tVis egenskaper til markerte filer (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tSlett markerte filer (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\tKlipp (Ctrl-X)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Search files..." #~ msgstr " Velg..." #, fuzzy #~ msgid "Dir&ectories first" #~ msgstr "Mapper" #, fuzzy #~ msgid "&Directories first" #~ msgstr "Mapper" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Go to working directory" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\tGå til mappen over\tGå opp et nivå." #, fuzzy #~ msgid "Go to next directory" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Kan ikke slette mappen" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " Mappen :" #, fuzzy #~ msgid "Directory name" #~ msgstr "Mapper" #~ msgid "Confirm quit" #~ msgstr "Bekreft avslutning " #~ msgid "Quitting Xfe" #~ msgstr "Avslutt Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "&Verktøyslinje\t\tVis verktøyslinjen" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "Verk&tøyslinje\t\tVis eller skjul verktøyslinjen." #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "\tSlett markerte filer (Del, F8)" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " Slett markerte oppføringer ? " #, fuzzy #~ msgid "&Execute" #~ msgstr "Kjør" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Kilden %s er identisk med målfilen" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr " er skrivebeskyttet, slett allikevel?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Bekreft sletting" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ " Filer/mapper.\n" #~ "Fra: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Kan ikke overskrive mappen %s. Den er ikke tom" #, fuzzy #~ msgid "Move folder " #~ msgstr "Monter mappen :" #~ msgid "File " #~ msgstr "Fil " #~ msgid "Can't copy folder " #~ msgstr "Kan ikke kopiere mappen " #, fuzzy #~ msgid ": Permission denied" #~ msgstr ": Adgang nektet." #~ msgid "Can't copy file " #~ msgstr "Kan ikke kopiere filen " #, fuzzy #~ msgid "Installing package: " #~ msgstr "Avinstaller RPM Pakke..." #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Avinstaller RPM Pakke..." #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ " Filer/mapper.\n" #~ "Fra: " #, fuzzy #~ msgid " Move " #~ msgstr "Flytt " #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tSlett markerte filer (Del, F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Slett filer permanent" #, fuzzy #~ msgid " selected items? " #~ msgstr " markerte filer" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr " er skrivebeskyttet, slett allikevel?" #, fuzzy #~ msgid "X File Package Version " #~ msgstr "Om X File Image" #, fuzzy #~ msgid "X File Image Version " #~ msgstr "Om X File Image" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Brukervalg" #, fuzzy #~ msgid "X File View Version " #~ msgstr "Rettigheter" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Monter mappen :" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tSlett markerte filer (Del, F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Gruppe" #, fuzzy #~ msgid "Go home" #~ msgstr "Gå til &Hjemmemappen\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Detaljert filliste" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Kjør kommando :" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Legg til bokmerke\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tOppdater (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "&Terminal" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Slett mappe permanent" #, fuzzy #~ msgid "Deleted from" #~ msgstr "Slett : " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Slett mappe : " xfe-1.42/po/pt_PT.po0000644000175100017510000052571612746115274011202 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2003 Roland Baudin # This file is distributed under the same license as the Xfe package. # Roland Baudin , 2003. # msgid "" msgstr "" "Project-Id-Version: Xfe 0.54.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2007-02-13 09:54+0100\n" "Last-Translator: Miguel Santinho \n" "Language-Team: European Portuguese\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "Utilização: xfe [pasta inicial] [opções] \n" "\n" " [pasta inicial] é o caminho para a pasta que pretende abrir no início\n" "\n" " [opções] pode ser uma das seguintes:\n" "\n" " --help Mostra (este) ecrã de ajuda e termina.\n" " --version Mostra a versão e termina.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 #, fuzzy msgid "Error loading icons" msgstr "Erro ao abrir o ficheiro" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Utilizador" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Leitura" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escrita" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Execução" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Outros" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Dono" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Aplicar marcação" #: ../src/Properties.cpp:113 #, fuzzy msgid "Recursively" msgstr "Subpastas" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Limpar marcação" #: ../src/Properties.cpp:116 #, fuzzy msgid "Files and folders" msgstr "Pastas ocultas" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Adicionar marcação" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Apenas pastas" #: ../src/Properties.cpp:119 #, fuzzy msgid "Owner only" msgstr "Dono" #: ../src/Properties.cpp:120 #, fuzzy msgid "Files only" msgstr "Apenas pastas" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propriedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Aceitar" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancelar" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Geral" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permisões" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Associações de &Ficheiros" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensão:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descrição:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Abrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 #, fuzzy msgid "\tSelect file..." msgstr " Seleccionar..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ver:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editar:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extrair:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalar/Actualizar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Ícone Grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Ícone pequeno:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nome" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de ficheiros (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Pasta" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo de saída" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo de bloco" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 #, fuzzy msgid "Executable" msgstr "Execução" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Ligação quebrada" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Ligação para " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Montar" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo de montagem:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Usado:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Livre:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de ficheiros:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Endereço:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 #, fuzzy msgid "Total size:" msgstr "Total %s" #: ../src/Properties.cpp:690 #, fuzzy msgid "Link to:" msgstr "Ligação para " #: ../src/Properties.cpp:695 #, fuzzy msgid "Broken link to:" msgstr "Ligação quebrada para " #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tLimpar barra de endereço\tLimpar barra de endereço." #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Hora do ficheiro" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Última Modificação:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Última alteração:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Último acesso:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "Seleccione Ícone" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Tamanho:" #: ../src/Properties.cpp:960 #, fuzzy msgid "Selection:" msgstr "Seleccione Ícone" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 #, fuzzy msgid "Multiple types" msgstr "Tipo de montagem:" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr " Items" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Pastas ocultas" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Propriedades" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Atenção" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Erro" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, fuzzy, c-format msgid "Folder %s doesn't exist" msgstr "Pasta %s não exitente" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renomear ficheiro" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Dono do arquivo" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Modificação de dono cancelada!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permissões do ficheiro" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Modificação de permissões de ficheiro cancelada!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod em %s falhou: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " ficheiros selecionados" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Modificação de permissões de ficheiro(s) cancelada!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 #, fuzzy msgid "Select an executable file" msgstr " a pasta :" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Todos os ficheiros" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imagens PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imagens GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imagens BMP" #: ../src/Properties.cpp:1971 #, fuzzy msgid "Select an icon file" msgstr " a pasta :" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Pastas ocultas" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 #, fuzzy msgid "Copy here" msgstr "Copiar " #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 #, fuzzy msgid "Move here" msgstr "Mover " #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 #, fuzzy msgid "Link here" msgstr "Ligação" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 #, fuzzy msgid "Cancel" msgstr "&Cancelar" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copiar ficheiro" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mover ficheiro" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 #, fuzzy msgid "File symlink" msgstr "Ficheiro " #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 #, fuzzy msgid "Symlink" msgstr "Ligação simbólica" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Para:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "A operação copiar ficheiro foi cancelada!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Ponto de montagem %s não está a responder..." #: ../src/DirList.cpp:2007 #, fuzzy msgid "Link to Folder" msgstr "Ligação para " #: ../src/DirPanel.cpp:449 #, fuzzy msgid "Folders" msgstr "Pasta" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostrar pastas ocultas" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "Pastas ocultas" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 #, fuzzy msgid "0 bytes in root" msgstr "0 bytes" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "&Dois painéis\tCtrl-F4" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Permissão para: %s negada." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 #, fuzzy msgid "New &folder..." msgstr "Nova pasta..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 #, fuzzy msgid "&Hidden folders" msgstr "Pastas ocultas" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 #, fuzzy msgid "Ignore c&ase" msgstr "I&gnorar letra" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 #, fuzzy msgid "&Reverse order" msgstr "Subpastas" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 #, fuzzy msgid "E&xpand tree" msgstr "E&xpandir árvore" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 #, fuzzy msgid "Collap&se tree" msgstr "Reduzir árvore" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "&Painel" #: ../src/DirPanel.cpp:767 #, fuzzy msgid "M&ount" msgstr "Montar" #: ../src/DirPanel.cpp:768 #, fuzzy msgid "Unmoun&t" msgstr "Desmontar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 #, fuzzy msgid "&Add to archive..." msgstr "&Adicionar ao arquivo" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 #, fuzzy msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 #, fuzzy msgid "C&ut" msgstr "Copiar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 #, fuzzy msgid "&Paste" msgstr "Colar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 #, fuzzy msgid "Re&name..." msgstr "Re&nomear" #: ../src/DirPanel.cpp:779 #, fuzzy msgid "Cop&y to..." msgstr "Copiar " #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "&Mover" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 #, fuzzy msgid "Symlin&k to..." msgstr "Ligação simbólica" #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Remover pasta " #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 #, fuzzy msgid "&Delete" msgstr "Excluir" #: ../src/DirPanel.cpp:786 #, fuzzy msgid "Prop&erties" msgstr "Propriedades" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Criar um arquivo" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renomear" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renomear " #: ../src/DirPanel.cpp:1631 #, fuzzy msgid "Copy to" msgstr "Copiar " #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 #, fuzzy msgid "Symlink " msgstr "Ligação simbólica" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, fuzzy, c-format msgid "%s is not a folder" msgstr "%s não é uma pasta" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 #, fuzzy msgid "Symlink operation cancelled!" msgstr "A operação copiar ficheiro foi cancelada!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmar Remoção" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 #, fuzzy msgid "File delete" msgstr "Remover Ficheiro" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #, fuzzy msgid "Delete folder operation cancelled!" msgstr "A remoção da pasta foi cancelada!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 #, fuzzy msgid "Confirm Trash" msgstr "Confirmar saída" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Remover pasta " #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Confirmar Remoção" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Impossível remover a pasta " #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 #, fuzzy msgid "Create new folder:" msgstr "Criar nova pasta..." #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nova pasta" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Executar comando" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de ficheiros..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr " a pasta :" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operação cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 #, fuzzy msgid " in root" msgstr " em " #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Origem :" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Destino :" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Data de modificação" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Data de modificação" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Remover :" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "De :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "A modificar permissões..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Ficheiro :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "A modificar dono..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montar sistema de ficheiros..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Montar a pasta :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmontar sistema de ficheiros..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Desmontar a pasta :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " já existe. Gravar por cima?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmar gravação por cima" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Impossível remover o ficheiro" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Origem : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Destino : " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, fuzzy, c-format msgid "Source %s doesn't exist" msgstr "Pasta %s não exitente" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Remover pasta : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "De : " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Impossível remover a pasta " #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Impossível remover a pasta " #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Impossível remover o ficheiro" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Ficheiro ou pasta %s já existente" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Não pode renomear para %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Criar novo ficheiro..." #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Criar novo ficheiro..." #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Pasta : " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extrair ficheiro" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Adicionar ao arquivo" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Falhou o comando : %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Sucesso" #: ../src/File.cpp:2077 #, fuzzy, c-format msgid "Folder %s was successfully mounted." msgstr "A pasta %s foi montada com sucesso." #: ../src/File.cpp:2081 #, fuzzy, c-format msgid "Folder %s was successfully unmounted." msgstr "A pasta %s foi desmontada com sucesso." #. Make and show command window #: ../src/File.cpp:2092 #, fuzzy msgid "Install/Upgrade package" msgstr "Instalar/Actualizar RPM" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Intalando um pacote :" #. Make and show command window #: ../src/File.cpp:2110 #, fuzzy msgid "Uninstall package" msgstr "Desinstalando pacote :" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "Intalando um pacote :" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nome do &Ficheiro:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltrar ficheiro:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Somente Leitura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr " a pasta :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr " a pasta :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tIr para pasta de trabalho\tVoltar para pasta de trabalho." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Nova pasta" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Mostrar pastas ocultas" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "Ficheiros &ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tMostrar ficheiros ocultos (Ctrl-F5)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tNão mostra ficheiros ocultos (Ctrl-F5)" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Criar nova pasta..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Criar nova pasta..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Novo Ficheiro" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, fuzzy, c-format msgid "File or folder %s already exists" msgstr "Ficheiro ou pasta %s já existente" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 #, fuzzy msgid "Go ho&me" msgstr "Ir para pasta padrão\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "Novo &ficheiro" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 #, fuzzy msgid "New f&older..." msgstr "Nova pasta..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&Hidden files" msgstr "Ficheiros &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 #, fuzzy msgid "Thum&bnails" msgstr "&Terminal" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 #, fuzzy msgid "B&ig icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 #, fuzzy msgid "&Small icons" msgstr "Ícones &grandes" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Lista &detalhada de ficheiros" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 #, fuzzy msgid "&Rows" msgstr "&Linhas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 #, fuzzy msgid "&Columns" msgstr "&Colunas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 #, fuzzy msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 #, fuzzy msgid "Si&ze" msgstr "Tamanho" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 #, fuzzy msgid "&Type" msgstr "T&ipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 #, fuzzy msgid "E&xtension" msgstr "Extensão:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 #, fuzzy msgid "&Date" msgstr "Colar" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Utilizador" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Pasta" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 #, fuzzy msgid "Re&verse order" msgstr "Subpastas" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 #, fuzzy msgid "&Family:" msgstr "&Ficheiro" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 #, fuzzy msgid "Si&ze:" msgstr "Tamanho:" #. Character set choice #: ../src/FontDialog.cpp:81 #, fuzzy msgid "Character Set:" msgstr "Dispositivo de saída" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 #, fuzzy msgid "Greek" msgstr "Livre:" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 #, fuzzy msgid "Turkish" msgstr "Ficheiro " #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 #, fuzzy msgid "Set Width:" msgstr "Abrir com" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 #, fuzzy msgid "Extra condensed" msgstr "Comando para extrair não especificado" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 #, fuzzy msgid "Normal" msgstr "Fonte normal:" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 #, fuzzy msgid "Expanded" msgstr "&Expandir" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 #, fuzzy msgid "Pitch:" msgstr "Caminho" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Procurar" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 #, fuzzy msgid "All Fonts:" msgstr "Fonte" #: ../src/FontDialog.cpp:147 #, fuzzy msgid "Preview:" msgstr "Ver:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "Executando Xfe como ROOT!" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "Não" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sim" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Sair" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Gravar" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sim para &Todos" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Nome" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr " em " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Tipo:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Data de modificação" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Utilizador" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Grupo" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Permissões" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Seleccione Ícone" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 #, fuzzy msgid "Size: " msgstr "Tamanho:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Tamanho" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 #, fuzzy msgid "Extension" msgstr "Extensão:" #: ../src/FileList.cpp:152 #, fuzzy msgid "Modified date" msgstr "Data de modificação" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permissões" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 #, fuzzy msgid "Unable to load image" msgstr "Impossivel abrir completamente o ficheiro: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "Seleccione Ícone" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Confirmar Remoção" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 #, fuzzy msgid "Command log" msgstr "Registo de Comandos" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Cancelado exclusão de arquivo!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Montar a pasta :" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " está protegido contra escrita, remover? " #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "A operação mover ficheiro foi cancelada!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Remover item seleccionado ? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " está protegido contra escrita, remover? " #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "A remoção do ficheiro foi cancelada!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 #, fuzzy msgid "Create new file:" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Impossível gravar em %s: Permissão negada" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Criar novo ficheiro..." #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "Ligação simbólica" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Pasta %s não exitente" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Abrir ficheiro(s) seleccionado(s) com :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Abrir com" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&ssociar" #: ../src/FilePanel.cpp:4269 #, fuzzy msgid "Show files:" msgstr "Mostrar ficheiros :" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 #, fuzzy msgid "Fi<er..." msgstr "Fi<ro" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Lista &detalhada de ficheiros" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Permissões" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Novo &ficheiro" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 #, fuzzy msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 #, fuzzy msgid "Open &with..." msgstr "Abrir &com..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 #, fuzzy msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 #, fuzzy msgid "&Extract here" msgstr "Extrair ficheiro" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 #, fuzzy msgid "E&xtract to..." msgstr "E&xtrair para..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 #, fuzzy msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4514 #, fuzzy msgid "Install/Up&grade" msgstr "&Instalar/Actualizar" #: ../src/FilePanel.cpp:4515 #, fuzzy msgid "Un&install" msgstr "&Desinstalar" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 #, fuzzy msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "Seleccione Ícone" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Pacote " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "D&escrição" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr " a pasta :" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 #, fuzzy msgid "Copy &to..." msgstr "Copiar " #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Remover pasta " #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Origem :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Propriedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr " Seleccionar..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Todos os ficheiros" #. File object #: ../src/FilePanel.cpp:5375 #, fuzzy msgid "Package Install/Upgrade" msgstr "Instalar/Actualizar RPM" #. File object #: ../src/FilePanel.cpp:5424 #, fuzzy msgid "Package Uninstall" msgstr "Desinstalar RPM" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Impossível remover a pasta " #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Gerenciador de pacotes da RedHat (RPM) não encontrado!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " pertence ao pacote RPM : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informação" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " pertence ao pacote RPM : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr " ficheiros selecionados" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr " Items" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr " Items" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Ligação" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "Filtro" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Alcançado o limite de Marcadores. A última entrada será removida..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Limpar mar&cadores" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Deseja realmente terminar o Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 #, fuzzy msgid "Cl&ose" msgstr "Fe&char" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossível remover o ficheiro" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Impossível remover o ficheiro" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 #, fuzzy msgid "\tSelect destination..." msgstr " Seleccionar..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr " a pasta :" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr " a pasta :" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Adicionar ao Arquivo" #: ../src/ArchInputDialog.cpp:47 #, fuzzy msgid "New archive name:" msgstr "Renomear ficheiro" #: ../src/ArchInputDialog.cpp:61 #, fuzzy msgid "Format:" msgstr "De :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferências" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opções" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:183 #, fuzzy msgid "Auto save layout" msgstr "&Gravar configuração automaticamente" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tMostrar detalhes\tMostrar lista da pasta com detalhes." #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " a pasta :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr " a pasta :" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr " a pasta :" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:221 #, fuzzy msgid "Root mode" msgstr "Modo consola" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "Modo consola" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 #, fuzzy msgid "&Dialogs" msgstr "Paleta" #: ../src/Preferences.cpp:314 #, fuzzy msgid "Confirmations" msgstr "C&onfirmação" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "Confirmar Remoção" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Não pode remover a pasta %s" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmar escrever por cima" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Confirmar Remoção" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Propriedades" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 #, fuzzy msgid "Warnings" msgstr "Alertas" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Alertar quando os pontos de montagem não responderem" #: ../src/Preferences.cpp:328 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Alertar se executar como ROOT" #. Third tab - Programs #: ../src/Preferences.cpp:374 #, fuzzy msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Programa de terminal:" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Editor de texto padrão:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Permissões do ficheiro" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Editor de texto padrão:" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "Criar um arquivo" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:421 #, fuzzy msgid "Audio player:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:427 #, fuzzy msgid "Video player:" msgstr "Visualizador de texto padrão:" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "" #: ../src/Preferences.cpp:458 #, fuzzy msgid "Color theme" msgstr "Tema de cor" #: ../src/Preferences.cpp:468 #, fuzzy msgid "Custom colors" msgstr "Cores" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Cor base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Cor da moldura" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Cor de fundo" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Cor base" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Seleccionar cor da frente" #: ../src/Preferences.cpp:481 #, fuzzy msgid "File list background color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:483 #, fuzzy msgid "File list highlight color" msgstr "Seleccionar cor de fundo" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Cor da moldura" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "Cor base" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Cor da moldura" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Fonte" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:499 #, fuzzy msgid "\tSelect path..." msgstr " Seleccionar..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 #, fuzzy msgid "&Fonts" msgstr "&Fontes" #: ../src/Preferences.cpp:506 #, fuzzy msgid "Fonts" msgstr "Fonte" #: ../src/Preferences.cpp:509 #, fuzzy msgid "Normal font:" msgstr "Fonte normal:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:515 #, fuzzy msgid "Text font:" msgstr "Fonte do texto:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " a pasta :" #: ../src/Preferences.cpp:697 #, fuzzy msgid "Change Normal Font" msgstr "Mudar Fonte Normal" #: ../src/Preferences.cpp:721 #, fuzzy msgid "Change Text Font" msgstr "Mudar fonte do texto" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "" "\tCopiar ficheiros seleccionados para a área de transferência (Ctrl-C, F5)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tColar conteúdo da área de transferência (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "Abrir ficheiro...\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Aplicação" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "Seleccione Ícone" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "&Desmarcar tudo\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "&Inverter selecção\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "Mostrar pastas ocultas" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "Mostrar imagens como miniaturas" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "&Procurar" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Imprimir ficheiro" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 #, fuzzy msgid "Search" msgstr "&Procurar" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "Procurar ícones em" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "&Procurar" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Painel &esquerdo" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Propriedades" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Remover pasta " #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Remover pasta " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Criar novo ficheiro..." #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute command" msgstr "Executar comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "&Terminal" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montar sistema de ficheiros..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Desmontar sistema de ficheiros..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "Painel &esquerdo" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "&Árvore e um painel\tCtrl-F1" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "Á&rvore e dois painéis\tCtrl-F2" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tLimpar barra de endereço\tLimpar barra de endereço." #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "Renomear " #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\tIr\tIr para o endereço." #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "&Adicionar marcador\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "&Um painel\tCtrl-F3" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Ver:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Editar:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Mostrar pastas ocultas" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Hora do ficheiro" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "Linha:" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Criar nova pasta..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Linha:" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "\tProcurar novamente (Ctrl-G)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "\tProcurar novamente (Ctrl-G)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "Seleccione Ícone" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tSair do Xfq (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "\tProcurar uma expressão (Ctrl-F)" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "As Cores serão modificadas após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1830 #, fuzzy msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1854 #, fuzzy msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A fonte normal será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/Preferences.cpp:1862 #, fuzzy msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Saltar" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Sa<ar Todos" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Origem :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Data de modificação" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Destino :" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Execução" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Modo consola" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Fe&char" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Painel &esquerdo" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "" "\tCopiar ficheiros seleccionados para a área de transferência (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 #, fuzzy msgid "F&ull file list" msgstr "Lista &detalhada de ficheiros" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorar letra" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Pacote " #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr " a pasta :" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " ficheiros/pastas.\n" "De: " #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " Items" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Imprimir ficheiro" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " a pasta :" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Montar a pasta :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Nova pasta..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Fonte do texto:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Imprimir ficheiro" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Total %s" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Última Modificação:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Última Modificação:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Utilizador" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Hora do ficheiro" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grupo" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Hora do ficheiro" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Sistema de ficheiros:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Ficheiro :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Hora do ficheiro" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Permissões" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Permissões do ficheiro" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Mostrar ficheiros :" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Mostrar ficheiros :" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Criar novo ficheiro..." #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Criar novo ficheiro..." #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Subpastas" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar sistema de ficheiros..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Procurar ícones em" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Procurar" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr " Seleccionar..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Criar novo ficheiro..." #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\tRemover ficheiros seleccionados (Del, F8)" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr " a pasta :" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tMostrar um painel (Ctrl-F3)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tMostrar árvore e um painel (Ctrl-F1)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tMostrar árvore e dois painéis (Ctrl-F2)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tLimpar barra de endereço\tLimpar barra de endereço." #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tIr\tIr para o endereço." #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Nova pasta..." #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Ir para pasta padrão\tCtrl-H" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "Actualiza&r\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "Copiar " #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Ligação simbólica" #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Propriedades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Ficheiro" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "Seleccione Ícone" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "&Desmarcar tudo\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "&Inverter selecção\tCtrl-I" #: ../src/XFileExplorer.cpp:919 #, fuzzy msgid "P&references" msgstr "P&referências" #: ../src/XFileExplorer.cpp:925 #, fuzzy msgid "&General toolbar" msgstr "&Geral" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #: ../src/XFileExplorer.cpp:927 #, fuzzy msgid "&Panel toolbar" msgstr "Barra de &Ferramentas" #: ../src/XFileExplorer.cpp:928 #, fuzzy msgid "&Location bar" msgstr "Barra de &Endereço" #: ../src/XFileExplorer.cpp:929 #, fuzzy msgid "&Status bar" msgstr "Barra de E&stado" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "Painel &esquerdo" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "&Árvore e um painel\tCtrl-F1" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "Á&rvore e dois painéis\tCtrl-F2" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "&Adicionar marcador\tCtrl-B" #: ../src/XFileExplorer.cpp:991 #, fuzzy msgid "&Clear bookmarks" msgstr "Limpar mar&cadores" #: ../src/XFileExplorer.cpp:993 #, fuzzy msgid "&Bookmarks" msgstr "&Marcadores" #: ../src/XFileExplorer.cpp:997 #, fuzzy msgid "&Filter..." msgstr "&Filtro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 #, fuzzy msgid "&Thumbnails" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 #, fuzzy msgid "&Big icons" msgstr "\tÍcones grandes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 #, fuzzy msgid "T&ype" msgstr "Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "Colar" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Utilizador" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Grupo" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Pasta" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 #, fuzzy msgid "&Left panel" msgstr "Painel &esquerdo" #: ../src/XFileExplorer.cpp:1027 #, fuzzy msgid "&Filter" msgstr "&Filtro" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Pasta" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 #, fuzzy msgid "&Right panel" msgstr "Painel di&reito" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "&Procurar" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Executar comando" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "&Um painel\tCtrl-F3" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "&Dois painéis\tCtrl-F4" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr " a pasta :" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Procurar" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Desmontar" #: ../src/XFileExplorer.cpp:1115 #, fuzzy msgid "&Tools" msgstr "Barra de &Ferramentas" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "\tMostrar dois painéis (Ctrl-F4)" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "Total %s" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Actualiza&r\tCtrl-R" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 #, fuzzy msgid "T&rash" msgstr "Ficheiro " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Ajuda" #: ../src/XFileExplorer.cpp:1146 #, fuzzy msgid "&About X File Explorer" msgstr "&Sobre o X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Executando Xfe como ROOT!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Sobre o X File Explorer" #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "XFE, X File Explorer Versão %s\n" "\n" "Copyright (C) 2002-2004 Roland Baudin (roland65@free.fr)\n" "\n" "Baseado no X WinCommander de Maxim Baranov\n" "\n" "Traduzido por Miguel Santinho (msantinho@simplicidade.com)\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&Sobre o X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Painel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Executar o comando :" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr " a pasta :" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Deseja realmente terminar o Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " em " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Data de modificação" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Total %s" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Impossível gravar por cima de uma pasta vazia %s" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Impossível remover a pasta " #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Associações de &Ficheiros" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Associações de &Ficheiros" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 #, fuzzy msgid "&Preferences" msgstr "Pre&ferências" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "&Abrir" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "Sobre o X File View" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "D&escrição" #. Second item is File List #: ../src/XFilePackage.cpp:194 #, fuzzy msgid "File &List" msgstr "&Lista de ficheiros" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Query é um simples gestor de pacotes RPM.\n" "\n" "Copyright (C) 2002-2003 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 #, fuzzy msgid "About X File Package" msgstr "Sobre o X File View" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Pacotes fonte RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:243 #, fuzzy msgid "DEB packages" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 #, fuzzy msgid "No package loaded" msgstr "Nenhum pacote RPM aberto" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:296 #, fuzzy msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar RPM" #. Make and show command window #: ../src/XFilePackage.cpp:346 #, fuzzy msgid "Uninstall Package" msgstr "Desinstalando pacote :" #: ../src/XFilePackage.cpp:495 #, fuzzy msgid "[RPM package]\n" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:500 #, fuzzy msgid "[DEB package]\n" msgstr "Pacotes RPM" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Consulta de %s falhou!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Erro ao abrir o ficheiro" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Impossivel abrir o ficheiro: %s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "Utilização: xfe [pasta inicial] [opções] \n" "\n" " [pasta inicial] é o caminho para a pasta que pretende abrir no início\n" "\n" " [opções] pode ser uma das seguintes:\n" "\n" " --help Mostra (este) ecrã de ajuda e termina.\n" " --version Mostra a versão e termina.\n" "\n" #: ../src/XFileImage.cpp:104 #, fuzzy msgid "GIF Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:105 #, fuzzy msgid "BMP Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:106 #, fuzzy msgid "XPM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:107 #, fuzzy msgid "PCX Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:108 #, fuzzy msgid "ICO Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:109 #, fuzzy msgid "RGB Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:110 #, fuzzy msgid "XBM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:111 #, fuzzy msgid "TARGA Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:112 #, fuzzy msgid "PPM Image" msgstr "Imagens BMP" #: ../src/XFileImage.cpp:113 #, fuzzy msgid "PNG Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 #, fuzzy msgid "JPEG Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 #, fuzzy msgid "TIFF Image" msgstr "Imagens GIF" #: ../src/XFileImage.cpp:253 #, fuzzy msgid "&Image" msgstr "Imagens PNG" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Abrir:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Abrir documento" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 #, fuzzy msgid "Print" msgstr "Imprimir ficheiro" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Imprimir ficheiro" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Linha:" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "Linha:" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Imprimir ficheiro" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "Ficheiro de código C" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "Ficheiro de código C" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "A terminar o Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr " a pasta :" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "Mostrar imagens como miniaturas" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tMostrar ícones\tMostrar pasta com ícones grandes." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Lista &detalhada de ficheiros" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tMostrar detalhes\tMostrar lista da pasta com detalhes." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "Lista &detalhada de ficheiros" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Seleccionar cor de fundo" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tMostrar ícones\tMostrar pasta com ícones grandes." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Hora do ficheiro" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 #, fuzzy msgid "About X File Image" msgstr "Sobre o X File View" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Error Loading Image" msgstr "Erro ao abrir o ficheiro" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Impossivel abrir completamente o ficheiro: %s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "A Fonte será modificada após reinício.\n" "Reiniciar X File Explorer agora?" #: ../src/XFileImage.cpp:1541 #, fuzzy msgid "Open Image" msgstr "Abrir documento" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 #, fuzzy msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "Utilização: xfe [pasta inicial] [opções] \n" "\n" " [pasta inicial] é o caminho para a pasta que pretende abrir no início\n" "\n" " [opções] pode ser uma das seguintes:\n" "\n" " --help Mostra (este) ecrã de ajuda e termina.\n" " --version Mostra a versão e termina.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 #, fuzzy msgid "XFileWrite Preferences" msgstr "Preferências" #. First tab - Editor #: ../src/WriteWindow.cpp:197 #, fuzzy msgid "&Editor" msgstr "&Editar" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 #, fuzzy msgid "Text" msgstr "Fonte do texto:" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 #, fuzzy msgid "Tabulation size:" msgstr "Total %s" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 #, fuzzy msgid "&Colors" msgstr "Cores" #: ../src/WriteWindow.cpp:222 #, fuzzy msgid "Lines" msgstr "Linha:" #: ../src/WriteWindow.cpp:225 #, fuzzy msgid "Background:" msgstr "Cor de fundo" #: ../src/WriteWindow.cpp:228 #, fuzzy msgid "Text:" msgstr "Fonte do texto:" #: ../src/WriteWindow.cpp:231 #, fuzzy msgid "Selected text background:" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:234 #, fuzzy msgid "Selected text:" msgstr "Seleccione Ícone" #: ../src/WriteWindow.cpp:237 #, fuzzy msgid "Highlighted text background:" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:240 #, fuzzy msgid "Highlighted text:" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:243 #, fuzzy msgid "Cursor:" msgstr "Cor da moldura" #: ../src/WriteWindow.cpp:246 #, fuzzy msgid "Line numbers background:" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:249 #, fuzzy msgid "Line numbers foreground:" msgstr "Seleccionar cor da frente" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Procurar" #: ../src/WriteWindow.cpp:610 #, fuzzy msgid "&Window" msgstr "&Procurar" #. Caption before number #: ../src/WriteWindow.cpp:643 #, fuzzy msgid " Lines:" msgstr "Linha:" #. Caption before number #: ../src/WriteWindow.cpp:650 #, fuzzy msgid " Col:" msgstr "Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 #, fuzzy msgid " Line:" msgstr "Linha:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Criar nova pasta..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "\tAbrir o documento (Ctrl-O)" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "&Gravar" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Abrir documento" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "Fe&char" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tAbrir o documento (Ctrl-O)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Abrir documento" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "&Sair" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "Sobre o X File View" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "" "\tCopiar ficheiros seleccionados para a área de transferência (Ctrl-C, F5)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Copiar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "Colar" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tColar conteúdo da área de transferência (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "Linha:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Procurar" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "\tProcurar novamente (Ctrl-G)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "Leitura" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "&Procurar" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "Exibir barra de endereços" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "Exibir barra de endereços" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Novo &ficheiro" #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "\tAbrir o documento (Ctrl-O)" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Abrir documento" #: ../src/WriteWindow.cpp:782 #, fuzzy msgid "&Clear Recent Files" msgstr "Ficheiro de código C" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 #, fuzzy msgid "&Undo" msgstr "&Procurar" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 #, fuzzy msgid "&Redo" msgstr "Leitura" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Abrir documento" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 #, fuzzy msgid "Cu&t" msgstr "Copiar" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tColar conteúdo da área de transferência (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "Modificação de dono cancelada!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "Modificação de dono cancelada!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Linha:" #: ../src/WriteWindow.cpp:854 #, fuzzy msgid "Select &All" msgstr "Seleccione Ícone" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "Barra de E&stado" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Procurar" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "&Procurar" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "Seleccione Ícone" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "\tAbrir pacote RPM (Ctrl-O)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "&Procurar" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "Seleccionar cor de fundo" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "\tSair do Xfq (Ctrl-Q, F10)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "\tProcurar uma expressão (Ctrl-F)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "&Fontes" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Mudar fonte do texto" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "P&referências" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "Fonte do texto\t\tMudar fonte do texto" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Sobre o X File View" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "Sobre o X File View" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "" #: ../src/WriteWindow.cpp:1094 #, fuzzy, c-format msgid "Unable to read file: %s" msgstr "Impossivel abrir o ficheiro: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 #, fuzzy msgid "Error Saving File" msgstr "Erro ao ler o ficheiro" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1189 #, fuzzy, c-format msgid "File: %s truncated." msgstr "Renomear ficheiro" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 #, fuzzy msgid "About X File Write" msgstr "Sobre o X File View" #: ../src/WriteWindow.cpp:1484 #, fuzzy msgid "Change Font" msgstr "Mudar fonte do texto" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Ficheiros de texto" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Ficheiro de código C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Ficheiros de código C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Ficheiros Header C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 #, fuzzy msgid "HTML Files" msgstr "Ficheiros HTML" #: ../src/WriteWindow.cpp:1532 #, fuzzy msgid "PHP Files" msgstr "Todos os ficheiros" #: ../src/WriteWindow.cpp:1653 #, fuzzy msgid "Unsaved Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 #, fuzzy msgid "Save Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, fuzzy msgid "Overwrite Document" msgstr "Abrir documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1824 #, fuzzy msgid " (changed)" msgstr "Última alteração:" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Somente Leitura" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 #, fuzzy msgid "File Was Changed" msgstr "Última alteração:" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2115 #, fuzzy msgid "Replace" msgstr "Seleccione Ícone" #: ../src/WriteWindow.cpp:2276 #, fuzzy msgid "Goto Line" msgstr "Linha:" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "Utilização: xfe [pasta inicial] [opções] \n" "\n" " [pasta inicial] é o caminho para a pasta que pretende abrir no início\n" "\n" " [opções] pode ser uma das seguintes:\n" "\n" " --help Mostra (este) ecrã de ajuda e termina.\n" " --version Mostra a versão e termina.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Modo consola" #: ../src/foxhacks.cpp:779 #, fuzzy msgid "Ready." msgstr "Leitura" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "" #: ../src/foxhacks.cpp:808 #, fuzzy msgid "Re&place All" msgstr "Seleccione Ícone" #: ../src/foxhacks.cpp:816 #, fuzzy msgid "Search for:" msgstr "&Procurar" #: ../src/foxhacks.cpp:828 #, fuzzy msgid "Replace with:" msgstr "Seleccione Ícone" #: ../src/foxhacks.cpp:841 #, fuzzy msgid "Ex&act" msgstr "Extrair:" #: ../src/foxhacks.cpp:842 #, fuzzy msgid "&Ignore Case" msgstr "I&gnorar letra" #: ../src/foxhacks.cpp:843 #, fuzzy msgid "E&xpression" msgstr "Extensão:" #: ../src/foxhacks.cpp:844 #, fuzzy msgid "&Backward" msgstr "Cor de fundo" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Impossível remover a pasta " #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Impossível remover a pasta " #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr " a pasta :" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Executar comando" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Não pode remover a pasta %s" #: ../src/xfeutils.cpp:917 #, fuzzy msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Copiar ficheiro" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Impossível remover a pasta " #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr " a pasta :" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Dono do arquivo" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Visualizador de texto padrão:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "Editor de texto padrão:" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Pacote " #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "Gerenciador de pacotes da RedHat (RPM) não encontrado!" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tMostrar dois painéis (Ctrl-F4)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Pasta " #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Pasta " #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirmar escrever por cima" #, fuzzy #~ msgid "P&roperties..." #~ msgstr "Propri&edades..." #, fuzzy #~ msgid "&Properties..." #~ msgstr "Propri&edades..." #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "Sobre o X File View" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Executar comando" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Delete: " #~ msgstr "Remover : " #, fuzzy #~ msgid "File: " #~ msgstr "Ficheiro : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Sobre o X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Painel di&reito" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Painel &esquerdo" #, fuzzy #~ msgid "Error " #~ msgstr "Erro" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Execute command " #~ msgstr "Executar comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Registo de Comandos" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #~ msgid "Non-existing file: %s" #~ msgstr "Ficheiro não existente: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Não pode renomear para %s" #, fuzzy #~ msgid "Mouse" #~ msgstr "Mover" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Data de modificação" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Data de modificação" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Montar a pasta :" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tIr para pasta padrão\tVoltar para pasta padrão." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tIr para pasta de trabalho\tVoltar para pasta de trabalho." #, fuzzy #~ msgid "Show icons" #~ msgstr "Mostrar ficheiros :" #, fuzzy #~ msgid "Show list" #~ msgstr "Mostrar ficheiros :" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #, fuzzy #~ msgid "Show details" #~ msgstr "\tMostrar ficheiros ocultos (Ctrl-F5)" #, fuzzy #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "Utilização: xfe [pasta inicial] [opções] \n" #~ "\n" #~ " [pasta inicial] é o caminho para a pasta que pretende abrir no " #~ "início\n" #~ "\n" #~ " [opções] pode ser uma das seguintes:\n" #~ "\n" #~ " --help Mostra (este) ecrã de ajuda e termina.\n" #~ " --version Mostra a versão e termina.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Linha:" #, fuzzy #~ msgid "Open document." #~ msgstr "Abrir documento" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "A terminar o Xfe" #~ msgid "Find" #~ msgstr "Procurar" #, fuzzy #~ msgid "Find again" #~ msgstr "Procurar novamente\tCtrl-G" #, fuzzy #~ msgid "Find string again." #~ msgstr "Procurar novamente\tCtrl-G" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Procurar" #, fuzzy #~ msgid "Find &again" #~ msgstr "Procurar novamente\tCtrl-G" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #, fuzzy #~ msgid "&About X File View" #~ msgstr "Sobre o X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "Sobre o X File View" #~ msgid "About X File View" #~ msgstr "Sobre o X File View" #~ msgid "Error Reading File" #~ msgstr "Erro ao ler o ficheiro" #~ msgid "Unable to load entire file: %s" #~ msgstr "Impossivel abrir completamente o ficheiro: %s" #~ msgid "&Find" #~ msgstr "&Procurar" #~ msgid "Not Found" #~ msgstr "Não encontrado" #~ msgid "String '%s' not found" #~ msgstr "Expressão '%s' não encontrada" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Visualizador de texto padrão:" #, fuzzy #~ msgid "Ignore case" #~ msgstr "I&gnorar letra" #, fuzzy #~ msgid "In directory:" #~ msgstr " a pasta :" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr " a pasta :" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Remover pasta " #, fuzzy #~ msgid "File size at least:" #~ msgstr "Pastas ocultas" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Associações de &Ficheiros" #, fuzzy #~ msgid " Items" #~ msgstr " Items" #, fuzzy #~ msgid "Search results - " #~ msgstr "Procurar ícones em" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tMostrar ícones\tMostrar pasta com ícones grandes." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tMostrar lista\tMostrar pasta com ícones pequenos." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tMostrar detalhes\tMostrar lista da pasta com detalhes." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tMostrar ficheiros ocultos (Ctrl-F5)" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tNão mostra ficheiros ocultos (Ctrl-F5)" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "" #~ "\tCopiar ficheiros seleccionados para a área de transferência (Ctrl-C, F5)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "" #~ "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tMostrar propriedades dos ficheiros seleccionados (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tRemover ficheiros seleccionados (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "" #~ "\tCortar ficheiros seleccionados para a área de transferência (Ctrl-X)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr " a pasta :" #, fuzzy #~ msgid "Search files..." #~ msgstr " Seleccionar..." #, fuzzy #~ msgid "Dir&ectories first" #~ msgstr "Lista de pastas" #, fuzzy #~ msgid "&Directories first" #~ msgstr "Lista de pastas" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr " a pasta :" #, fuzzy #~ msgid "Go to working directory" #~ msgstr " a pasta :" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\tVoltar uma pasta\tVoltar para pasta de topo." #, fuzzy #~ msgid "Go to next directory" #~ msgstr " a pasta :" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " a pasta :" #, fuzzy #~ msgid "Directory name" #~ msgstr "Pasta : " #~ msgid "Confirm quit" #~ msgstr "Confirmar saída" #~ msgid "Quitting Xfe" #~ msgstr "A terminar o Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "Barra de ferramentas\t\tMostrar barra de ferramentas" #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "\tRemover ficheiros seleccionados (Del, F8)" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " Remover item seleccionado ? " #, fuzzy #~ msgid "&Execute" #~ msgstr "Execução" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr " está protegido contra escrita, remover? " #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Confirmar remoção" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ " ficheiros/pastas.\n" #~ "De: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Impossível gravar por cima de uma pasta vazia %s" #, fuzzy #~ msgid "Move folder " #~ msgstr "Montar a pasta :" #~ msgid "File " #~ msgstr "Ficheiro " #, fuzzy #~ msgid "Can't copy folder " #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid ": Permission denied" #~ msgstr " : Permissão negada" #, fuzzy #~ msgid "Can't copy file " #~ msgstr "Impossível remover o ficheiro" #, fuzzy #~ msgid "Installing package: " #~ msgstr "Intalando um pacote :" #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Intalando um pacote :" #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ " ficheiros/pastas.\n" #~ "De: " #, fuzzy #~ msgid " Move " #~ msgstr "Mover " #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tRemover ficheiros seleccionados (Del, F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Impossível remover o ficheiro" #, fuzzy #~ msgid " selected items? " #~ msgstr " ficheiros selecionados" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr " está protegido contra escrita, remover? " #, fuzzy #~ msgid "X File Package Version " #~ msgstr "Sobre o X File View" #, fuzzy #~ msgid "X File Image Version " #~ msgstr "Sobre o X File View" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Preferências" #, fuzzy #~ msgid "X File View Version " #~ msgstr "Permissões do ficheiro" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Montar a pasta :" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tRemover ficheiros seleccionados (Del, F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Grupo" #, fuzzy #~ msgid "Go home" #~ msgstr "Ir para pasta padrão\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Lista &detalhada de ficheiros" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Executar comando" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "&Adicionar marcador\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tActualizar o painel (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "&Terminal" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Impossível remover a pasta " #, fuzzy #~ msgid "Deleted from" #~ msgstr "Remover : " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Remover pasta : " xfe-1.42/po/POTFILES.skip0000644000175100017510000000012612435055657011713 00000000000000src/icons.cpp xfe.desktop.in.in xfi.desktop.in.in xfp.desktop.in.in xfw.desktop.in.in xfe-1.42/po/zh_CN.po0000644000175100017510000051734712746115274011156 00000000000000# translation of zh_CN.po to zh_CN # Copyright (C) 2007 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # xinli , 2007. # # msgid "" msgstr "" "Project-Id-Version: Xfe 1.18\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2008-05-30 22:54+0200\n" "Last-Translator: xinli \n" "Language-Team: zh_CN\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "载入图标出错" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "不能载入一些图标,请检查你的图标路径" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "用户" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "读取" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "写入" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "执行" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "组" #: ../src/Properties.cpp:66 msgid "Others" msgstr "其他" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "所有者" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "命令" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "设置标志" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "递归" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "清除标志" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "文件和目录" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "添加标志" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "仅目录" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "仅所有者" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "仅文件" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "属性" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "同意(&A)" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "取消(&C)" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "普通(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "权限(&P)" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "文件关联(&F)" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "扩展名" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "描述" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "打开:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\t选择文件" #: ../src/Properties.cpp:244 msgid "View:" msgstr "查看" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "编辑" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "解压" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "安装/升级" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "大图标" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "小图标" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "文件名" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=>警告: 文件名编码不是 UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "文件系统(%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "文件夹" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "字符设备" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "块设备" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "指定管道" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "可执行" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "文档" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "错误链接" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "连接到" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "载入点" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "载入类型" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "使用" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "空闲" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "文件系统" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "地址:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "类型" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "合计大小" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "连接到:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "错误链接到:" #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\t清除地址条\t清除地址条" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "文件时间" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "建立时间" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "最后修改" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "最后访问" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "删除日期: " #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu 字节)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu 字节)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "大小" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "选择:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "多种类型" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr "对象" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\t显示所选文件属性(F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\t显示所选文件属性(F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "属性" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "警告" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "移动文件取消!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "文件名为空,操作已取消!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "错误" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "目录 %s 不存在" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "文件重命名" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "文件所有者" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "改变所有者取消!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chmod %s 失败: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chmod %s 失败 :" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod %s 失败 : %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "文件权限" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "改变文件权限取消!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod %s 失败 :" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "在一个所选项目中" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "无权限修改文件!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "选择一个可执行文件" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "所有文件" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG映像" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF映像" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP映像" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "选择一个图标文件" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "%d 项目包含%d目录和%d文件" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "复制到这里" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "移动到这里" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "链接到这里" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "取消" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "复制文件" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "移动文件" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "文件链接" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "复制" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "·文件/目录.\n" "从:·" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "移动" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "·文件/目录.\n" "从:·" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "链接" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "到:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "在移动文件操作时产生一个错误!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "移动文件取消!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "在复制文件时发生一个错误!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "复制文件取消!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "挂载点 %s 无反应" #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "连接到目录" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "目录" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "显示隐藏目录" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "隐藏目录(&H)" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "根目录为0字节" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "选择面板(&i)\tCtrl-P" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "到%s的权限不够" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "新目录(&f)" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "隐藏目录(&H)" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 #, fuzzy msgid "Ignore c&ase" msgstr "忽略事件(&g)" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "反转次序(&R)" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "展开树(&x)" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "关闭树(&s)" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "面板(&l)" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "载入(&o)" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "卸载(&t)" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "压缩(&A)" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "复制(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "剪切(&u)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "粘贴(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "改名(&n)" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "复制到...(&y)" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移动到...(&M)" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "创建链接(&k)到..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "移动到回收站(&v)" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "从回收站中删除" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "删除(&D)" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "属性(&e)" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "文件名为空,操作已取消!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "新建压缩包" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "复制" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "重命名" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "重命名" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "复制到" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "移动" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "链接" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "对象来源:" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s 不是一个目录" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "在链接操作时产生一个错误!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "链接操作取消!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "决定删除目录" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "确认删除" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "文件删除" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "非空,确定删除?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "写保护,无论如何都要删除吗?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "删除目录操作已取消!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "移动到回收站" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "确认回收站" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "移动到回收站" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "写保护,无论如何都要移动到回收站吗?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "在移动到回收站的操作中产生一个错误!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "移动到回收站的操作已取消!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "从回收站中删除" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "确认删除" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "不能覆盖非空目录 %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "不能删除目录 %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "在移动到回收站的操作中产生一个错误!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "移到回收站操作取消!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "新建目录:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "新的目录" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "执行命令" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "载入" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "卸载" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr "文件系统..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr "目录 :" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr "操作取消!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr "在当前目录中" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "源 :" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "目标:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "修改时间: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "修改时间: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "删除:" #: ../src/File.cpp:136 msgid "From:" msgstr "从:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "更改权限..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "文件:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "更改所有者..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "载入文件系统..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "载入目录:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "卸载文件系统..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "卸载目录:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "已经存在,是否覆盖?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "确定覆盖" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "不能复制文件" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "不能复制文件" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "源: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "目标: " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "源 %s 不存在" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "源 %s 和目标相同" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "删除目录: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "从: " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "不能删除目录 %s" #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "不能删除目录 %s" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "不能删除文件 %s" #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "不能删除文件 %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "文件或目录%s已经存在" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "不能改名为 %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "新建符号链接:" #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "新建符号链接:" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "目录: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "解压存档" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "加入存档" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "失败命令: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "成功" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "目录 %s 已成功载入" #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "目录 %s 已成功卸载" #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "安装/升级包" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "安装包: " #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "卸载包" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "正在卸载包: " #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "文件名(&F)" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "确定(&O)" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "文件过滤(&i)" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "只读" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\t回到\t移动到上回目录" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\t前进\t移动到下次目录" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "root目录" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr "目录 :" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\t到工作目录\t回到工作目录." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "新的目录" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "大图标(&i)" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "小图标(&S)" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "显示隐藏目录" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "隐藏文件(&H)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\t显示缩略图" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\t不显示缩略图" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "新建目录..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "新建目录..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "新文件" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "文件或目录%s已经存在" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "前往主目录(&h)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "前往工作目录(&w)" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "新建文件(&f)" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "新建目录(&o)" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "隐藏文件(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "缩略图(&b)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "大图标(&i)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "小图标(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "详细列表(&F)" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "横排(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "竖排(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "文件名(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "大小(&z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "类型(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "扩展名(&x)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "日期(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "用户" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "组" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "目录" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "颠倒顺序(&v)" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "文件(&F):" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "类型(&S)" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "大小(&z):" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "字符设置:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "任何" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "西欧" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "东欧" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "南欧" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "北欧" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "斯拉夫" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "阿拉伯" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "希腊" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "西伯拉" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "土耳其" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "日尔曼" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "泰国" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "波罗的海" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "凯尔特" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "俄罗斯" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "中欧 (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "俄罗斯 (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "拉丁文 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "希腊文 (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "土耳其语 (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "希伯来语 (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "阿拉伯语 (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "波罗的海语 (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "越南 (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "泰国 (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "设置宽度:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "极端缩进" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "额外缩进" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "缩进" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "半缩进" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "普通" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "半展开" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "展开" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "额外展开" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "极端展开" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "固定的" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "变量" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "可升级:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "所有字体:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "预览:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\t以root身份启动Xfe(Shift-F3)" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "否(&N)" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "是(&Y)" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "退出(&Q)" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "保存(&S)" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "全部选是(&A)" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "输入用户密码:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "输入root密码:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 #, fuzzy msgid "An error has occurred!" msgstr "在链接操作时产生一个错误!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "文件名: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "根目录大小" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "类型: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "修改时间: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "用户: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "组: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "权限: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "删除日期: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "大小: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "大小" #: ../src/FileList.cpp:150 msgid "Type" msgstr "类型" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "扩展名" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "修改时间" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "权限" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "不能载入图像" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "删除日期" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "过滤" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "状态" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "确认删除" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "命令日志" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "文件名为空,操作已取消!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "到目录:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "不能写入 %s: 没有权限" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "移动到回收站" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\t移动所选文件到回收站(Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "写保护,确认移动到回收站吗?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "移到回收站操作取消!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "移动所选文件到回收站?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "决定删除目录" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "决定删除所选项目? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "写保护,确定删除?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "已取消删除文件操作!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "新建文件:" #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "不能删除目录 %s" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "新建符号链接:" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "不能写入 %s: 没有权限" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "新建符号链接:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "新链接" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "选择文件或目录的链接" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "链接源 %s 不存在" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "用...打开所选文件:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "用...打开" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "操作(&s)" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "显示文件:" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "新建文件(&f)" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新链接(&y)" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "过滤(&l)" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "详细列表(&F)" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "权限" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "新建文件(&f)" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "载入(&M)" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "用...打开(&w)" #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "打开(&O)" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "解压到目录(&a)" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "在此解压(&E)" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "解压到...(&x)" #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "查看(&V)" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "安装/升级(&g)" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "卸载(&i)" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "编辑(&E)" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "替换(&R)" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "包内查询(&q) " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "描述(&D)" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "root目录" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "复制到...(&t)" #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "移动到回收站" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "从回收站中删除" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "源 :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "属性" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "选择一个目标目录." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "所有文件" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "安装/升级包" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "卸载包" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "不能删除目录 %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "没有发现相应的包管理器" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " 属于包: " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "文件信息" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " 属于包: " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "选择的项目" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 字节" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr "在一个所选项目中" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr "对象" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr "对象" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "链接" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr " - 过滤: " #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "书签最大数目已经达到,最近一次将被删除..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "清除书签(&C)" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "确定退出Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "关闭(&o)" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "不能删除文件 %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "不能删除文件 %s" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>>·指令撤销·<<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> 指令结束 ·<<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\t选择目的地." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "选择一个文件" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "选择一个文件或目标目录" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "加入到压缩包" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "新的压缩包名字:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "格式化:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\t存档格式为·tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\t存档格式为zip" #: ../src/ArchInputDialog.cpp:65 #, fuzzy msgid "7z\tArchive format is 7z" msgstr "zip\t存档格式为zip" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\t存档格式为·tar.bz2" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\t存档格式为·tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\t存档格式为·tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\t存档格式为·tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\t存档格式为·gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\t存档格式为·bz2" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "zip\t存档格式为zip" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\t存档格式为·Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "配置" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "当前主题" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "选项" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "删除文件时将其移到回收站(安全删除)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "包括跳过回收站的删除指令(永久删除)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "自动保存当前布局" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "单击打开文件" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "单击打开文件" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "在文件和目录列表中显示提示" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "在文件列表上显示路径" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "目录" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "root目录" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "平滑滚动文件列表和文本窗口" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "鼠标滚动速度:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "root模式" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "root模式" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "使用su(使用root密码)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "使用sudo使用用户自己密码)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "对话(&D)" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "确认" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "复制/移动/改名/链接 确认" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "拖放确认" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "确认删除" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "确认删除非空目录" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "确定覆盖" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "确认删除" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "属性" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "警告" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "在载入点失去相应时发出警告" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "显示载入/卸载的成功信息" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "以root身份运行时给出警告" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "文件关联(&P)" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "默认程序" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "默认的文件查看器:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "默认的文件编辑器:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "文件权限" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "默认图像编辑器:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "默认的图像查看器:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "默认归档:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Pdf查看器:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "音频播放器:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "视频播放器:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "终端程序:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "载入" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "卸载" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "主题(&T)" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "颜色主题" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "自定义颜色" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "双击个性化颜色" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "基本颜色" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "边界颜色" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "背景颜色" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "基本颜色" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "选中背景颜色" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "选中前景颜色" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "文件列表背景颜色" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "文件列表高亮颜色" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "文件列表高亮颜色" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "边界颜色" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "基本颜色" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "边界颜色" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "控制" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "图标主题路径" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\t选择路径..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "字体(&F)" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "字体" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "标准字体:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr "选择" #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "文本字体:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "选择一个图标主题目录或者一个图标文件" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "选择标准字体" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "选择文本字体" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "新建文件:" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "新建目录:" #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "复制(&C)\tCtrl-C\t复制所选到剪贴板(Ctrl-C)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "剪切(&t)\tCtrl-X\t剪切所选到剪贴板(Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\t从剪贴板粘贴(Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "打开文件...(&O)\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "选择所有(&A)" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "全部不选(&D)\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "反向选择(&I)\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "工具栏(&T)\t\t显示工具栏" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "显示隐藏目录" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "\t显示缩略图" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "新窗口(&w)\tF3" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "打印" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "搜索" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "搜索:" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "搜索" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "左面板(&L)" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "新建符号链接:" #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "属性" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "移动到回收站" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "从回收站中删除" #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "删除目录: " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "新建文件:" #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "新的root窗口(&r)\tShift-F3" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "执行命令" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\t启动Xfe(F3)" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "载入文件系统..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "卸载文件系统..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "左面板(&L)" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "显示树和面板(&r)\tCtrl-F2" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "显示两个面板(&p)\tCtrl-F3" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "显示树和两个面板(&e)\tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\t清除地址条\t清除地址条" #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "重命名" #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\t转到\t转到地址" #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "添加书签(&A)\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "同步面板(&S)\tCtrl-Y" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "移动到回收站" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "清空回收站" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "查看" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "编辑" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "显示隐藏目录" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "文件时间" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "转到.." #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "新建目录..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "保存%s到文件?" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "转到.." #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "撤销(&U)\tCtrl-Z\t撤销最近改动(Ctrl-Z)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "撤销(&U)\tCtrl-Z\t撤销最近改动(Ctrl-Z)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "替换" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "自动换行(&W)\tCtrl-K\t自动换行模式(Ctrl-K)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "显示行号(&L)\tCtrl-T\t显示行号模式(Ctrl-T)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "修改(&O)\t\t修改模式." #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "修改(&O)\t\t修改模式." #. Confirmation message #: ../src/Preferences.cpp:1088 #, fuzzy msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "确定清空回收站? \n" "\n" "所有的项目都会永久删除!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "重启" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "文本字体将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "滚动模式将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "主题将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "路径链接将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "按键风格将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "标准字体将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "文本字体将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "跳过(&S)" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "跳过所有(&l)" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "源 :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "修改时间: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "目标:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "执行" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "控制台模式" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "关闭(&C)" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "左面板(&L)" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\t复制所选文件到剪贴板(Ctrl-C)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\t剪切所选文件到剪贴板(Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\t显示所选文件属性(F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\t移动所选文件到回收站(Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\t删除所选文件(Shift-Del)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "详细列表(&F)" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "忽略事件(&g)" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "包内查询(&q) " #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "root目录" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "对象来源:" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr "对象" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "打印" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "到目录:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "新目录(&f)" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "文本字体:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "搜索:" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "搜索:" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "搜索:" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "打印" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "合计大小" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "建立时间" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "建立时间" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "用户: " #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "文件时间" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "组: " #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "文件时间" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "文件系统" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "文件:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "文件时间" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "权限: " #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "文件权限" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "显示文件:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "显示文件:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "新建符号链接:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "新建符号链接:" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "递归" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "卸载文件系统..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "搜索:" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "搜索:" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "搜索" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\t选择路径..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "新建符号链接:" #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\t移动所选文件到回收站(Del, F8)" #: ../src/XFileExplorer.cpp:678 #, fuzzy msgid "Launch Xfe" msgstr "\t启动Xfe(F3)" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\t显示一个面板Ctrl-F1)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\t显示树和面板(Ctrl-F2)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\t显示两个面板(Ctrl-F3)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\t显示树和两个面板(Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\t清除地址条\t清除地址条" #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\t转到\t转到地址" #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "新目录(&f)" #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "前往主目录(&h)" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "刷新(&R)\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "复制到...(&y)" #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "创建链接(&k)到..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "属性" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "文件(&F)" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "选择所有(&A)" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "全部不选(&D)\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "反向选择(&I)\tCtrl-I" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "选项(&r)" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "普通工具栏(&G)" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "工具栏(&T)" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "面板工具栏(&T)" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "地址栏(&L)" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "状态栏(&S)" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "左面板(&L)" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "显示树和面板(&r)\tCtrl-F2" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "显示两个面板(&p)\tCtrl-F3" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "显示树和两个面板(&e)\tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "添加书签(&A)\tCtrl-B" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "清除书签(&C)" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "书签(&B)" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "过滤(&F)" #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "缩略图(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "大图标(&B)" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "类型(&y)" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "日期(&D)" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "用户" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "组" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "目录" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "左面板(&L)" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "过滤(&F)" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "目录" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "右面板(&R)" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "新窗口(&w)\tF3" #: ../src/XFileExplorer.cpp:1064 #, fuzzy msgid "New &root window" msgstr "新的root窗口(&r)\tShift-F3" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "执行命令" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "终端程序:" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "同步面板(&S)\tCtrl-Y" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "选择面板(&i)\tCtrl-P" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "root目录" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "搜索(&S)" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "卸载" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "工具(&T)" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "移动到回收站" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "合计大小" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "清空回收站" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "回收站(&r)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "帮助(&H)" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "关于X File Explorer(&A)" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "正在以root身份运行Xfe!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "配置文件xferc没有找到,请选择一个配置文件..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE配置文件" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "帮助" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer 版本 " #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "\n" "\n" "版权 (C) 2002-2008 Roland Baudin (roland65@free.fr)\n" "简体中文翻译:辛力(xinliGG@gmail.com)\n" "\n" "基于 Maxim Baranov的X WinCommander\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "关于X File Explorer(&A)" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "面板(&P)" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "执行命令:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "控制台模式" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "确定退出Xfe?" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr "在当前目录中" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "确定清空回收站? \n" "\n" "所有的项目都会永久删除!" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "修改时间: " #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "合计大小" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "不能覆盖非空目录 %s" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "不能删除目录 %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "文件关联(&F)" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "文件关联(&F)" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "选项(&P)" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\t打开压缩包(Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "打开(&O)" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "工具栏(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "关于X File Image" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "卸载(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "安装/升级(&I)" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "描述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "文件列表(&L)" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "是一个简洁的rpm或deb包管理器.\n" "\n" "版权所有 (C) 2002-2008 Roland Baudin (roland65@free.fr) \n" "\n" "简体中文翻译:辛力(xinliGG@gmail.com)" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "关于X File Image" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM源码包" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM包" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB包" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "打开文档" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "没有加载包" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "未知的包格式" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "安装/升级包" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "卸载包" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM包]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB包]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "查询%s失败" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "加载文件错误" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "不能打开文件: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF映像" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP映像" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM映像" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX映像" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO映像" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB映像" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM映像" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA映像" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM映像" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG映像" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG映像" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF映像" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "映像(&I)" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "打开:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "打开图像" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "打印" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "转到.." #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "转到.." #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "打印" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "清除最近文件(&C)" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "清除最近文件(&C)" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "退出Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\t显示缩略图" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\t显示图标\t以大图标显示目录." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\t显示列表\t以小图标显示目录." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "详细列表(&F)" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\t显示细节\t显示详细目录列表." #: ../src/XFileImage.cpp:739 #, fuzzy msgid "View icons row-wise." msgstr "横排图标(&R)\t\t横排图标显示" #: ../src/XFileImage.cpp:740 #, fuzzy msgid "View icons column-wise." msgstr "竖排图标(&C)\t\t竖排图标显示" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "工具栏(&T)\t\t显示工具栏" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "详细列表(&F)" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "文件列表高亮颜色" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\t显示图标\t以大图标显示目录." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "文件时间" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "文件列表(&F)\t\t显示文件列表" #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "打开时调整窗口(&w)\t\t打开图像时调整窗口" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "关于X File Image" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "关于X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "关于X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "载入文件错误" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "不支持的类型: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "不能载入图形,文件可能损坏" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "文本字体将会在重启之后改变\n" "现在就重启X File Explore?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "打开图像" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "输入打印指令: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite参数" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "编辑(&E)" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "文本" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "边缘换行:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "表格尺寸:" #: ../src/WriteWindow.cpp:212 #, fuzzy msgid "Strip carriage returns:" msgstr "去掉回车: " #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "颜色(&C)" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "线条" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "背景:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "文本" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "选择文本背景:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "选择文本:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "高亮文本背景:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "高亮文本:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "指针:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "线条数量背景:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "线条数量前景:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "搜索(&S)" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "窗口(&W)" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " 线条:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " 列:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " 行:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "新建目录..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "打开文档" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "保存(&S)" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "保存文档" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "关闭(&o)" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\t关闭(Ctrl-W)\t关闭文档(Ctrl-W)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "覆盖文档" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "退出(&Q)" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "关于X File Write" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "复制(&C)\tCtrl-C\t复制所选到剪贴板(Ctrl-C)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "剪切(&u)" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "剪切(&t)\tCtrl-X\t剪切所选到剪贴板(Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "粘贴(&P)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\t从剪贴板粘贴(Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "撤消(&U)" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "撤销(&U)\tCtrl-Z\t撤销最近改动(Ctrl-Z)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "重做(&R)" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "搜索" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "选中背景颜色" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search forward for selected text." msgstr "向下搜索(&f)\tCtrl-G\t向下搜索(Ctrl-G, F3)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "自动换行(&W)\tCtrl-K\t自动换行模式(Ctrl-K)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "自动换行(&W)\tCtrl-K\t自动换行模式(Ctrl-K)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers" msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers." msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "新建文件(&f)" #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "保存%s到文件?" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "另存为(&A)...\t\t另存为" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "未保存的文档" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "清除最近文件(&C)" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "撤消(&U)" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "重做(&R)" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to &saved" msgstr "回到存盘时(&s)\t\t回到存盘时" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "保存文档" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "剪切(&t)" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\t从剪贴板粘贴(Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "改变所有者取消!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "改变所有者取消!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "转到.." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "选择所有(&A)" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "状态栏(&S)" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "状态条(&S)\t\t显示状态条" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "搜索(&S)" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "搜索:" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "替换(&R)" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "替换(&R)...\tCtrl-R\t替换一个字符串(Ctrl-R)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "搜索:" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "自动换行(&W)\tCtrl-K\t自动换行模式(Ctrl-K)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "转到..行(&G)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "显示行号(&L)\tCtrl-T\t显示行号模式(Ctrl-T)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "修改(&O)\t\t修改模式." #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "字体(&F)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "选择文本字体" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "选项(&r)" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "更多的设置(&M)...\t\t设置其他选项" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "关于X File Write" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "关于X File Write" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "文件%s过大(%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "不能读取%s文件" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "保存文件出错" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "文件%s过大" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "文件%s有丢失" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "无标题" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "无标题%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "关于X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "设置字体" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "文本文件" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C源代码文件" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++源代码文件" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++头文件" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML文件" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP文件" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "未保存的文档" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "保存%s到文件?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "保存文档" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "覆盖文档" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "覆盖已有的文档: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (已修改)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "只读" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "修改" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "插入" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "文件已修改" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "已经被另外的程序修改,重新载入文件?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "替换" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "转到.." #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "转到..行(&G)" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "root模式" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "完成" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "替换(&R)" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "替换所有(&p)" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "搜索:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "替换为:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "原样(&a)" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "忽略事件(&I)" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "语法(&x)" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "向后(&B)" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "不能删除目录 %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "不能删除目录 %s" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "root目录" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "执行命令" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "不能关闭目录 %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "字节" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "复制文件" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "不能删除目录 %s" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "root目录" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "文件所有者" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "默认的图像查看器:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "默认的文件编辑器:" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "包内查询(&q) " #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "没有发现相应的包管理器" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\t显示两个面板(Ctrl-F3)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "目录" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "目录" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "确定覆盖" #~ msgid "P&roperties..." #~ msgstr "属性(&r)" #, fuzzy #~ msgid "&Properties..." #~ msgstr "属性(&r)" #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "关于X File Write" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "执行命令" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "不能覆盖非空目录 %s" #~ msgid "Delete: " #~ msgstr "删除: " #~ msgid "File: " #~ msgstr "文件: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "关于X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "右面板(&R)" #, fuzzy #~ msgid "&Left panel " #~ msgstr "左面板(&L)" #, fuzzy #~ msgid "Error " #~ msgstr "错误" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "执行命令" #, fuzzy #~ msgid "Command log " #~ msgstr "命令日志" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "不能覆盖非空目录 %s" #~ msgid "Non-existing file: %s" #~ msgstr "文件%s不存在" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "不能改名为 %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "鼠标滚动速度:" #~ msgid "Mouse" #~ msgstr "鼠标" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "修改时间: " #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "修改时间: " #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "不能载入一些图标,请检查你的图标路径" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\t回到\t移动到上回目录" #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\t前进\t移动到下次目录" #, fuzzy #~ msgid "Go up one folder" #~ msgstr "载入目录:" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\t向上\t打开父文件夹." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\t到home目录\t回到home目录." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\t到工作目录\t回到工作目录." #, fuzzy #~ msgid "Show icons" #~ msgstr "显示文件:" #, fuzzy #~ msgid "Show list" #~ msgstr "显示文件:" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\t显示列表\t以小图标显示目录." #, fuzzy #~ msgid "Show details" #~ msgstr "\t显示缩略图" #~ msgid "Col:" #~ msgstr "列:" #~ msgid "Line:" #~ msgstr "行:" #, fuzzy #~ msgid "Open document." #~ msgstr "打开文档" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "退出Xfe" #~ msgid "Find" #~ msgstr "查找" #, fuzzy #~ msgid "Find string again." #~ msgstr "\t查找字符串(Ctrl-F)\t在文档中查找字符串(Ctrl-F)" #, fuzzy #~ msgid "&Find..." #~ msgstr "查找(&F)" #, fuzzy #~ msgid "Find a string in a document." #~ msgstr "\t查找字符串(Ctrl-F)\t在文档中查找字符串(Ctrl-F)" #, fuzzy #~ msgid "Display status bar." #~ msgstr "状态栏(&S)\t\t显示或隐藏状态栏" #, fuzzy #~ msgid "&About X File View" #~ msgstr "关于X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "关于X File View" #~ msgid "About X File View" #~ msgstr "关于X File View" #~ msgid "Error Reading File" #~ msgstr "读取文件错误" #~ msgid "Unable to load entire file: %s" #~ msgstr "不能载入完整文件: %s" #~ msgid "&Find" #~ msgstr "查找(&F)" #~ msgid "Not Found" #~ msgstr "没有找到" #~ msgid "String '%s' not found" #~ msgstr "字符串'%s'没有找到" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "默认的文件查看器:" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "Ignore case" #~ msgstr "忽略事件(&g)" #, fuzzy #~ msgid "In directory:" #~ msgstr "root目录" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "root目录" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "从回收站中删除" #, fuzzy #~ msgid "File size at least:" #~ msgstr "文件和目录" #, fuzzy #~ msgid "File size at most:" #~ msgstr "文件关联(&F)" #, fuzzy #~ msgid " Items" #~ msgstr "对象" #, fuzzy #~ msgid "Search results - " #~ msgstr "搜索:" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\t显示图标\t以大图标显示目录." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\t显示列表\t以小图标显示目录." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\t显示细节\t显示详细目录列表." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\t显示缩略图" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\t不显示缩略图" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\t复制所选文件到剪贴板(Ctrl-C)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\t剪切所选文件到剪贴板(Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\t显示所选文件属性(F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\t移动所选文件到回收站(Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\t删除所选文件(Shift-Del)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "隐藏文件(&H)\tCtrl-F6\t显示隐藏文件和目录(Ctrl-F6)" #, fuzzy #~ msgid "Search files..." #~ msgstr "\t选择文件" #~ msgid "Dir&ectories first" #~ msgstr "目录优先&e()" #~ msgid "&Directories first" #~ msgstr "目录优先(&D)" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "root目录" #, fuzzy #~ msgid "Go to working directory" #~ msgstr "root目录" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\t回到\t移动到上回目录" #, fuzzy #~ msgid "Go to next directory" #~ msgstr "root目录" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "不能删除目录 %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "root目录" #, fuzzy #~ msgid "Directory name" #~ msgstr "目录列表" #~ msgid "Single click directory open" #~ msgstr "单击打开目录" #~ msgid "Confirm quit" #~ msgstr "确定退出" #~ msgid "Quitting Xfe" #~ msgstr "退出Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "工具栏(&T)\t\t显示工具栏" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "工具栏(&T)\t\t显示或隐藏工具栏" #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "移动所选文件到回收站?" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr "决定删除所选项目? " #, fuzzy #~ msgid "&Execute" #~ msgstr "执行" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "不能覆盖非空目录 %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\t存档格式为·rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\t存档格式为·lzh" #, fuzzy #~ msgid "arj\tArchive format is arj" #~ msgstr "tar\t存档格式为·tar" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "源 %s 和目标相同" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "在复制文件时发生一个错误!" #~ msgid "File list: Unknown package format" #~ msgstr "文件列表: 未知的包格式" #~ msgid "Description: Unknown package format" #~ msgstr "描述: 未知的包格式" #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "产生一个错误! \n" #~ "请注意root模式需要你的系统上有一个可执行的xterm." #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires the selection of a valid terminal " #~ "program in the Preferences menu." #~ msgstr "" #~ "产生一个错误! \n" #~ "请注意root模式需要你的系统上有一个可执行的xterm." #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "产生一个错误! \n" #~ "请注意root模式需要你的系统上有一个可执行的xterm." #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "非空,确认移动到回收站吗?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "确定删除" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "对象来源:" #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "不能覆盖非空目录 %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "不能覆盖非空目录 %s" #~ msgid "Move folder " #~ msgstr "移动目录" #~ msgid "File " #~ msgstr "文件" #~ msgid "Can't copy folder " #~ msgstr "不能复制目录" #~ msgid ": Permission denied" #~ msgstr ": 权限不足" #~ msgid "Can't copy file " #~ msgstr "不能复制文件" #~ msgid "Installing package: " #~ msgstr "安装包: " #~ msgid "Uninstalling package: " #~ msgstr "正在卸载包: " #~ msgid " items from: " #~ msgstr "对象来源:" #~ msgid " Move " #~ msgstr "移动 " #~ msgid " selected items to trash can? " #~ msgstr "移动所选文件到回收站吗?" #~ msgid " Definitely delete " #~ msgstr "决定删除" #~ msgid " selected items? " #~ msgstr "选择的项目?" #~ msgid " is not empty, delete it anyway?" #~ msgstr "非空,确定删除?" #~ msgid "X File Package Version " #~ msgstr "X File Image 版本" #~ msgid "X File Image Version " #~ msgstr "X File Image 版本" #~ msgid "X File Write Version " #~ msgstr "X File Write版本" #~ msgid "X File View Version " #~ msgstr "X File View版本" #, fuzzy #~ msgid "Restore folder " #~ msgstr "移动目录" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "移动所选文件到回收站吗?" #, fuzzy #~ msgid "Go up" #~ msgstr "组" #, fuzzy #~ msgid "Go home" #~ msgstr "前往主目录(&h)" #, fuzzy #~ msgid "Go work" #~ msgstr "前往工作目录(&w)" #, fuzzy #~ msgid "Full file list" #~ msgstr "详细列表(&F)" #, fuzzy #~ msgid "Execute a command" #~ msgstr "执行命令" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "添加书签(&A)\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\t刷新面板(Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "终端程序:" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "目录已经在回收站了!决定删除目录" #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "文件已经在回收站中,决定删除文件?" #, fuzzy #~ msgid "Deleted from" #~ msgstr "删除: " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "删除目录: " xfe-1.42/po/ru.po0000644000175100017510000064520012746115274010571 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2005 Roland Baudin # This file is distributed under the same license as the xfe package. # Dmytrij , 2006. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.32.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2010-03-20 12:59+0300\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Использование: xfe [параметры] [начальная папка] \n" "\n" " [параметры] могут быть:\n" "\n" " -h, --help Вывести это сообщение и выйти.\n" " -v, --version Вывести информацию о версии и выйти.\n" " -i, --iconic Запустить свёрнутым в значек.\n" " -m, --maximized Запустить с развёрнутым окном.\n" "\n" " [начальная папка] это путь к папке, которая откроется при старте.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Внимание: Не найден режим панели, возврат к сохраненному режиму\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Ошибка загрузки значков" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Невозможно загрузить некоторые значки. Пожалуйста, проверьте правильность " "пути!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Пользователь" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Чтение" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Запись" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Исполнение" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Группа" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Другие" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Специальный" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Задать UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Задать GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Липкий" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Владелец" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Команда" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Установить метку" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Рекурсивно" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Снять метку" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Файлы и папки" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Добавить метку" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Только папки" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Только владелец" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Только файлы" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Параметры" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Применить" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "О&тменить" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Главные" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Права" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Ассоциации &файлов" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Расширение:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Описание:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Открыть:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "Выбрать ..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Просмотреть:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Редактировать:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Извлечь:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Установить/Обновить:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Большой значок:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Маленький значок:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Имя" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Внимание: кодировка имени файла не UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Файловая система (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Папка" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Символьное устройство" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Блочное устройство" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Именованный канал" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Сокет" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Исполняемый" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Документ" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Неверная ссылка" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Ссылка на" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Точка монтирования" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Тип монтирования:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Использовано:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Свободно:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Файловая система:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Адрес:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Тип:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Полный размер:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Ссылка на:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Неверная ссылка на:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Первоначальный адрес:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Время файла:" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Последняя модификация:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Последнее изменение:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Последний доступ:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Всплывающие уведомления" #: ../src/Properties.cpp:719 #, fuzzy msgid "Disable startup notification for this executable" msgstr "Отключать всплывающие уведомления для этого файла" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Дата удаления:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu байт)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu байт)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Размер:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Выделение:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Несколько типов" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d элементы" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d файлы, %d папки" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Показать свойства выбранных файлов" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Показать свойства выбранных файлов" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Свойства файлов" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Предупреждение" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Перемещение файла прервано!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Ошибка" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Невозможно записать в %s: доступ запрещен" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Папка %s не существует" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Переименовать файл" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Владелец файла" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Изменение владельца прервано!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Изменить владельца: %s не удалось " #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Смена владельца %s не удалась" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Установка специальных разрешений может быть опасной! Все равно продолжать?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Изменение полномочий %s не удалось: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Права доступа к файлу" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Изменение прав доступа к файлам прервано!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Изменение полномочий %s не удалось" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " в одном выбранном объекте" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Изменение прав доступа к файлам прервано!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Выбрать исполняемый файл" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Все файлы" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Изображения PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Изображения GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Изображения BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Выбрать значок файла" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u файлов а %u папок" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Копировать сюда" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Переместить сюда" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Ссылка сюда" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Отменить" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Скопировать файл" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Переместить файл" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Файл символической ссылки" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Копировать" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Копирование %s файлов/папок.\n" "Из: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Переместить" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Перемещение %s файлов/папок.\n" "Из: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Символическая ссылка" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Для:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Произошла ошибка во время перемещения файлов!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Перемещение файла прервано!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Произошла ошибка при копировании файлов!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Копирование файла прервано!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Точка монтирования %s не отвечает..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Ссылка на папку" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Папки" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Показать скрытые папки" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Скрыть скрытые папки" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 байт в root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Панель активирована" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Переключатель панелей" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "Доступ к %s: запрещен." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Новая &папка..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Скр&ытые папки" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Игнорировать р&егистр" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "О&братный порядок" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Ра&звернуть дерево" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Свер&нуть дерево" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Пане&ль" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "С&монтировать" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Ра&змонтировать" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Добавить к архиву..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Копировать" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Вырезать" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Вст&авить" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Пере&именовать" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Скоп&ировать в..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Пе&реместить в..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Си&мволическая ссылка..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Уда&лить в корзину" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Восс&тановить из корзины" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Удалить" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "&Свойства " #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Невозможно удалить папку %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Невозможно создать папку %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Создать архив" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Копировать" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Копировать элементы %s от: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Переименовать" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Переименовать" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Копировать в" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Переместить" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Переместить элементы %s из: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Символическая ссылка" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Символическая ссылка %s элементов из: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s не является папкой" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Произошла ошибка при операции с символической ссылкой!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Символическая ссылка - операция отменена!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Удалить папку %s безвозвратно?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Подтвердить удаление" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Удалить файл" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Папка %s не пустая, все равно удалить?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Папка %s защищена от записи, все равно удалить безвозвратно?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Удаление отменено!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Переместить папку %s в корзину?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Подтвердить корзину" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Переместить в корзину" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "Папка %s защищена от записи, удалить в корзину?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "При перемещении в корзину произошла ошибка!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Перемещение папки в корзину отменено!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Восстановить из корзины" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Восстановить папку %s по первоначальному адресу %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Подтвердить удаление" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Восстановление данных для %s не доступно" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Родительская папка %s не найдена, создать?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Невозможно создать папку %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Невозможно создать папку %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "При восстановлении из корзины произошла ошибка!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Восстановление файла из корзины отменено!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Создать новую папку:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Новая папка" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Выполнить команду" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Монтировать" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Размонтировать" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " файловая система..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " папка: " #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " операция отменена!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " в root" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Источник: " #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Получатель: " #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Дата изменения:" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Дата изменения:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Удаление: " #: ../src/File.cpp:136 msgid "From:" msgstr "Из: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Изменение прав доступа..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Файл: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Изменить владельца..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Монтировать файловую систему..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Монтировать папку: " #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Размонтировать файловую систему..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Размонтировать папку: " #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Папка %s уже существует. Перезаписать?\n" "=> Внимание, все файлы в этой папке будут безвозвратно утеряны!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "Файл %s уже существует. Перезаписать?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Подтвердить перезапись" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Невозможно скопировать файл %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Невозможно скопировать файл %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Источник: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Назначение: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Не удается сохранить дату при копировании файлов %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Не удается сохранить дату при копировании файлов %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Невозможно скопировать папку %s: доступ запрещён" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Невозможно скопировать файл %s : доступ запрещён" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Не удается сохранить дату копирования папки %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Не удается сохранить дату копирования папки %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Источника %s не существует" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Источник %s совпадает с назначением" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Удалить папку: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Источник: " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Невозможно удалить папку %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Невозможно удалить папку %s" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Невозможно удалить файл %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Невозможно удалить файл %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Папка или файл %s уже существуют" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Невозможно переименовать в %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Невозможно создать символическую ссылку: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Невозможно создать символическую ссылку %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Папка:" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Распаковать архив" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Добавить в архив" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Команда: %s завершилась с ошибкой" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Успешно" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Папка %s была успешно смонтирована." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Папка %s была успешно размонтирована." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Установить/Обновить пакет" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Установить пакет: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Удалить пакет" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Удалить пакет: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Имя &файла:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Файловый фи&льтр:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Только чтение" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "Перейти в предыдущую папку." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "Перейти следующую папку." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "Перейти в родительскую папку" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Перейти в домашнюю папку" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Перейти в рабочую папку" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Новая папка" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Большие значки в списке" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Маленькие значки в списке" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Подробный список файлов" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Показать скрытые файлы" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Скрыть скрытые файлы" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Показать миниатюры" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Скрыть миниатюры" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Создать новую папку..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Создать новый файл..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Новый файл" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Папка или файл %s уже существуют" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "&Домой" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "В &рабочую" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Новый файл..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Новая &папка..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Скр&ытые файлы" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "&Миниатюры" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "&Большие значки" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "М&аленькие значки" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Списо&к" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "Строк&и" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Колонки" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Авторазмер" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "Им&я" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "&Размер" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Тип" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Рас&ширение" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Дата" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "Поль&зователь" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "Г&руппа" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Папки" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "&Обратный порядок" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Гарнитура:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Высота: " #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Начертание: " #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Размер:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Кодировка:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Все" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Западноевропейская" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Восточноевропейская" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Южноевропейская" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Северноевропейская" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Кириллица" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Арабская" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Греческая" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Иврит" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Турецкая" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Скандинавская" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Тайская" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Прибалтийская" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Кельтская" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Русская" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Центральноевропейская (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Русская (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Латиница1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Греческая (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Турецкая (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Иврит (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Арабская (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Прибалтийская (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Вьетнамская (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Тайская (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "Юникод" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Утончение:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Полное" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Среднее" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Утонченное" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Слабое" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Нет" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Слабо-расширенное" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Расширенное" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Средне-расширенное" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Полностью расширенное" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Шаг:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Фиксированный" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Переменный" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Масштабировать:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Все шрифты: " #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Образец:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Запуск Xfe от root!" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Нет" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Да" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Выйти" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Сохранить" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Д&а для всех" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Ввод пароля пользователя:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Ввод пароля администратора: " #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Произошла ошибка!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Имя: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Размер в root:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Тип:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Дата изменения:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Пользователь:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Группа:" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Права:" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Первоначальный путь:" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Дата удаления:" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Размер:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Размер" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Тип" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Расширение" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Дата модификации" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Права" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Невозможно загрузить изображение" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Первоначальный путь" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Дата удаления" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Фильтр" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Статус" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Подтвердить удаление" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Журнал команд" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Операция отменена, отсутствует имя файла" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "В папку:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Невозможно удалить в корзину %s: доступ запрещён" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Переместить папку %s в корзину?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Переместить выделенные элементы %s в корзину?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Файл %s защищен от записи, удалить в корзину?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Перемещение файла в корзину прервано!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Восстановить файл %s в первоначальный адрес %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Восстановить выбранные элементы %s в первоначальное положение?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Невозможно создать папку %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Удалить папку %s безвозвратно?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "Удалить выделенные элементы %s? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Файл %s защищен от записи, удалить?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Удаление файла отменено!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Создать новый файл:" #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Невозможно создать папку %s: %s" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Невозможно создать папку %s" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Невозможно создать символическую ссылку: %s" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Невозможно записать в %s: доступ запрещен" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Создать новую символическую ссылку:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Новая символическая ссылка" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Выбрать символическую ссылку упомянутого файла или папки" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Символическая ссылка на источник %s не существует" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Открыть выделенные файлы с помощью:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Открыть с помощью" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "&Ассоциация" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Показать файлы:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Новый фа&йл..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Новая символическа&я ссылка..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Фи&льтр..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "С&писок" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "&Права" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "&Новый файл..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Монтировать" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "О&ткрыть с помощью..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Открыть" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "&Распаковать в папку" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Р&аспаковать сюда" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Распакова&ть в..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Вид" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Установить/Об&новить" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Удал&ить" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Правка" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "За&менить..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Запрос пак&етов" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Описание" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "Перейти в родительскую папку" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Скопиро&вать в..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Переместить в корзину" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Восстановить из корзины" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Источник: " #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Параметры" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Выбрать папку назначения" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Все файлы" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Установка/Обновление пакета" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Удаление пакета" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "Ошибка! Ветвление не удалось: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Невозможно создать папку %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Невозможно создать папку %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Не найден совместимый менеджер пакетов (rpm или dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr "Файл %s входит в пакет: %s" #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Информация" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Файл %s входит в пакет: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " выделенные файлы " #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 байт" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s в %s выбранных объектах" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 элемент" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " Элементы" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Ссылка" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Фильтр: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Достигнут предел количества закладок. Последняя закладка будет удалена.." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "О&чистить закладки" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Вы точно хотите выйти?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Закрыть" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Невозможно удалить файл %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Невозможно удалить файл %s" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> КОМАНДА ОТМЕНЕНА <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> КОМАНДА ВЫПОЛНЕНА <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tВыбрать пункт назначения..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Выберать файл" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Выбрать файл или папку" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Добавить в архив" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Новое имя архива:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Формат:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tформат архива tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tформат архива zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tAформат архива 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tформат архива tar.bz2" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\tформат архива tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tформат архива tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tформат архива tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tформат архива gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tформат архива bz2" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "7z\tAформат архива 7z" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tформат архива Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Настройки" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Текущая тема" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Параметры" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Использовать корзину для удаления файлов" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Удалять без использования корзины (безвозвратное удаление)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Автоматически сохранять схему" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Запоминать расположение окна" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Открывать файлы одиночным щелчком" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Открывать файлы одиночным щелчком" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Показывать подсказки в списках названий файлов и папок" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Измененять относительный размер списка файлов" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Отображать пути компоновщика выше списка файлов" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Уведомлять о запуске приложений" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Перейти в домашнюю папку" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Перейти в родительскую папку" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Показать скрытые файлы и папки." #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Плавно прокручивать спискb файлов и окон" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Скорость прокрутки:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Режим администратора" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Разрешать режим администратора" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Аутентификация с помощью su (используется пароль root)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Аутентификация с помощью sudo (используется пароль пользователя)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Диалоги" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Подтверждения" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" "Подтверждать Копирование/Перемещение/Переименование/Символические ссылки" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Подтверждать перетаскивания" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Подтверждать перемещение в корзину/ восстановление из корзины" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Подтверждать удаление" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Подтверждать удаление непустых каталогов" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Подтверждать перезапись" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Подтвердить удаление" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Свойства файлов" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Предупреждения" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Предупреждать когда точки монтирования не отвечают" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Отображать удачные попытки монтирования/размонтирования" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Предупреждать, если запущено от администратора" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Программы" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Стандартные программы" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Просмотр текста:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Редактирование текста:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Права доступа к файлу" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Редактор изображений:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Просмотрщик изображений:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Архиватор:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Просмотр PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Аудио плеер:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Видео плеер:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Терминал" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Монтировать" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Размонтировать" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Темы" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Цветовая тема" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Пользовательские цвета" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Щёлкнут дважды для настройки цвета" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Основной цвет" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Цвет рамки" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Цвет фона" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Цвет текста" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Цвет фона выделения" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Цвет выделенного текста" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Цвет фона списка файлов" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Цвет текста списка файлов" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Цвет выделенного списка файлов" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Цвет индикатора выполнений" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Цвет предупреждений" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Цвет индикатора выполнений" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Элементы правления" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Стандарт (обычные элементы управления)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (требуются современные элементы управления)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Путь к теме значков" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "Открыть..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Шрифты" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Шрифты" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Обычный шрифт:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Выбрать..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Шрифт текста:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Комбинации клавиш" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Комбинации клавиш" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Изменить комбинации клавиш..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Восстановить комбинации клавиш по умолчанию..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Выбрать тему значков для файлов и папок" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Изменить обычный шрифт" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Изменить шрифт текста" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Создать новый файл" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Создать новую папку" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Копировать в буфер обмена" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Вырезать в буфер обмена" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Вставить из буфера обмена" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Открыть файл" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Выйти из приложения" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Выделить все" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Отменить всё выделение" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Обратить выделение" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Показать справку" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Отображение скрытых файлов" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Отображение миниатюр" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Закрыть окно" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Печать файла" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Поиск" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Искать ранее" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Искать далее" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Переключатель панелей" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Переключатель панелей" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Обновить панели" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Создать новую символьную ссылку" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Свойства файлов" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Переместить файлы в корзину" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Восстановить файлы из корзины" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Удалить файлы" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Создать новое окно" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Создать новое окно root" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Выполнить команду" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Запустить Терминал" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Монтировать файловую систему (только Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Размонтировать файловую систему (только Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Одно-панельный режим" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Режим Дерево и панель" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Режим Две панели" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Режим Дерево и две панели" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Очистить строку адреса" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Переименовать файл" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Скопировать файлы в " #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Переместить файлы в " #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Символическая ссылка адреса файлов" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Добавить закладку" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Синхронизировать панели" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Переключатель панелей" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Перейти в корзину" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Очистить корзину" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Просмотр" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Редактировать" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Отображение скрытых файлов" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Фильтр файлов" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Увеличить до 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Увеличить до размеров окна" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Повернуть изображение влево" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Повернуть изображение вправо" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Отразить изображение горизонтально" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Отразить изображение вертикально" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Создать новый документ" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Сохранить изменения в файл" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Перейти к строке" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Отменить последнее изменение" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Вернуть последнее изменение" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Заменить строку" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Включить выравнивание слов" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Включить нумерацию строк" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Включить нижнего регистр" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Включить верхний регистр" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Вы действительно хотите, восстановить стандартные клавиши?\n" "\n" "Все ваши настройки будут утеряны!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Восстановить значения клавиш по умолчанию" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Перезапустить" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Комбинации клавиш будут изменены после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Режим прокрутки будет изменен после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Тема будет изменена после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Пути компоновщика будут изменены после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Стиль кнопок будут изменены после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Нормальный шрифт будет изменен после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Шрифт текста будет изменена после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "П&ропустить" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Пропустить &все" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Источник: " #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Дата изменения:" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Получатель: " #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Исполнение" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Консольный режим" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Закрыть" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Обновить панели" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Копировать выбранные файлы в буфер обмена" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Вырезать выбранные файлы в буфер обмена" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Показать свойства выбранных файлов" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Удалить выбранные файлы в корзину" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Удалить выбранные файлы" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Список" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Бе&з учёта регистра" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Авторазмер" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Запрос пак&етов" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "Перейти в родительскую папку" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "Копировать элементы %s от: %s" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "Переместить элементы %s из: %s" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Символическая ссылка %s элементов из: %s" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " Элементы" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Печать файла" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Показать скрытые файлы и папки." #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "В папку:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Новая &папка..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Шрифт текста:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Искать ранее" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Искать ранее" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Искать ранее" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Печать файла" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "КБ" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Полный размер:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Последняя модификация:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Последняя модификация:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Пользователь:" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Фильтр файлов" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Группа:" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Фильтр файлов" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Файловая система:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Файл: " #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Фильтр файлов" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Права:" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Права доступа к файлу" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Показать файлы:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Показать файлы:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Создать новую символическую ссылку:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Создать новую символьную ссылку" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Рекурсивно" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Размонтировать файловую систему..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Искать ранее" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Искать ранее" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Найти текст." #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "Открыть..." #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Создать новую символическую ссылку" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Восстановить из корзины выбранные файлы" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Запуск Xfe" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "Показать скрытые файлы и папки." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Монтировать (только Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Размонтировать (только Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Показать одну панель" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Показать дерево и панель" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Показать две панели" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Показать дерево и две панели" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Очистить адрес" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Перейти к адресу" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Новая &папка..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "&Домой" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "О&бновить" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Копиров&ать в..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Си&мволическая ссылка на..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Параметры" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Файл" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Выделить вс&ё" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Снять выделение" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Обратить выделение" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "&Параметры" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Ос&новная панель инструментов" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Инструменты панели" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Панель инс&трументов" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Строка &адреса" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Строка &состояния" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Одна панель" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Дерево и панель" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Д&ве панели" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Д&ерево и две панели" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "&Переключить панели" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "&Переключить панели" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Добавить закладку" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "О&чистить закладки" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Закладки" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Фильтр..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Миниатюры" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Большие значки" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Тип" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Дата" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "П&ользователь" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Группа" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Папки" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Левая панель" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Фильтр" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Папки" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "П&равая панель" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "&Новое окно" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Н&овое окно root" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "&Выполнить команду" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Терминал" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Синхронизировать панели" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "&Переключить панели" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "Перейти в родительскую папку" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Найти..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Размонтировать" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Инструменты" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Перейти в корзину" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Размер корзины" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Очистить корзину" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "&Корзина" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Справка" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&О программе X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Запуск Xfe от рута!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Невозможно создать конфигурационную папку Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Невозможно создать конфигурационную папку Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Не найден глобальный файл xferc! Пожалуйста, выберите файл конфигурации ..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Файл конфигурации XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Невозможно создать в корзине 'files' папку %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Невозможно создать в корзине 'files' папку %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Невозможно создать в корзине 'info' папку %s: %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Невозможно создать в корзине 'info' папку %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Помощь" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer версия %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "На основе X WinCommander Максима Баранова\n" #: ../src/XFileExplorer.cpp:3204 #, fuzzy msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Переводчики\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura\n" "Portuguese: Miguel Santinho\n" "Русский: Dimitri Sertolov\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&О программе X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Панель" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Выполнить команду:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Консольный режим" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "Показать скрытые файлы и папки." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Вы точно хотите выйти?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " в " #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Вы действительно хотите очистить корзину?\n" "\n" "Все объекты, будет окончательно потеряны!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Размер корзины: %s (%s файлы, %s подпапки)\n" "\n" "Дата изменения: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Размер корзиры" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Невозможно прочитать в корзине папку 'files' %s!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Невозможно удалить папку %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Ассоциации &файлов" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Ассоциации &файлов" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Параметры" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Открыть файл пакета" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Открыть..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Панель &инструментов" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&О программе X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Удаление" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Установка/Обновление" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Описание" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Список файлов" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package - простой менеджер пакетов rpm или deb. Версия %s \n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "О программе X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM-пакеты исходников" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Пакеты RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Пакеты DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Открыть документ" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Пакет не загружен" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Неизвестный формат пакета" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Установить/Обновить пакет" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Удалить пакет" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM-пакет]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB-пакет]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Запрос %s не удался!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Ошибка загрузки файла" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Невозможно открыть файл: %s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Использование: xfe [параметры] [начальная директория] \n" "\n" " [параметры] могут быть:\n" "\n" " -h, --help Вывести это сообщение и выйти.\n" " -v, --version Вывести информацию о версии и выйти.\n" " -i, --iconic Запустить свёрнутым в значок.\n" " -m, --maximized Запустить с развёрнутым окном.\n" "\n" " [начальная директория] это путь к директории, которая откроется при " "старте.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Изображение GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Изображение BPM" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Изображение XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Изображение PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Изображение ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Изображение RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Изображение XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Изображение TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Изображение PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Изображение PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Изображение JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Изображение TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Изображение" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Открыть" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Открыть файл изображения." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Печать" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Печатать файл изображения." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Увеличить" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Увеличить изображение." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Уменьшить" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Уменьшить изображение." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Раскрыть на 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Раскрыть изображение на 100%" #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "По размеру" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "По размеру окна." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Повернуть влево." #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Повернуть изображение влево." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Повернуть вправо" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Повернуть изображение вправо." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Отразить горизонтально." #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Отразить изображение горизонтально." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Отразить вертикально" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Отобразить изображение вертикально." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Печать..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "Очистить недавно исп&ользовавшиеся файлы." #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Очистить меню недавно использовавшихся файлов." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Выход из Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "У&величить" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "У&меньшить" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Р&азвернуть на 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "К размеру &окна" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Повернуть в&право" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Повернуть вправо." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Повернуть в&лево" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Повернуть влево." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Отразить &горизонтально" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Отразить горизонтально." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Отразить в&ертикально" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Отразить вертикально." #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "Показать скрытые файлы и папки." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Показать миниатюры." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Показать большие значки папок." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Показать маленькие значки папок." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Подробный с&писок файлов" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Подробный список папок." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Умный просмотр значков в строках." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Умный просмотр значков в столбцах." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Авторазмер имен значков." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Отображать панель." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "С&писок файлов" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Показать список файлов." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Цвет текста списка файлов" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Большие значки." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Фильтр изображений" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Список только файлов изображений." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "По размеру &окна" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Увеличить изображение до размеров окна." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&О программе X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "О программе X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image - простой просмотрщик изображений. Версия %s\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "О программе X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Ошибка загрузки изображения" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Не поддерживаемый тип: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Невозможно загрузить изображение, возможно файл поврежден" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Шрифт текста будет изменена после перезапуска.\n" "Перезапустить X File Explorer немедленно?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Открыть изображение" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Команда печати: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 #, fuzzy msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Использование: xfe [параметры] [начальная директория] \n" "\n" " [параметры] могут быть:\n" "\n" " -h, --help Вывести это сообщение и выйти.\n" " -v, --version Вывести информацию о версии и выйти.\n" " -i, --iconic Запустить свёрнутым в значок.\n" " -m, --maximized Запустить с развёрнутым окном.\n" "\n" " [начальная директория] это путь к директории, которая откроется при " "старте.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Настройки XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Редактор" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Текст" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Границы:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Размер табуляции:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Символ возврата каретки:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Цвета" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Строки" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Фон:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Текст:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Фон выделенного текста:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Выделенный текст:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Фон подчеркнутого текста;" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Подчеркнутый текст:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Курсор:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Фон номеров строк:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Передний план номеров строк:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Поиск" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Окно" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Строк:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Колонка:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Строка:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Новый" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Создать новый документ." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Открыть файл документа." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Сохранить" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Сохранить документ." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Закрыть" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Закрыть файл документа." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Печать документа." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Выйти" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Выйти из X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Копировать выделенное в буфер обмена." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Вырезать" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Вырезать выделенное в буфер обмена." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Вставить" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Вставить из буфера обмена." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Переход к номеру строки." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Отменить" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Отменить последнее изменение." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Вернуть" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Вернуть последнюю отмену." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Найти текст." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Поиск выделенного назад" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Поиск назад для выделенного текста." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Поиск выделенного вперед" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Поиск вперед для выделенного текста." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Переносить слова" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Перенос слов включен." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Выключение переноса слов" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Перенос слов выключен." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Показать номера строк" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Показать номера строк." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Скрыть номера строк" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Скрыть номера строк." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Новый..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Сохранить изменения в файл." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Сохранить &как..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Сохранить документ и остальные файлы." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Закрыть документ." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "О&чистить список последних файлов" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Отменить" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Вернуть" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Вернуться к &сохраненному" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Вернуться к сохраненному документу." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "&Вырезать" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Вставить из буфера обмена." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "&Нижний регистр" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Изменить в нижний регистр." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "&Верхний регистр" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Изменить в верхний регистр." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Перейти к &строке..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Выделить вс&ё" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Строка &состояния" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Показать строку статуса" #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Найти..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Поиск строки." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "За&менить..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Поиск и замена по строке." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "На&йти предыдущее" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Най&ти следующее" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Перенос слов" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Включение переноса слов" #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Номера строк" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Переключение в режим нумерации строк." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "Н&аложение" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Переключить режим overstrike." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Шрифт..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Изменить шрифт текста." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Дополнительные настройки..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Изменение других параметров." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "О программе X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "О программе X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Файл: %s (%d байт) слишком большой" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Невозможно прочитать файл: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Ошибка сохранения файла" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Файл: %s слишком большой" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Файл: %s урезан" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "без названия" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "%d без названия" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write простой текстовый редактор. Версия %s\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "О программе X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Изменить шрифт" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Текстовые файлы" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Исходные файлы С" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Исходные файлы С++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Файлы заголовков C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Файлы HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Файлы PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Не сохраненный Документ" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Сохранить %s в файл?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Сохранить Документ" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Перезаписать Документ" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Заменять существующий документ: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (изменён)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Только чтение" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "Замена" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "Детали" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Файл был изменен" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "была изменен другой программой. Перезагрузить файл с диска?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Замена" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Перейти к строке" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "Перейти к номеру &строки" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Использование: xfe [параметры] [начальная директория] \n" "\n" " [параметры] могут быть:\n" "\n" " -h, --help Вывести это сообщение и выйти.\n" " -v, --version Вывести информацию о версии и выйти.\n" " -i, --iconic Запустить свёрнутым в значок.\n" " -m, --maximized Запустить с развёрнутым окном.\n" "\n" " [начальная директория] это путь к директории, которая откроется при " "старте.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Режим администратора" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Готово." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Ве&рнуть" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "За&менить все" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Искать:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Заменить на:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "&Точный" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "Без у&чёта регистра" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "В&ыражение" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Назад" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a directory tree\n" " and one panel, c) two panels and d) a directory tree and two panels\n" " - Panels synchronization and switching\n" " - Integrated text editor (X File Write, xfw)\n" " - Integrated text viewer (X File View, xfv)\n" " - Integrated image viewer (X File Image, xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, xfp)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click files and directories navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for directory navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create/Extract archives (tar, compress, zip, gzip, bzip2, lzh, rar, " "ace, arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Shift-Ctrl-G\n" " * Search next - Ctrl-G\n" " * Go to home directory - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - F2\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Go to working directory - Shift-F2\n" " * Go to parent directory - Backspace\n" " * Go to previous directory - Ctrl-Backspace\n" " * Go to next directory - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - Ctrl-N\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden directories - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Shift-Ctrl-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File View (xfv) and X File Package (xfp) only use some of the global key " "bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "xfi\n" " * Shift-F10 - display context menus in xfe\n" " * Return - enter directories in file lists, " "open files, select button actions, etc.\n" " * Space - enter directories in file lists\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a directory or a file panel optionally opens a dialog that allows to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for xfe, xfw, xfv, xfi, xfp are now located " "in the ~/.config/xfe directory.\n" " They are named xferc, xfwrc, xfvrc, xfirc and xfprc.\n" " \n" " At the very first xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Startup notification\n" " - If Xfe was compiled with startup notification support, the user can " "disable it for all applications at the global\n" " Preferences level. He can also disable it for individual " "applications, by using the dedicated option in the first\n" " tab of the Properties dialog. This latter way is only available when " "the file is an executable.\n" " Disabling startup notification can be useful when starting an old " "application that doesn't support the startup\n" " notification protocol (e.g. Xterm).\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " xfe is now available in 19 languages but some translations are only " "partial. To translate xfe to your language,\n" " open the xfe.pot file located in the po directory of the source tree with " "a software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 9/11/2009]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Глобальные комбинации клавиш" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Общие для всех приложений Xfe комбинации клавиш.\n" "Для изменения выбранной комбинации, дважды щелкните по пункту..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Комбинации клавиш Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Комбинации клавиш только для приложения X File Explorer .\n" "Для изменения выбранной комбинации, дважды щелкните по пункту..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Комбинации клавиш Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Комбинации клавиш только для приложения X File Image.\n" "Для изменения выбранной комбинации, дважды щелкните по пункту..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Комбинации клавиш Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Комбинации клавиш только для приложения X File Write.\n" "Для изменения выбранной комбинации, дважды щелкните по пункту..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Команда" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Действие" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Комбинация клавиш" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Нажмите комбинацию клавиш для действия: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Нажмите пробел чтобы выключить комбинацию клавиш для этого действия]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Настройка комбинаций клавиш." #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Комбинация клавиш %s уже используется в глобальном разделе.\n" "\tПеред новым назначением необходимо удалить существующие комбинации клавиш ." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Комбинация клавиш %s уже используется в разделе Xfe.\n" "\tПеред новым назначением сначала удалите существующие комбинации клавиш ." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Комбинация клавиш %s уже используется в разделе Xfi.\n" "\tПеред новым назначением сначала удалите существующие комбинации клавиш ." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Комбинация клавиш %s уже используется в разделе Xfw.\n" "\tПеред новым назначением сначала удалите существующие комбинации клавиш ." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Невозможно удалить папку %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Невозможно создать папку %s" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "Ошибка! Невозможно открыть дисплей \n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Запустить от %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Выполнить команду" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Невозможно закрыть папку %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "байты" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "ГБ" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "МБ" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Скопировать файл" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Ошибка! Невозможно открыть дисплей \n" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "Ошибка! Невозможно открыть дисплей \n" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Файловый менеджер" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Легкий файловый менеджер для X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Image Viewer" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Простой просмотрщик изображений для Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Текстовый редактор" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Простой текстовый редактор для Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Менеджер Пакетов" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Простой менеджер пакетов для Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Показать две панели" #~ msgid "Panel does not have focus" #~ msgstr "Панель не активирована" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Папка" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Папка" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Подтверждать перезапись" #~ msgid "P&roperties..." #~ msgstr "&Свойства..." #~ msgid "&Properties..." #~ msgstr "&Свойства..." #~ msgid "&About X File Write..." #~ msgstr "&О программе X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Невозможно удалить папку %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Невозможно удалить папку %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Невозможно создать в корзине 'files' папку %s: %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Выполнить команду" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Невозможно создать папку %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Невозможно создать в корзине 'files' папку %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Невозможно создать в корзине 'info' папку %s: %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Невозможно создать в корзине 'info' папку %s" #~ msgid "Delete: " #~ msgstr "Удалить:" #~ msgid "File: " #~ msgstr "Файл:" #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "О программе X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "П&равая панель" #, fuzzy #~ msgid "&Left panel " #~ msgstr "&Левая панель" #, fuzzy #~ msgid "Error " #~ msgstr "Ошибка" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Невозможно создать папку %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Выполнить команду" #, fuzzy #~ msgid "Command log " #~ msgstr "Журнал команд" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Невозможно создать в корзине 'files' папку %s: %s" #~ msgid "Non-existing file: %s" #~ msgstr "Несуществующий файл: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Невозможно переименовать в %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Скорость прокрутки:" #~ msgid "Mouse" #~ msgstr "Мышь" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Исходный размер: %s - Дата изменения: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Полученный размер: %s - Дата изменения: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "" #~ "Невозможно загрузить некоторые значки. Пожалуйста, проверьте правильность " #~ "пути!" #~ msgid "Go back" #~ msgstr "Назад" #~ msgid "Move to previous folder." #~ msgstr "Перейти в предыдущую папку." #~ msgid "Go forward" #~ msgstr "Вперед" #~ msgid "Move to next folder." #~ msgstr "Перейти следующую папку." #~ msgid "Go up one folder" #~ msgstr "Подняться на одну папку" #~ msgid "Move up to higher folder." #~ msgstr "Перейти в папку выше" #~ msgid "Back to home folder." #~ msgstr "Назад в домашнюю папку" #~ msgid "Back to working folder." #~ msgstr "Назад в рабочую папку." #~ msgid "Show icons" #~ msgstr "Значки" #~ msgid "Show list" #~ msgstr "Список" #~ msgid "Display folder with small icons." #~ msgstr "Маленькие значки." #~ msgid "Show details" #~ msgstr "Подробно" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Использование: xfe [параметры] [начальная директория] \n" #~ "\n" #~ " [параметры] могут быть:\n" #~ "\n" #~ " -h, --help Вывести это сообщение и выйти.\n" #~ " -v, --version Вывести информацию о версии и выйти.\n" #~ " -i, --iconic Запустить свёрнутым в значок.\n" #~ " -m, --maximized Запустить с развёрнутым окном.\n" #~ "\n" #~ " [начальная директория] это путь к директории, которая откроется при " #~ "старте.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Строка:" #~ msgid "Open document." #~ msgstr "Открыть документ" #~ msgid "Quit Xfv." #~ msgstr "Выход из Xfv." #~ msgid "Find" #~ msgstr "Поиск" #~ msgid "Find string in document." #~ msgstr "Искать строку в документе." #~ msgid "Find again" #~ msgstr "Повторный поиск" #~ msgid "Find string again." #~ msgstr "Повторить поиск строки." #~ msgid "&Find..." #~ msgstr "&Найти ..." #~ msgid "Find a string in a document." #~ msgstr "Поиск строки в документе." #~ msgid "Find &again" #~ msgstr "Повторить &поиск" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Показать или скрыть строку состояния." #~ msgid "&About X File View" #~ msgstr "&О программе X File View" #~ msgid "About X File View." #~ msgstr "О программе X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "Простой просмотрщик текста X File View. Версия %s \n" #~ "\n" #~ msgid "About X File View" #~ msgstr "О программе X File View" #~ msgid "Error Reading File" #~ msgstr "Ошибка чтения файла" #~ msgid "Unable to load entire file: %s" #~ msgstr "Невозможно загрузить целиком файл: %s" #~ msgid "&Find" #~ msgstr "&Поиск" #~ msgid "Not Found" #~ msgstr "Не найдено" #~ msgid "String '%s' not found" #~ msgstr "Строка '%s' не найдена" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Просмотрщик текста" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Простой просмотрщик текста Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "Ignore case" #~ msgstr "Бе&з учёта регистра" #, fuzzy #~ msgid "In directory:" #~ msgstr "Корневая папка" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "Корневая папка" #~ msgid "Re&store from trash" #~ msgstr "Вос&становить из корзины" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Файлы и папки" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Ассоциации &файлов" #, fuzzy #~ msgid " Items" #~ msgstr " Элементы" #, fuzzy #~ msgid "Search results - " #~ msgstr "Искать ранее" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Большие значки." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Маленькие значки." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Подробный список папок." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Показать миниатюры" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Скрыть миниатюры" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Копировать выбранные файлы в буфер обмена" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Вырезать выбранные файлы в буфер обмена" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Показать свойства выбранных файлов" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Удалить выбранные файлы в корзину" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Удалить выбранные файлы" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Показать скрытые файлы и папки." #, fuzzy #~ msgid "Search files..." #~ msgstr "Выбрать ..." #~ msgid "Dir&ectories first" #~ msgstr "На&чальная директория" #~ msgid "Toggle display hidden directories" #~ msgstr "Отображение скрытых каталогов" #~ msgid "&Directories first" #~ msgstr "С&писок папок" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Невозможно удалить папку %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Ошибка! Невозможно открыть дисплей \n" #~ msgid "Go to working directory" #~ msgstr "Перейти в рабочую папку" #~ msgid "Go to previous directory" #~ msgstr "Вернуться в предыдущую папку" #~ msgid "Go to next directory" #~ msgstr "Перейти в следующую папку" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "Родительская папка %s не найдена, создать?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Невозможно удалить папку %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " папка " #~ msgid "Directory name" #~ msgstr "Имя папки" #~ msgid "Single click directory open" #~ msgstr "Открывать папки одиночным щелчком" #~ msgid "Confirm quit" #~ msgstr "Подтверждать выход" #~ msgid "Quitting Xfe" #~ msgstr "Выход из Xfe" #~ msgid "Display toolbar" #~ msgstr "Отобразить панель инструментов" #~ msgid "Display or hide toolbar." #~ msgstr "Показать или скрыть панель инструментов." #~ msgid "Move the selected item to trash can?" #~ msgstr "Перемещение выделенных элементов в корзину?" #~ msgid "Definitively delete the selected item?" #~ msgstr "Удалить выделенные элементы?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Исполнение" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Не удается сохранить дату при копировании файлов %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tформат архива rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tформат архива lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tформат архива arj" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Источник %s совпадает с назначением" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "Произошла ошибка при копировании файлов!" #~ msgid "File list: Unknown package format" #~ msgstr "Список файлов: Неизвестный формат пакета" #~ msgid "Description: Unknown package format" #~ msgstr "Описание: Неизвестный формат пакета" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "защищен от записи, удалить?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Подтверждать удаление" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ "фалйы/папки \n" #~ "Из:" #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Не могу перезаписать непустую папку %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Не могу перезаписать непустую папку %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Не могу перезаписать непустую папку %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Не могу перезаписать непустую папку %s" #, fuzzy #~ msgid "Move folder " #~ msgstr "Монтировать папку:" #~ msgid "File " #~ msgstr "Файл" #~ msgid "Can't copy folder " #~ msgstr "Не могу скопировать папку" #, fuzzy #~ msgid ": Permission denied" #~ msgstr ": доступ запрещён" #~ msgid "Can't copy file " #~ msgstr "Не могу скопировать файл" #, fuzzy #~ msgid "Installing package: " #~ msgstr "Удалить RPM" #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Удалить RPM" #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ "фалйы/папки \n" #~ "Из:" #, fuzzy #~ msgid " Move " #~ msgstr "Переместить:" #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tУдалить выбранные файлы (Del)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Удалить файо, минуя корзину" #, fuzzy #~ msgid " selected items? " #~ msgstr " выделенные файлы " #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr "защищен от записи, удалить?" #, fuzzy #~ msgid "X File Package Version " #~ msgstr "Права доступа:" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Настройки" #, fuzzy #~ msgid "X File View Version " #~ msgstr "Права доступа:" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Монтировать папку:" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tУдалить выбранные файлы (Del)" #, fuzzy #~ msgid "Go up" #~ msgstr "Группа" #, fuzzy #~ msgid "Full file list" #~ msgstr "Полный список файлов" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Выполнить комманду" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Добавить закладку" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tОбновить панель" #, fuzzy #~ msgid "Terminal" #~ msgstr "&Терминал" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Удалить папку, минуя корзину" #, fuzzy #~ msgid "Deleted from" #~ msgstr "Удалить:" #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Удалить папку:" xfe-1.42/po/nl.po0000644000175100017510000052574512746115274010567 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2012 Roland Baudin # This file is distributed under the same license as the xfe package. # msgid "" msgstr "" "Project-Id-Version: xfe 1.32.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2007-02-13 09:54+0100\n" "Last-Translator: Hans Strijards \n" "Language-Team: Dutch\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Gebruik: xfe [opties] [startdir] \n" "\n" " [opties] kan elk van de volgende zijn:\n" "\n" " -h, --help Druk (dit) help scherm af en sluit af.\n" " -v, --version Print versie-informatie en sluit af.\n" " -i, --iconic Iconifieren.\n" " -m, --maximized Maximaliseren.\n" " -p n, --panel n Paneel-modus afdwingen naar n (n=0 => Boom en " "een paneel,\n" " n=1 => Een paneel, n=2 => Twee panelen, n=3 => " "Boom en twee panelen).\n" "\n" " [startdir] is dit het pad naar de eerste map die u bij het\n" " opstarten wilt openen.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Waarschuwing: onbekende paneel-modus, terugvallen op het laatst gebruikte " "paneel\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Fout bij het laden van iconen" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Onmogelijk bepaalde iconen te laden. Check a.u.b. het icoon-pad" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Gebruiker" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lees" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Schrijf" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Uitvoeren" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Groep" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Andere" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Speciaal" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Stel UID in" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Stel GID in" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Blijvend" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Eigenaar" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Opdracht" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Markeer" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Recursief" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Markering opheffen" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Bestanden en mappen" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Voeg markering toe" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Alleen mappen" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Alleen eigenaar" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Alleen bestanden" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Eigenschappen" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Accepteren" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Afzeggen" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Algemeen" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Rechten" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Bestands-associaties" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensie:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Beschrijving:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Open:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tBestand kiezen..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Beeld:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Bewerk:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Uitpakken:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installeren/Opwaarderen:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Grote icoon:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Kleine icoon:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Naam" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Waarschuwing: bestandsnaam is niet in UTF-8 code!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Bestandssysteem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Map" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Character Device" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Block Device" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Uitvoerbaar" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Gebroken link" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Linken aan " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Koppelpunt" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Type koppeling" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Gebruikt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Vrij:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Bestandssysteem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plaats:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Type:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Totale omvang" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Link aan:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Gebroken link naar:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Oorspronkelijke plaats" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Bestands tijd" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Laatst aangepast:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Laatst veranderd:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Laatst bekeken:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Opstart melding" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Geen opstartmelding voor dit bestand" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Datum van verwijdering:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Grootte:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selectie:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Meerdere types" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d items" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d bestanden, %d mappen" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Bestandseigenschappen" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Waarschuwing" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Verplaatsen van bestand afgebroken!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Fout" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kan niet schrijven naar %s: Geen toegangsrecht" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Map %s bestaat niet" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Bestand hernoemen" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Bestandseigenaar" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Verandering van eigenaar afgebroken!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown in %s mislukt: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown in %s mislukt" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "Het instellen van speciale rechten kan onveilig zijn! Wilt u dit echt?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod in %s mislukt: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Bestandsrechten" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Verandering van bestandsrechten afgebroken!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod in %s mislukt: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " in een gekozen item" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Wijziging in bestandsrechten onderbroken!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Kies een uitvoerbaar bestand" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Alle bestanden" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG-afbeeldingen" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF-Afbeeldingen" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP-Afbeeldingen" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Kies een icoon-bestand" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u bestanden, %u subfolders" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Hier copieren" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Hier plaatsen" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Hier linken" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Afbreken" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Bestands-copy" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Bestand verplaatsen" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Symlink bestand" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopieren" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copieer %s bestanden/mappen.\n" "Van: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Verplaatsen" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Verplaatsen van %s bestanden/mappen.\n" "Van: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Symlink" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Naar:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Er is een fout opgetreden tijdens het verplaatsen van het bestand" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Verplaatsen van bestand afgebroken!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Er is een fout opgetreden tijdens het kopieren van het bestand" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Kopieren van het bestand afgebroken!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Koppelpunt %s reageert niet... " #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Naar map linken" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Mappen" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Verborgen map tonen" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Verborgen mappen niet tonen" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 Bytes in root" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Paneel heeft een focus" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Panelen verwisselen" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Toegangsrecht naar: %s ontzegd." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nieuwe &Map..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Verbrogen mappen" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Niet letten op h&oofdletters" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Volgorde omkeren" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Zoekboom u&itbreiden" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Zoekboom in&vouwen" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&el" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "K&oppel" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Ontkoppe&l" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Aan het archief toevoegen..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopieren" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "K&nippen" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Plakken" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Her&noemen" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Ko&pieren naar..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Verplaatsen naar..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Symlin&k aan..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Naar prullenbak ver&plaatsen" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Uit prullenbak terug&halen" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Wissen" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Eigen&schappen" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Archiveren" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copy" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Kopieer %s items van: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Hernoemen" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Hernoemen" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopieren naar" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Verplaatsen " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Verplaats %s items van: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Symlink" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Symlink %s items van: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s is geen map" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Er is een fout opgetreden tijdens het linken" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Het linken is afgebroken!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Map %s permanent verwijderen?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Verwijdering bevestigen" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Bestand verwijderen" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Map %s is niet leeg, toch verwijderen?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Map %s is schrijf-beveiligd, toch permanent verwijderen?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Verwijderen van de map afgebroken!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Map %s naar de prullenbak verplaatsen" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Prullenbak bevestigen" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Naar prullenbak verplaatsen" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "Map %s is schrijf-beveiligd, toch naar de prullenbak verplaatsen?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Een fout is opgetreden tijdens het verplaatsen naar de prullenbak!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Verplaatsen naar de prullenbak afgebroken!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Uit prullenbak terughalen" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "De map %s terugbrengen naar de oorpronkelijke locatie %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Terughalen bevestigen" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Herstel-informatie niet beschikbaar voor %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "De bovenliggende map %s bestaat niet, wilt u die aanmaken?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Kan map %s niet aanmaken: %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Een fout is opgetreden tijdens het terughalen uit de prullenbak!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Het terughalen uit de prullenbak is afgebroken!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Nieuwe map aanmaken:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nieuwe map" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Opdracht uitvoeren" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Aankoppelen" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Ontkoppelen" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " Bestandssysteem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " de map: " #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operatie afgebroken!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " in root" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Bron:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Doel:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Aangepaste datum: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Aangepaste datum: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Wissen:" #: ../src/File.cpp:136 msgid "From:" msgstr "Van:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Rechten wijzigen..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Bestand:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Veranderen van eigenaar..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Koppel Bestandssysteem aan..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Map aankoppelen:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Ontkoppel Bestandssysteem..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Ontkoppel de map:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Map %s bestaat al. Overschrijven?\n" "=> Let op, alle bestanden in deze map gaan permanent verloren!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "Bestand %s bestaat reeds. Overschrijven?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Overschrijven bevestigen" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Kan bestand %s niet kopieren: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Kan bestand %s niet kopieren" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Bron: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Doel: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Kan data niet behouden bij het kopieren van bestand %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Kan data niet behouden bij het kopieren van bestand %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kan map %s niet kopieren: toegang geweigerd" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kan bestand %s niet kopieren: toegang geweigerd" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Kan data niet behouden bij het kopieren van map %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kan data niet behouden bij het kopieren van map %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Bron %s bestaat niet" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Bestemming %s is dezelfde als de bron" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Doel %s is een sub-map van de bron" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Map verwijderen: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Van: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Kan map %s niet verwijderen" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Kan bestand %s niet verwijderen : %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Kan bestand %s niet verwijderen" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Bestand of map %s bestaat reeds" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan niet herbenoemen naar doel %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Kan geen symlink %s maken: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Kan geen symlink %s maken" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Map: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Archief uitpakken" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Aan archief toevoegen" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Mislukte opdracht: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Succes" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Map %s was succesvol aangekoppeld." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Map %s was succesvol afgekoppeld." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Pakket installeren/opwaarderen" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Installeren van pakket: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Pakket deinstalleren" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Deinstalleren van Pakket: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Bestandsnaam:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "bestands-f&ilter:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Alleen-lezen" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "Naar de voorgaande map gaan." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "Naar de volgende map gaan." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "Naar de hoofd-directory gaan" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr " Naar de home-map gaan" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Naar de werkmap gaan." #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nieuwe map" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Grote icoon-lijst" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Kleine icoon-lijst" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Gedetailleerde bestandslijst" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Verborgen bestanden tonen" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Verborgen bestand niet tonen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Thumbnails tonen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Thumbnails verbergen" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Nieuwe map maken..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Nieuw bestand maken..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nieuw bestand" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Bestand of map %s bestaat reeds" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Naar ho&me gaan" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Naar &werkmap gaan" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nieuw &bestand..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Nieuwe m&ap..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "&Verborgen bestand" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Thum&bnails" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "G&rote iconen" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Kleine iconen" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "He&le bestandslijst" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Rijen" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Kolommen" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Naam" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Groo&tte" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Type" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtensie" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Gebruiker" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Groep" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Mappen" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Om&gekeerde volgorde" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Familie" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Gewicht" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Stijl" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Groo&tte:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Karakter set:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Iedere" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "West Europees" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Oost Europees" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Zuid Europees" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Noord Europees" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cyrilisch" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabisch" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Grieks" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebreeuws" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turks" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Noors" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltisch" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Schots" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Russisch" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Centraal Eurpees (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Russisch (cp1251" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latijn1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Grieks (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turks (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreeuws (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabisch (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltisch (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Grootte instellen:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normaal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi uitgebreid" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Groot" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra groot" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra groot" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Vast" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Schaalbaar" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Alle fonts" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Vooruitblik:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Xfe als root starten" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nee" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Afsluiten" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Opslaan" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja voor &alles" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Wachtwoord voor gebruiker invoeren:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Wachtwoord voor root invoeren:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Er is een fout opgetreden!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Naam: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Grootte in root: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Type:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Aangepaste datum: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Gebruiker: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Groep: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Bestandsrechten: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Origineel pad: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum van verwijdering: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Grootte: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Grootte" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Type" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extensie" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Datum van aanpassing" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Besyandsrechten" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Kan afbeelding niet laden" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Origineel pad" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum van verwijdering" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Verwijdering bevestigen" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Bestandsnaam is leeg, operatie afgelast!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Naar map:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kan niet wegschrijven naar de prullenbak %s: toegang geweigerd" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Map %s naar de prullenbak verplaatsen" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "%s gekozen bestanden in de prullenbak gooien? " #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Bestand %s is schrijf-beveiligd, toch naar de prullenbak verplaatsen?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Verplaatsen naar de prullenbak afgebroken!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Bestand %s naar de oorspronkelijke locatie %s terugbrengen?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Herstel %s gekozen items naar hun oorspronkelijke locatie?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Kan map %s niet maken: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Map %s permanent verwijderen?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "%s gekozen items definitief verwijderen?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Bestand %s is schrijf-beveiligd, toch verwijderen?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Verwijderen van bestand afgebroken!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Nieuw bestand aanmaken:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Kan map %s niet maken: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Kan map %s niet aanmaken" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kan geen symlink %s maken: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Kan niet schrijven naar %s: Geen toegangsrecht" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Nieuwe symbolische link maken:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nieuwe symlink" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Kies de symlink van betreffend bestand of map" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Bron %s van de symlink bestaat niet" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Open het gekozen bestand met:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Open met" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&ssocieer" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Bestanden tonen:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Nieuw& bestand..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nieuwe s&ymlink..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Gehele bestandslijst" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Rech&ten" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Nieu&w bestand..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Aankoppelen" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Openen &met..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Open" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Uit&pakken naar map " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Hier uitpakken" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Uit&pakken naar..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Beeld" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installeren/Op&waarderen" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "De&installeren" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Bewerken" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "&Vervangen..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Pakketten &zoeken " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Beschrijving" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "Naar de hoofd-directory gaan" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopieren &naar..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Naar prullenbak verplaatsen" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Uit prullenbak terughalen" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Bron:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Eigenschappen" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Kies een map als bestemming" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Alle bestanden" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Pakketten Installeren/Opwaarderen" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Pakket deinstalleren" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "Fout! Afsplitsing mislukt: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Kan map %s niet aanmaken: %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Geen geschikt pakketbeheer (rpm of dpkg) gevonden!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Bestand %s behoort bij geen enkel pakket." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informatie" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Bestand %s behoort bij pakket: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 Bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s in %s gekozen items" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 item" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " items" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Link" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filter: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Het maximum aantal bladwijzers is bereikt. De laatste bladwijzer zal worden " "verwijderd..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "&Bladwijzers legen" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Wilt u Xfe werkelijk afsluiten?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Sl&uiten" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan bestand %s niet verwijderen : %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Kan bestand %s niet verwijderen" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tKies bestemming..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Kies een bestand" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Kies een bestand of een map als bestemming" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Toevoegen aan het archief" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nieuwe naam voor archief:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tArchief format is tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tArchief format is zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tArchief format is 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tArchief format is tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\tArchief format is tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tArchief format is tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tArchief format is tar .Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tArchief format is gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tArchief format is bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "7z\tArchief format is 7z" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tArchief format is Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Voorkeuren" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Huidig thema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opties" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Gebruik de prullenbak voor het verwijderen van bestanden (veilig verwijderen)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" "Gebruik een opdracht om de prullenbak te omzeilen (permanent verwijderen)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Layout automatisch opslaan" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Vensterpositie opslaan" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Bestand openen met een klik" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Bestand openen met een klik" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Toon tooltips in bestands- en mappenlijsten" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Relatief inschalen van bestandslijsten" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Toon een pad boven bestandslijsten" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Waarschuw wanneer er toepassingen opstarten" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Naar de 'home'-directory gaan" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Naar de hoofd-directory gaan" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Verborgen bestanden en mappen tonen." #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "'Smooth scrolling' in bestandslijsten en tekstvensters" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Snelheid van het scrollen van de muis:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Root-modus" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Root-modus toestaan" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Authenticatie bij 'su' (gebruikt root-wachtwoord)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Authenticatie bij'sudo' (met gebruikers-wachtwoord)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialogen" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Bevestiging" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Bevestig het kopieren/hernoemen/symlinken" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Bevestig slepen en plakken" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Bevestig het verplaatsen naar/terugbrengen uit de prullenbak" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Verwijdering bevestigen" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Bevestig het verwijderen van mappen die nog niet leeg zijn" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Overschrijven bevestigen" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Verwijdering bevestigen" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Bestandseigenschappen" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Waarschwingen" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Waarschuwen wanneer koppelpunten niet reageren" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Bericht wanneer koppeling/ontkoppeling geslaagd is" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Waarschuwen bij het uitvoeren als root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programma's" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Standaard programma's" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Tekstviewer:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Teksteditor:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Bestandsrechten" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Afbeelding-editor:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Afbeelding-viewer:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Archiveren:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Pdf-viewer" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Audio-speler:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Video-speler:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Aankoppelen" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Ontkoppelen" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Thema's" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Kleuren-thema" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Aangepaste kleuren" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Dubble-klikken om de kleuren aan te passen" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Basis-kleur" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Rand-kleur" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Achtergrondkleur" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Tekstkleur" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Selectie achtergrondkleur" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Selectie tekstkleur" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Bestandslijst achtergrondkleur" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Bestandslijst tekstkleur" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Bestandslijst markeer-kleur" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Kleur voortgangsbalk" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Aandachts-kleur" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Kleur voortgangsbalk" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controlers" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standaard (klassieke vormgeving)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (moderne vormgeving)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Pad voor icoonthema" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tPad instellen..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fonts" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fonts" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normaal font:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Selecteer..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Tekst-font:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Toetsencombinaties" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Toestencombinaties" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Toestencombinaties aanpassen..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Standaard toestencombinaties herstellen..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Kies een thema-map voor iconen of een icoonbestand" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Normaal font aanpassen" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Tekstfont aanpassen" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Nieuw bestand aanmaken" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Nieuwe map aanmaken" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Naar het klembord kopieren" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Naar het klembord knippen" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Uit het klembord plakken" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Bestand openen" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Toepassing afsluiten" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Alles selecteren" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Alles deselecteren" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Selectie invoegen" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Help tonen" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Verborgen bestanden aan/uit" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Thumbnails aan/uit" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Venster sluiten" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Bestand afdrukken" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Zoeken" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Vorige zoeken" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Volgende zoeken" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Panelen verversen" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Nieuwe symbolische link maken" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Bestandseigenschappen" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Bestanden naar prullenbak verplaatsen" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Bestanden uit prullenbak terughalen" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Bestanden verwijderen" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Nieuw venster openen" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Nieuwe root-venster openen" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Opdracht uitvoeren" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminal starten" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Koppel Bestandssysteem aan (alleen Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Ontkoppel Bestandssysteem (alleen Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Enkel-paneel modus" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Boom en paneel modus" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Dubbelpaneel modus" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Boom- en dubbelpaneel modus" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Locatiebalk legen" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Bestand hernoemen" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Bestanden naar de locatie kopieren" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Bestanden naar de locatie verplaatsen" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Bestanden aan de locatie symlinken" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Bladwijzer toevoegen" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Panelen synchroniseren" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Panelen verwisselen" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Naar de prullenbak gaan" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Prullenbak legen" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Beeld" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Bewerk" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Verborgen bestanden aan/uit" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Bestanden filteren" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Beeld inzoomen op 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Inzoomen om venster passend te maken" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Afbeelding linksom draaien" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Afbeelding rechtsom draaien" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Afbeelding horizontaal spiegelen" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Afbeelding verticaal spiegelen" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Nieuw document aanmaken" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Veranderingen in bestand opslaan" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ga naar lijn" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Laatste wijziging ongedaan maken" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Laatste wijziging herhalen" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "String vervangen" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Word-wrap modus aan/uit" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Lijn-nummers aan/uit" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Kleine-letter modus aan/uit" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Hoofdletter-modus aan/uit" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Wilt u echt de standaard toetsencombinaties herstellen?\n" "\n" "Alle wijzigingen gaan verloren!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Standaard toetsencombinaties herstellen" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Herstarten" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Toetsencombinaties worden aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Scroll-modus wordt aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Het thema wordt aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Het link-pad wordt aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "De knoppenstijl wordt aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Het gebruikte font wordt aangepast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekstfonts worden aagepaast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Overslaan" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "A&lles overslaan" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Bron:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Aangepaste datum: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Doel:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Uitvoeren" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Console-modus" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Sluiten" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Panelen verversen" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopieer de gekozen bestanden naar het klembord" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Knip de gekopieerde bestanden naar het klembord" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Toon eigenschappen van de geselecteerde bestanden" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Verplaats geselecteerde bestanden naar de prullenbak" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Geselecteerde bestanden verwijderen" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Ge&hele bestandslijst" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "N&iet op hoofletters letten" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Automatisch inschalen" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Pakketten &zoeken " #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "Naar de hoofd-directory gaan" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "Kopieer %s items van: %s" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "Verplaats %s items van: %s" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Symlink %s items van: %s" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " items" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Bestand afdrukken" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Verborgen bestanden en mappen tonen." #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Naar map:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Nieuwe &Map..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Tekst-font:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Bestand afdrukken" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Totale omvang" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Laatst aangepast:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Laatst aangepast:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Gebruiker: " #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Bestanden filteren" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Groep: " #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Bestanden filteren" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Bestandssysteem:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Bestand:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Bestanden filteren" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Bestandsrechten: " #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Bestandsrechten" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Bestanden tonen:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Bestanden tonen:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Nieuwe symbolische link maken:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Nieuwe symbolische link maken" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Recursief" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Ontkoppel Bestandssysteem..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Vorige zoeken" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Tekst zoeken." #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\tPad instellen..." #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Nieuwe symlink maken" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Haal geselecteerde bestanden terug uit de prullenbak" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "XFE starten" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "Verborgen bestanden en mappen tonen." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Aankoppelen (alleen Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Afkoppelen (alleen Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Een paneel tonen" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Boom en paneel tonen" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Twee panelen tonen" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Boom en twee panelen tonen" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Locatie legen" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Naar locatie gaan" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nieuwe m&ap..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Naar &home gaan" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Verversen" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Kopieren naar..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "&Symlinken aan..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Eigenschappen" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Bestand" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Alles selecteren" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Alles deselecteren" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Selectie invoegen" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "V&oorkeuren" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Algemene werkbalk" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Werkbalk gereedschap" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Werkbalk panelen" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Locatiebalk" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Statusbalk" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Een paneel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "B&oom en paneel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Twee &panelen" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Drie en twee panelen" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Panelen om&wisselen" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Panelen om&wisselen" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Bladwijzer toevoegen" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Bladwijzers legen" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Bladwijzers" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filteren..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Grote iconen" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ype" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "D&atum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Gebruik&er" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Gr&oep" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Mappen" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Linker paneel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Mappen" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Rechter paneel" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nieuw &venster" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nieuw &root venster" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Opdracht uit&voeren..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Panelen synchroniseren" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Panelen om&wisselen" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "Naar de hoofd-directory gaan" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Zoeken..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Ontkoppel" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Gereedschap" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Naar prullenbak gaan" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Omvang van de prullenbak" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Prullenbak legen" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "P&rullenbak" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Help" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Over X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "U gebruikt Xfe als root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan geen Xfe config folder %S maken: %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan geen Xfe config map %s maken" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Geen algemeen xferc bestand gevonden! Kies a.u.b. een configuratiebestand..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE configuratiebestand" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Kan geen bestandsmap %s voor de prullenbak maken: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan geen map %s voor prullenbak-bestanden maken" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Kan geen info-map %s voor de prullenbak maken: %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan geen info-map %s voor de prullenbak maken" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Help" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versie %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Gebaseerd op X Wincommander van Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&Over X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Paneel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Uitvoeren van opdracht :" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Console-modus" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "Verborgen bestanden en mappen tonen." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Wilt u Xfe werkelijk afsluiten?" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " in root" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Wilt u de prullenbak werkelijk leegmaken?\n" "\n" "Alle items zullen definitief gewist zijn!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Omvang van de prullenbak: %s (%s bestanden, %s submappen)\n" "\n" "Datum van wijziging: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Omvang prullenbak" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "De files-map %s uit de prullenbak is niet leesbaar" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Bestands-associaties" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Bestands-associaties" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Voorkeuren" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Pakket openen" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Openen" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Werkbalk" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&Over X File Pakket" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Deinstalleren" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installeren/Opwaarderen" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Beschrijving" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "Nestand &Lijst" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Pakket versie %s is een gewone rpm of deb pakketbeheerder.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Over X File Pakket" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM bron pakket" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM pakket" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB pakket" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Open Dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Geen pakket geladen" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Onbekend pakket-format" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Installeren/Opwaarderen van pakket" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Pakket deinstalleren" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM pakket]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB pakket]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Zoektocht naar %s nislukt!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Fout bij het laden van bestand" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Kan bestand niet openen: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Gebruik: xfq [opties] [pakket] \n" "\n" " [opties] kan elk van de volgende zijn:\n" "\n" " -h, --help Print (dit) helpscherm en sluit af.\n" " -v, --version Print versie-informatie en sluit af.\n" "\n" " [pakket] is het pad naar het rpm of deb pakket dat u wilt openen bij het " "opstarten.\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF afbeelding" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP Afbeelding" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM Afbeelding" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX Afbeelding" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO Afbeelding" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB Afbeelding" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM Afbeelding" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA Afbeelding" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM Afbeelding" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG Afbeelding" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG Afbeelding" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF Afbeelding" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Afbeelding" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Openen" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Open afbeelding." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Afdrukken" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Afbeelding afdrukken." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Inzoomen" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Op afbeelding inzoomen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Uitzoomen" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Op afbeelding uitzoomen" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "100% inzoomen" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Op afbbelding 100% inzoomen" #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Inzoomen om passend te maken" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Inzoomen om in het venster te passen" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Naar links draaien" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Linker afbeelding draaien" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Naar rechts draaien" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Rechter afbeelding draaien" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Horizontaal spiegelen" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Spiegel afbeelding horizontaal" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Verticaal spiegelen" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Spiegel afbeelding verticaal" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Afdrukken..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Recente bestanden opruimen" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Recent bestandsmenu opruimen" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Xfi afsluiten" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Zoom &in" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Zoom &uit" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Zoo%m 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Inzoomen om in het venster te passen" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Draai &rechts" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Draai naar rechts" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Draai &links" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Draai naar linkls" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Spiegel &horizontaal" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Horizontaal spiegelen" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Spiegel &verticaal" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Verticaal spiegelen" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "Verborgen bestanden en mappen tonen." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Toon thumbnails bij afbeeldingen" #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Toon mappen met grote iconen." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Toon mappen met kleine iconen." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Gedetailleerde bestandslijst" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Laat gedetailleerde mappenlijst zien." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "De iconen in rijen tonen." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "De iconen in kolommen tonen" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Schaal de icoonnamen automatisch in" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Werkbalk tonen." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Bestandslijst" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Bestandslijst tonen." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Bestandslijst tekstkleur" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Map met grote iconen tonen." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filter afbeeldingen" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Neem alleen afbeeldingen in de lijst op.." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "In &venster passen bij het openen" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Bij het openen van een afbeelding inzoomen om in het venster te passen" #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Over X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Over X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image versie %s is een eenvoudige afbeelding-viewer.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Over X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Fout bij het laden van de afbeelding" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Type niet ondersteund: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Kan afbeelding niet laden, het bestand is wellicht beschadigd" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Tekstfonts worden aagepaast na herstart.\n" "X File Explorer nu herstarten?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Afbeelding openen" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Afdrukopdracht:\n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Gebruik: xfi [opties] [afbeelding] \n" "\n" " [opties] kan een van de volgende zijn:\n" "\n" " -h, --help Print (dit) helpscherm en sluit af.\n" " -v, --version Print versie-informatie en sluit af.\n" "\n" " [afbeelding] is het pad naar het afbeeldingsbestand dat u bij het " "opstarten wilt openen\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite voorkeuren" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Tekst font:" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Wrap marge" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabgrootte" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Kleuren" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Zinnen" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Achtergrond:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Tekst:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Gekozen achtergrond tekst:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Selecteer tekst:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Oplichtende achtergrond tekst:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Gemarkeerde tekst:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Zin-nummers achtergrond:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Zin-nummer voorgrond:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Zoeken" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Venster" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr "Zinnen:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr "" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Zin:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nieuw" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Nieuw document maken" #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Document openen." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Opslaan" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Document opslaan" #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Afsluiten" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Document afsluiten." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Dokument afdrukken." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Afsluiten" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "X File Write afsluiten" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopieer selectie naar het klembord." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Knippen" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Knip selectie naar het klembord." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Plakken" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Klembord plakken." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Ga naar zin nummer." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Ongedaan maken" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Laatste verandering ongedaan maken." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Opnieuw doen" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Herhaal het laatste ongedaan maken." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Tekst zoeken." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Terugzoeken in selectie" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Vooruitzoeken in selectie" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Zoek vooruit in de selectie" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Vooruitzoeken naar geselecteerde tekst." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Word wrap aan" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Word wrap aanzetten." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Word wrap uit" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Word wrap uitzetten." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Zin-nummers tonen" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Toon zin-nummers" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Zin-nummers verbergen" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Verberg zin-nummers" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nieuw..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Sla wijzigingen op in bestand." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Opslaan &als..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Bewaar het document in een ander bestand." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Dokument afsluiten." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Recente bestanden opruimen" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Ongedaan maken" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Opnieuw doen" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Terug naar &opgeslagen" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Val terug op het opgeslagen document." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Kn&ip" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Vanuit het klembord plakken" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Kl&eine letter" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Wijzig in kleine letter." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Hoofd&letter" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Verander in hoofdletter." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Ga naar zin..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Selecteer &alles" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&Statuslijn" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Statuslijn tonen." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Zoeken..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Zoek naar een string." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Vervangen..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Naar een string zoeken en die door een andere vervangen." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Zoek selectie &terug" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Zoek selectie &vooruit" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Word wrap modus aan/uit." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Zin-nummers" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Zin-nummer modus aan/uit." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Overschrijven" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Overschrijf-modus aan/uit." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Font..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Tekst font wijzigen" #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Meer voorkeuren..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Andere opties wijzigen." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Over X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Over X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Bestand is te groot: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Kan bestand niet lezen: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Fout bij het opslaan van het bestand" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Bestand is te groot: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "zonder titel" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "zonder titel%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write versie %s is een eenvoudige tekseditor.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Over X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Tekst font wijzigen" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Tekstbestanden" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C bron- bestand" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ bron-bestand" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ Header-bestand" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML bestanden" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP bestanden" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Niet opgeslagen dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "%s opslaan in bestand?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Dokument opslaan" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Dokument overschrijven" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Bestaand document overschrijven: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (gewijzigd)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Alleen-lezen" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Bestand is gewijzigd" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "was door een ander programma gewijzigd. Dit bestand opnieuw laden vanaf de " "schijf?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Vervangen" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Ga naar regel" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Ga naar regelnummer:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Gebruik: xfv [opties] [bestand 1] [bestand 2] [bestand 3]... \n" "\n" " [opties] kan een van de volgende zijn:\n" "\n" " -h, --help Print (dit) helpscherm en sluit af.\n" " -v, --version Print versie-informatie en sluit af.\n" "\n" " [bestand 1] [bestand 2] [bestand 3]...is het pad naar het bestand dat u " "met het opstarten wilt openen.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Root-modus" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Gereed." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Vervangen" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Ver&vang alles" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Zoek naar:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Vervang door:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&let niet op hoofdletters" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "U&itdrukking" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Terug" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Algemene toetsencombinaties" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Deze toetsencombinaties worden toegepast in alle Xfe applicaties.\n" "Om een toetsencombinatie aan te passen klikt u op het desbetreffende item..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "X&fe toetsencombinaties" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Deze toetsencombinaties gelden specifiek voor de toepassing X File " "Explorer.\n" "Om een toetsencombinatie aan te passen klikt u op het desbetreffende item..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i toetsencombinaties" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Deze toetsencombinaties gelden specifiek voor de toepassing X File Image.\n" "Om een toetsencombinatie aan te passen klikt u op het desbetreffende item..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w toetsencombinaties" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Deze toetsencombinaties gelden specifiek voor de toepassing X File Write.\n" "Om een toetsencombinatie aan te passen klikt u op het desbetreffende item..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Naam actie" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registratie van toets" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Toestencombinatie" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Druk op de toestencombinatie die u voor deze actie wilt gebruiken: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[druk op de spatiebalk om de toetsencombinatie voor deze actie ongedaan te " "maken]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Toetsencombinatie aanpassen" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "De toetsencombinatie %s is reeds in gebruik in de algemene sectie.\n" "\tU dient de bestaande combinatie eerst te verwijderen voordat u deze weer " "kunt toewijzen." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "De toetsencombinatie %s is reeds in gebruik in de Xfe sectie.\n" "\tU dient de bestaande combinatie eerst te verwijderen voordat u deze weer " "kunt toewijzen." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "De toetsencombinatie %s is reeds in gebruik in de Xfi sectie.\n" "\tU dient de bestaande combinatie eerst te verwijderen voordat u deze weer " "kunt toewijzen." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "De toetsencombinatie %s is reeds in gebruik in de Xfw sectie.\n" "\tU dient de bestaande combinatie eerst te verwijderen voordat u deze weer " "kunt toewijzen." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Kan map %s niet verwijderen: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Kan map %s niet aanmaken" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "Fout! Kan bestand niet tonen\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Opstarten van %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Opdracht uitvoeren" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Kan map %s niet sluiten\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Bestands-copy" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Fout! Kan bestand niet tonen\n" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "Fout! Kan bestand niet tonen\n" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Bestandsbeheerder" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Een lichtgewicht bestandsbeheerder voor X-Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Afbeeldingviewer" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Een eenvoudige afbeeldingviewer voor Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Teksteditor" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Een eenvoudige teksteditor voor Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Pakketbeheerder" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Een eenvoudige pakketbeheerder voor Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Twee panelen tonen" #~ msgid "Panel does not have focus" #~ msgstr "Paneel heeft geen focus" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Map: " #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Map: " #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Overschrijven bevestigen" #~ msgid "P&roperties..." #~ msgstr "Ei&genschappen..." #~ msgid "&Properties..." #~ msgstr "&Eigenschappen..." #~ msgid "&About X File Write..." #~ msgstr "&Over X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Kan map %s niet verwijderen: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Kan map %s niet verwijderen: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Kan geen map %s voor prullenbakbestanden maken: %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Opdracht uitvoeren" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Kan map %s niet aanmaken" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Kan geen map %s voor prullenbak-bestanden maken" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Kan geen info-map %s voor de prullenbak maken: %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Kan geen info-map %s voor de prullenbak maken" #~ msgid "Delete: " #~ msgstr "Verwijderen: " #~ msgid "File: " #~ msgstr "Bestand: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Over X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Rechter paneel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "&Linker paneel" #, fuzzy #~ msgid "Error " #~ msgstr "Fout" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Kan map %s niet aanmaken" #, fuzzy #~ msgid "Execute command " #~ msgstr "Opdracht uitvoeren" #, fuzzy #~ msgid "Command log " #~ msgstr "Opdracht" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Kan geen map %s voor prullenbakbestanden maken: %s" #~ msgid "Non-existing file: %s" #~ msgstr "Niet aanwezig bestand: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Kan niet herbenoemen naar doel %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Snelheid van het scrollen van de muis:" #~ msgid "Mouse" #~ msgstr "Muis" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Brongrootte: %s - Datum wijziging: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Doelgrootte: %s - Datum wijziging: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Onmogelijk bepaalde iconen te laden. Check a.u.b. het icoon-pad" #~ msgid "Go back" #~ msgstr "Terug" #~ msgid "Move to previous folder." #~ msgstr "Naar de voorgaande map gaan." #~ msgid "Go forward" #~ msgstr "Vooruit gaan" #~ msgid "Move to next folder." #~ msgstr "Naar de volgende map gaan." #~ msgid "Go up one folder" #~ msgstr "Naar een bovenliggende map gaan" #~ msgid "Move up to higher folder." #~ msgstr "Naar een hogere map gaan." #~ msgid "Back to home folder." #~ msgstr "Terug naar de home-map." #~ msgid "Back to working folder." #~ msgstr "Terug naar de werkmap." #~ msgid "Show icons" #~ msgstr "Toon iconen" #~ msgid "Show list" #~ msgstr "Lijst tonen" #~ msgid "Display folder with small icons." #~ msgstr "Map met kleine iconen tonen." #~ msgid "Show details" #~ msgstr "Details tonen" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Gebruik: xfv [opties] [bestand 1] [bestand 2] [bestand 3]... \n" #~ "\n" #~ " [opties] kan elk van de volgende zijn:\n" #~ "\n" #~ " -h, --help Print (dit) helpscherm en sluit af.\n" #~ " -v, --version Print versie-informatie en sluit af.\n" #~ "\n" #~ " [bestand 1] [bestand 2] [bestand 3]... zijn de paden naar de " #~ "bestanden die uwilt openen bij het opstarten .\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Plak:" #~ msgid "Line:" #~ msgstr "Regel:" #~ msgid "Open document." #~ msgstr "Dokument openen." #~ msgid "Quit Xfv." #~ msgstr "Xfv afsluiten." #~ msgid "Find" #~ msgstr "Vinden" #~ msgid "Find string in document." #~ msgstr "Vind string in document" #~ msgid "Find again" #~ msgstr "Opnieuw vinden" #~ msgid "Find string again." #~ msgstr "String opnieuw vinden." #~ msgid "&Find..." #~ msgstr "&Vinden..." #~ msgid "Find a string in a document." #~ msgstr "Een string in een document terugvinden." #~ msgid "Find &again" #~ msgstr "Vind &opnieuw" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Statusbalk tonen of verbergen." #~ msgid "&About X File View" #~ msgstr "&Over X File View" #~ msgid "About X File View." #~ msgstr "Over X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View versie %s is een eenvoudige tekstviewer.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Over X File View" #~ msgid "Error Reading File" #~ msgstr "Fout bij het lezen van bestand" #~ msgid "Unable to load entire file: %s" #~ msgstr "Kan het gehele bestand niet laden: %s" #~ msgid "&Find" #~ msgstr "&Vinden" #~ msgid "Not Found" #~ msgstr "Niet gevonden" #~ msgid "String '%s' not found" #~ msgstr "String '%s' niet gevonden" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "tekstviewer" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Een eenvoudige tekstviewer voor Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "Doel %s is een sub-map van de bron" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Bestemming %s is dezelfde als de bron" #, fuzzy #~ msgid "Ignore case" #~ msgstr "N&iet op hoofletters letten" #, fuzzy #~ msgid "In directory:" #~ msgstr "Naar de volgende directory gaan" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "Naar de volgende directory gaan" #~ msgid "Re&store from trash" #~ msgstr "Terug&halen uit prullenbak" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Bestanden en mappen" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Bestands-associaties" #, fuzzy #~ msgid " Items" #~ msgstr " items" #, fuzzy #~ msgid "Search results - " #~ msgstr "Vorige zoeken" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Map met grote iconen tonen." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Map met kleine iconen tonen." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Laat gedetailleerde mappenlijst zien." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Thumbnails tonen" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Thumbnails verbergen" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Kopieer de gekozen bestanden naar het klembord" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Knip de gekopieerde bestanden naar het klembord" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Toon eigenschappen van de geselecteerde bestanden" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Verplaats geselecteerde bestanden naar de prullenbak" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Geselecteerde bestanden verwijderen" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Verborgen bestanden en mappen tonen." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tBestand kiezen..." #~ msgid "Dir&ectories first" #~ msgstr "Mappen eerst" #~ msgid "Toggle display hidden directories" #~ msgstr "Verborgen bestanden aan/uit" #~ msgid "&Directories first" #~ msgstr "&Mappen eerst" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Kan map %s niet verwijderen: %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Fout! Kan bestand niet tonen\n" #~ msgid "Go to working directory" #~ msgstr "Naar de werk-map gaan" #~ msgid "Go to previous directory" #~ msgstr "Naar de vorige directory gaan." #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "De bovenliggende map %s bestaat niet, wilt u die aanmaken?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Kan map %s niet verwijderen: %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Kan map %s niet aanmaken" #~ msgid "Directory name" #~ msgstr "Map-naam" #~ msgid "Single click directory open" #~ msgstr "Map openen met een klik" #~ msgid "Confirm quit" #~ msgstr "Afsluiten bevestigen" #~ msgid "Quitting Xfe" #~ msgstr "Xfe afsluiten" #~ msgid "Display toolbar" #~ msgstr "Werkbalk tonen" #~ msgid "Display or hide toolbar." #~ msgstr "Werkbalk tonen of verbergen." #~ msgid "Move the selected item to trash can?" #~ msgstr "Het gekozen bestand in de prullenbak gooien?" #~ msgid "Definitively delete the selected item?" #~ msgstr "Het gekozen item definitief verwijderen?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Uitvoeren" xfe-1.42/po/es.po0000644000175100017510000061104312746115274010550 00000000000000# translation of es.po to # Copyright (C) 2005, 2008 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # # # Martín Carr , 2013. # Félix Medrano Sanz , 2008, 2009. # jcsl , 2015. msgid "" msgstr "" "Project-Id-Version: Xfe 1.40\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2015-02-22 14:18+0100\n" "Last-Translator: jcsl \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.5\n" "X-Poedit-Bookmarks: 1026,-1,-1,-1,-1,-1,-1,-1,-1,-1\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Uso: xfe [opciones] [DIRECTORIO|ARCHIVO...]\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar información sobre la versión y salir.\n" " -i, --iconic Iniciar iconizado.\n" " -m, --maximized Iniciar maximizado.\n" " -p n, --panel n Forzar modo de vista de paneles a n (n=0 => " "Árbol y un panel,\n" " n=1 => Un panel, n=2 => Dos paneles, n=3 => " "Árbol y dos paneles).\n" "\n" " [DIRECTORIO|ARCHIVO...] es una lista de directorios o archivos que se " "abrirán al inicio.\n" " Los dos primeros directorios se muestran en los paneles de archivos, el " "resto se ignora.\n" " El número de archivos a abrir no está limitado.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Aviso: Modo de panel desconocido, volviendo al último modo guardado\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Usuario" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lectura" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escritura" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Ejecución" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Otros" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Especial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Establecer UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Establecer GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Pegajoso" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Propietario" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Establecer marcados" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Recursivamente" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Borrar marcados" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Archivos y directorios" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Añadir marcados" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Solo directorios" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Solo propietario" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Solo archivos" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Aceptar" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancelar" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permisos" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "A&sociaciones de archivos" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensión:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descripción:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Abrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSeleccionar archivo..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ver:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editar:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extraer:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalar/Actualizar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Icono grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Icono pequeño:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nombre" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Aviso: ¡el nombre de archivo no es UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de archivos (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Directorio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo de caracteres" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo de bloques" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Tubería con nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Enlace roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punto de montaje" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo de montaje:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Usado:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Libre:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de archivos:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Dirección:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Tamaño total:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Enlace a:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Enlace roto a:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ubicación original:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Fecha del archivo" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Última modificación:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Último cambio:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Último acceso:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notificación de inicio" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Deshabilitar la notificación de inicio para este ejecutable" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Fecha de eliminación:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Tipos múltiples" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostrar las propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostrar las propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Propiedades del archivo" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Aviso" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "El nombre de archivo está vacío, operación cancelada" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "El nombre de archivo está vacío, operación cancelada" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Error" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "El directorio %s no existe" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "¡Se ha cancelado el cambio de propietario!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s ha fallado: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "¡Establecer permisos especiales puede ser inseguro! ¿Está seguro?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s ha fallado: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s ha fallado" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " en un elemento seleccionado" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "¡Se ha cancelado el cambio de permisos en archivo(s)!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Selecciona un archivo ejecutable" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Selecciona un archivo de icono" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mover archivo" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Enlazar archivo" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/directorios.\n" "Desde: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Enlace simbólico" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "¡Ha ocurrido un error al mover los archivos!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover archivos!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "¡Ha ocurrido un error al copiar los archivos!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "¡Se ha cancelado la operación de copiar archivos!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no está respondiendo..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Enlace a directorio" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Directorios" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostrar directorios ocultos" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "No mostrar directorios ocultos" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytes en la raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "El panel tiene el foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Paneles verticales" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Se ha denegado permiso a: %s." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nuevo &directorio..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Directorios ocultos" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "No distinguir m&ay. de minúsc." #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Inve&rtir orden" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "E&xpandir árbol" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "&Contraer árbol" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "M&ontar" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Desmon&tar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Añadir a archivo comprimido..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Cor&tar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Pegar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nombrar..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Cop&iar a..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Enla&zar con..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Mo&ver a la papelera" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "R&estaurar desde la papelera" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "Elimina&r" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propiedad&es" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "No se puede entrar al directorio %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "No se puede entrar al directorio %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "El nombre de archivo está vacío, operación cancelada" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Crear archivo" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos desde: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renombrar " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copiar a" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mover" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Mover %s elementos desde: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlazar a %s elementos desde: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s no es un directorio" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "¡Ha ocurrido un error al enlazar los archivos!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "¡Se ha cancelado la operación de enlazar archivos!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmar eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Eliminar archivo" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "El directorio %s no está vacío, ¿eliminar de todas formas?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "El directorio %s está protegido contra escritura, ¿eliminar definitivamente " "de todas formas?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "¡Se ha cancelado la operación de eliminar directorios!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Confirmar papelera" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "El directorio %s está protegido contra escritura, ¿mover a la papelera de " "todas formas?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "¡Ha ocurrido un error al mover a la papelera!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Restaurar de la papelera" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "¿Restaurar el directorio %s a su ubicación original %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Confirmar restauración" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Información de restauración no disponible para %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "El directorio padre %s no existe, ¿desea crearlo?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "¡Ha ocurrido un error al recuperar desde la papelera!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "¡Se ha cancelado la restauración desde la papelera!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Crear directorio nuevo:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Directorio nuevo" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "El nombre de archivo está vacío, operación cancelada" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "No se puede ejecutar el comando %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " el directorio:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " ¡operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " en la raíz" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Origen:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destino:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Datos copiados:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Datos movidos:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Eliminar:" #: ../src/File.cpp:136 msgid "From:" msgstr "Desde:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Cambiando propietario..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montar el sistema de archivos..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montar el directorio:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmontar el sistema de archivos..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Desmontar el directorio:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "El directorio %s ya existe.\n" "¿Sobrescribir?\n" "=> Precaución, ¡todos los archivos en este directorio se perderán " "definitivamente!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "El archivo %s existe.\n" "¿Desea sobrescribirlo?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmar sobrescritura" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "No se puede preservar la fecha al copiar el archivo %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "No se puede preservar la fecha al copiar el archivo %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar el directorio %s : Permiso denegado" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "No se puede preservar la fecha al copiar el directorio %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "No se puede preservar la fecha al copiar el directorio %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "El origen %s no existe" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "El destino %s es idéntico al origen" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "El destino %s es un subdirectorio del origen" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Eliminar directorio: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Desde: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar el directorio %s:%s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar el directorio %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede renombrar al destino %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "No se puede crear el enlace simbólico %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "No se puede crear el enlace simbólico %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Directorio: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Añadir a archivo comprimido" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Comando fallido: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directorio %s se ha montado con éxito." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "El directorio %s se ha desmontado con éxito." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalar/Actualizar paquete" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalando paquete: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Desinstalando paquete: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nombre de &archivo:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Aceptar" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltro de archivos:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Sólo lectura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Ir al directorio anterior" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Ir al directorio siguiente" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Subir un directorio" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Ir al directorio personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Ir al directorio de trabajo" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nuevo directorio" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Lista de iconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Lista de iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Lista de archivos detallada" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "No mostrar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "No mostrar miniaturas" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crear directorio nuevo..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crear archivo nuevo..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Archivo nuevo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Ir al directorio &personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Ir al directorio de &trabajo" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Archivo nuevo..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "&Directorio nuevo..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "&Miniaturas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Iconos &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Iconos &pequeños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "&Lista completa de archivos" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Filas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Columnas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Tamaño automático" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nombre" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ta&maño" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Usuario" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Dir&ectorios primero" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "&Invertir orden" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Familia:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Tamaño:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Cualquiera" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europa-Oeste" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europa-Este" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Europa-Sur" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Europa-Norte" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arábigo" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europa central (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arábigo (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Tailandés (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Indicar ancho:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultracondensado" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extracondensado" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semicondensado" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semiexpandido" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extraexpandido" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultraexpandido" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Todas las fuentes:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Previsualizar:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Ejecutar Xfe como administrador" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "Sali&r" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &todo" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Introduzca la contraseña de usuario:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Introduzca la contraseña de administrador:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "¡Ha ocurrido un error!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño en raíz: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Ruta original: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de eliminación: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "No se puede cargar la imagen" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Ruta original" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de eliminación" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtro" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "El archivo %s es un archivo de texto ejecutable, ¿qué quieres hacer?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Confirmar ejecución" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Registro de comandos" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "El nombre de archivo está vacío, operación cancelada" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Al directorio:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "No se puede escribir en la papelera %s: Permiso denegado" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s archivos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "El archivo %s está protegido contra escritura, ¿mover a la papelera de todas " "formas?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "¡Se ha cancelado la operación de mover a la papelera!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "¿Restaurar el archivo %s a su ubicación original %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus ubicaciones originales?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear el directorio %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente el directorio %s?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Eliminar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "El archivo %s está protegido contra escritura, ¿eliminar de todas formas?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "¡Se ha cancelado la operación de borrar archivos!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Comparar" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Con:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "No se encuentra el programa %s. Por favor, ¡defina un programa comparador de " "archivos en el diálogo de Preferencias!" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Crear archivo nuevo:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer los permisos en %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "No se pueden establecer los permisos en %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Crear enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Enlace simbólico nuevo" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Seleccionar archivo o directorio referenciado por el enlace" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "El origen %s del enlace no existe" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Abrir archivo(s) seleccionado(s) con:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Mostrar archivos:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Archiv&o nuevo" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "&Enlace simbólico nuevo..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Lista completa de archivos" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "A&rchivo nuevo" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montar" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Abrir co&n..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&aer a directorio " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Ext&raer aquí" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instalar/Actuali&zar" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "De&sinstalar" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Com¶r..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Com¶r" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Consultar pa&quetes " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Scripts" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Ir al directorio de &scripts" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Cop&iar a..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "M&over a la papelera" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Res&taurar de la papelera" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Comparar" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Propiedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Seleccionar un directorio de destino" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalar/Actualizar paquete" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Desinstalar paquete" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Error: Bifurcación fallida: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear el directorio de scripts %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "No se puede crear el directorio de scripts %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No encontrado un gestor de paquetes compatible (rpm o dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "El archivo %s pertenece al paquete: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " elementos seleccionados " #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s de %s elementos seleccionados" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 elemento" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " elementos" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtro: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Número límite de favoritos alcanzado. Se eliminará el último favorito..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirme Eliminar favoritos" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "¿Realmente desea eliminar todos sus favoritos?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Cerrar" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "No se pueden duplicar las tuberías: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "No se pueden duplicar las tuberías" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FIN DE COMANDO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSeleccionar destino..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Seleccionar un archivo" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Seleccionar archivo o directorio de destino" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Añadir al archivo comprimido" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nuevo nombre de archivo:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formato:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tEl formato del archivo es tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tEl formato del archivo es zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tEl formato del archivo es 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tEl formato del archivo es tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tEl formato del archivo es tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tEl formato del archivo es tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tEl formato del archivo es tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tEl formato del archivo es gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tEl formato del archivo es bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tEl formato del archivo es xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tEl formato del archivo es Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Usar la papelera para borrar archivos (borrado reversible)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir un comando para evitar la papelera (borrado permanente)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Recordar disposición" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Guardar la posición de la ventana" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Abrir directorios con un solo clic" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Abrir archivos con un solo clic" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Mostrar pistas en listas de archivos y directorios" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Dimensionado relativo de listas de archivos" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Mostrar enlazador de ruta sobre listas de archivos" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notificar el inicio de aplicaciones" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formato de fecha usada en listas de archivos y directorios:\n" "(Escriba 'man strftime' en una terminal para obtener ayuda sobre el formato)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Modos" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Modo inicial" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Iniciar en el directorio personal" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Iniciar en el directorio actual" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Iniciar en el último directorio visitado" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Modo de desplazamiento" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en listas de archivos y ventanas de texto" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Modo administrador" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Permitir modo administrador" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Identificación mediante su (usa la contraseña de administrador)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Identificación mediante sudo (usa la contraseña de usuario)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Confirmar eliminación de directorios no vacíos" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmar sobrescritura" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Confirmar ejecución de archivos de texto" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Propiedades del archivo" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Avisos" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" "Avisar si se selecciona el directorio actual en la ventana de búsqueda." #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Mostrar mensajes de éxito al montar/desmontar" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avisar si falla la preservación de fecha" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avisar si se ejecuta como administrador" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visor de texto:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Comparación de archivos:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor de imágenes:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Compresor:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Visor de PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Reproductor de audio:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Reproductor de vídeo:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temas" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Tema de color" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Colores personalizados" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Doble clic para personalizar el color" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Color base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Color del borde" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Color de fondo" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Color del texto" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Color del fondo de la selección" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Color de selección de texto" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Color de fondo en la lista de archivos" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Color del texto de la lista de archivos" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Color de resaltado en la lista de archivos" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Color de la barra de progreso" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Color de atención" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Color de la barra de progreso" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Estándar (controles clásicos)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (estilo moderno)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ruta del tema de iconos" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fuentes" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fuentes" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Fuente normal:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Fuente de texto:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "A&tajos de teclado" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atajos de teclado" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modificar atajos de teclado..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Restaurar los atajos predeterminados..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Seleccionar el directorio del tema de iconos o un archivo de icono" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Cambiar fuente normal" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Cambiar fuente del texto" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear archivo nuevo" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear directorio nuevo" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Abrir archivo" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Invertir selección" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Conmutar mostrar archivos ocultos" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Conmutar mostrar miniaturas" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Paneles verticales" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Paneles horizontales" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Refrescar paneles" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Crear enlace simbólico nuevo" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Restaurar archivos de la papelera" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Crear nueva ventana" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Crear una nueva ventana principal" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Ejecutar terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (solo Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Modo con un panel" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Modo con árbol y panel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Modo con dos paneles" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Modo con árbol y dos paneles" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Limpiar barra de dirección" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Renombrar archivo" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Crear enlaces simbólicos a la ubicación" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Añadir favorito" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Sincronizar paneles" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Intercambiar paneles" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Vaciar la papelera" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Conmutar mostrar archivos ocultos" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Zum de la imagen al 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Zum hasta ajustar a la ventana" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Rotar la imagen a la izquierda" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Rotar la imagen a la derecha" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Reflejar la imagen horizontalmente" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Reflejar la imagen verticalmente" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Crear documento nuevo" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a la línea" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Conmutar el modo división de palabras" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Conmutar el modo numerar líneas" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Conmutar el modo minúsculas" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Conmutar el modo mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "¿Quieres cambiar los atajos de teclado a sus valores predeterminados?\n" "\n" "¡Todas las modificaciones se perderán para siempre!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Restaurar los atajos de teclado predeterminadas" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reiniciar" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Los atajos de teclado se cambiarán al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El modo de desplazamiento se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora? " #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El tema se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El enlazador de ruta se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El estilo de los botones se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La fuente normal se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La fuente de texto se cambiará al reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Omitir" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Omitir to&do" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Tamaño del origen:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Fecha de modificación:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Tamaño del destino:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&jecutar" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Ejecutar en &modo consola" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Refrescar el panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar los archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar los archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar las propiedades de los archivos seleccionados" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover los archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar los archivos seleccionados" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "El directorio actual ha sido fijado a '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Lis&ta completa de archivos" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "No distinguir may. de minúsc." #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "T&amaño automático" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Consultar &paquetes" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Subir un directorio" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Copiar %s elementos" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Mover %s elementos" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Enlazar %s elementos" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "¡Debe introducir una ruta absoluta!" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr " 0 elementos" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Buscar archivos:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" "No distinguir may. de minúsc.\tNo distinguir mayúsculas de minúsculas en los " "nombres de archivos" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Archivos ocultos\tMostrar archivos y directorios ocultos." #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "En el directorio:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tEn el directorio..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "El texto contiene:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" "No distinguir may. de minúsc.\tNo distinguir mayúsculas de minúsculas en el " "texto" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Más opciones" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Opciones de búsqueda" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Reinicializar\tReinicializar las opciones de búsqueda" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Tamaño mínimo:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtrar por tamaño mínimo del archivo (KBytes)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Tamaño máximo:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtrar por tamaño máximo del archivo (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Última modificación antes de:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtrar por fecha de modificación mayor (días)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Días" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Última modificación después de:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtrar por fecha de modificación menor (días)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Usuario:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrar por nombre de usuario" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Grupo:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrar por nombre de grupo" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Tipo de archivo:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Archivo" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Tubería" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrar por tipo de archivo" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Permisos:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrar por permisos (octal)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Archivos vacíos:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tSolo archivos vacíos" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Seguir enlaces simbólicos:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tBuscar siguiendo enlaces simbólicos" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "No recursivo:" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNo buscar recursivamente en directorios" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Ignorar otros sistema de archivos:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNo buscar en otros sistemas de archivos" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Iniciar\tIniciar la búsqueda (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Detener\tDetener la búsqueda (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Búsqueda iniciada - Por favor, espere... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Resultados de la búsqueda <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Error de Entrada/Salida" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Búsqueda detenida... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Seleccionar ruta" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crear nuevo enlace simbólico" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaurar archivos seleccionados desde la papelera" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Ejecutar Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Buscar archivos y directorios..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montar (solo Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Desmontar (solo Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Mostrar un panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Mostrar árbol y panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Mostrar dos paneles" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Mostrar árbol y dos paneles" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Limpiar barra de dirección" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ir a la dirección" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nuevo &directorio..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Ir al directorio &personal" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Recargar" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Co&piar a..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Enla&zar a..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Propiedades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Archivo" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Seleccionar &Todo" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Quitar selección" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Invertir selección" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&referencias" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Barra general" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Barra de &herramientas" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Barra de &panel" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de &dirección" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra de e&stado" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Un panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Á&rbol y panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dos pa&neles" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Ár&bol y dos paneles" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "Paneles &verticales" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "Paneles &horizontales" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Añadir favorito" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Borrar favoritos" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Favoritos" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "Fi<ro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Miniaturas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Iconos grandes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Fecha" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Usuario" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Grupo" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "&Directorios primero" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Panel i&zquierdo" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "Fi<ro" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Directorios &primero" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Panel de&recho" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "&Ventana nueva" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Ventana de ad&ministrador nueva" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "E&jecutar comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizar paneles" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Inter&cambiar paneles" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Ir al directorio de scripts" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Buscar archivos..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Desmontar" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Herramientas" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Ir a la &papelera" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Tamaño de la papelera" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Vaciar la papelera" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "P&apelera" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "A&yuda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como administrador!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "A partir de la versión 1.32 de Xfe, el lugar donde se encuentran los " "archivos de configuración ha cambiado a '%s'.\n" "Puede editar manualmente los nuevos archivos de configuración para importar " "sus antiguas personalizaciones..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No se puede crear el directorio de configuración de Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "No se puede crear el directorio de configuración de Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "¡Archivo global xferc no encontrado! Seleccione un archivo de " "configuración..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Archivo de configuración de XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No se puede crear el directorio 'files' de la papelera %s : %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No se puede crear el directorio 'files' de la papelera %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No se puede crear el directorio 'info' de la papelera %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No se puede crear el directorio 'info' de la papelera %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander de Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Traductores\n" "-------------\n" "Alemán: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Bosnio: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalán: muzzol\n" "Checo: David Vachulka\n" "Chino: Xin Li\n" "Chino (Taiwán): Wei-Lun Chao\n" "Danés: Jonas Bardino, Vidar Jon Bauge\n" "Español: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martín Carr\n" "Español (Argentina): Bruno Gilberto Luciani,\n" "Martín Carr\n" "Español (Colombia): Vladimir Támara (Pasos de Jesús)\n" "Francés: Claude Leo Mercier, Roland Baudin\n" "Griego: Nikos Papadopoulos\n" "Holandés: Hans Strijards\n" "Húngaro: Attila Szervac, Sandor Sipos\n" "Italiano: Claudio Fontana, Giorgio Moscardi\n" "Japonés: Karl Skewes\n" "Noruego: Vidar Jon Bauge\n" "Polaco: Jacek Dziura, Franciszek Janowski\n" "Portugués: Miguel Santinho\n" "Portugués (Brasil): Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Ruso: Dimitri Sertolov, Vad Vad\n" "Sueco: Anders F. Bjorklund\n" "Turco: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Buscar archivos y directorios" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "¿Seguro que quiere vaciar la papelera?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " en " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "¡Todos los elementos se perderán para siempre!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Tamaño de la papelera: %s (%s archivos, %s subdirectorios)\n" "\n" "Fecha de modificación: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Tamaño de la papelera" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "¡No se puede leer el directorio 'files' de la papelera %s!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Comando no encontrado: %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Asociación de archivo no válida: %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Asociación de archivo no encontrada: %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Abrir archivo de paquete" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Abrir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra de &herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Descripción" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Lista de archivos" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package versión %s es un gestor de paquetes RPM o DEB simple.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Paquetes RPM de código fuente" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Abrir documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar paquete" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Desinstalar paquete" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "¡Ha fallado la consulta de %s!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Error al cargar el archivo" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Uso: xfp [opciones] [paquete] \n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [paquete] es la ruta al paquete rpm o deb que quieres abrir al inicio.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Imagen ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Imprimir archivo de imagen." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Ampliar" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Ampliar la imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Reducir" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Reducir la imagen." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Zum al 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Zum de la imagen al 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Zum hasta ajustar" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Zum hasta ajustar a la ventana." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Rotar a la izquierda" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Rotar la imagen a la izquierda." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Rotar a la derecha" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Rotar la imagen a la derecha." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Reflejar horizontalmente" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Reflejar la imagen horizontalmente." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Reflejar la imagen verticalmente." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Im&primir..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Limpiar archivos recientes" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Limpiar el menú de archivos recientes." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Salir de Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "&Ampliar" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "&Reducir" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Zu&m al 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Zum hasta ajustar a la &ventana" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Rotar a la &derecha" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Rotar a la derecha." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Rotar a la &izquierda" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Rotar a la izquierda." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Reflejar &horizontalmente" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Reflejar horizontalmente." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Reflejar &verticalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Reflejar verticalmente." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Mostrar archivos y directorios ocultos." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Mostrar miniaturas de las imágenes." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Mostrar directorios con iconos grandes." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Mostrar directorios con iconos pequeños." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Lista detallada de archivos" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Mostrar listado detallado del directorio." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Mostrar los iconos por filas." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Mostrar los iconos por columnas." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Tamaño automático de nombres de iconos." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar la barra de herramientas." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Lista de archivos" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Mostrar la lista de archivos." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Lista de archivos &antes" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Mostrar la lista de archivos antes que ventana de imagen." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrar imágenes" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Listar solo los archivos de imágenes." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Ajustar a la &ventana al abrir" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Zum hasta ajustar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image versión %s es un visor de imágenes simple.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Error al cargar la imagen" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "No se puede cargar la imagen, el archivo podría estar corrupto" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "El cambio tendrá efecto al reiniciar.\n" "¿Reiniciar X File Image ahora?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando de impresión: \n" "(p. ej.: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Uso: xfi [opciones] [imagen] \n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [imagen] es la ruta al archivo de imagen que quieres abrir al iniciar.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Preferencias de XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Texto" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Margen para autoajuste:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tamaño de tabulación:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Quitar retornos de carro:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Colores" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Líneas" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Color de fondo:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Texto:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Fondo de texto seleccionado:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Texto seleccionado:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Fondo de texto resaltado:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Texto resaltado:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Fondo de números de línea:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Primer plano de números de línea:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Buscar" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Ventana" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Líneas:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Línea:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nuevo" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Crear nuevo documento." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Abrir archivo de documento." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Guardar" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Guardar documento." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Cerrar" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Cerrar archivo de documento." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprimir documento." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Salir" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Salir de X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copiar la selección al portapapeles." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Cortar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Cortar la selección al portapapeles." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Pegar" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Pegar desde el portapapeles." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Ir a número de línea." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Deshacer" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Deshacer el último cambio." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Rehacer" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Rehacer el último cambio." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Buscar texto." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Buscar selección hacia atrás" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Buscar el texto seleccionado hacia atrás." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Buscar selección hacia delante" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Buscar el texto seleccionado hacia delante." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Autoajustar texto" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Activar el autoajuste de texto." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "No autoajustar texto" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Desactivar el autoajuste de texto." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Mostrar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Mostrar los números de línea." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Ocultar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Ocultar los números de línea." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nuevo..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Guardar cambios a archivo." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "G&uardar como..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Guardar el documento en otro archivo." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Cerrar documento." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Limpiar archivos recientes" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Deshacer" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Rehacer" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "&Revertir a lo guardado" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Revertir al documento guardado." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Cor&tar" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Pegar desde el portapapeles." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Mi&núsculas" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Cambiar a minúsculas." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Ma&yúsculas" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Cambiar a mayúsculas." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Ir a la línea..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Seleccionar &todo" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&Línea de estado" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Mostrar la línea de estado." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Buscar..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Buscar una cadena de texto." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Reemplazar..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Buscar una cadena de texto y reemplazarla por otra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Buscar sel. hacia &atrás" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Buscar sel. hacia &delante" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Autoajuste" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Activa o desactiva el modo autoajuste." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Números de línea" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Muestra u oculta los números de línea." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Superponer" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Activa o desactiva el modo superponer." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Fuente..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Cambiar fuente de texto." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Más preferencias..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Cambiar otras opciones." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Acerca de X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "El archivo es demasiado grande: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "No se puede leer el archivo: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "sin título" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "sin título%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write versión %s es un editor de texto simple.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Cambiar fuente" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Archivos de código C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Archivos de código C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Archivos de cabeceras C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Documento sin guardar" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "¿Guardar %s a un archivo?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Sobrescribir documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "¿Sobrescribir documento existente: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (modificado)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr "(solo lectura)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "SOLO LECTURA" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "SOB" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "El archivo fue modificado" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "fue modificado por otro programa. ¿Recargar este archivo desde el disco?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Ir a línea" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Ir a la línea número:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Uso: xfw [opciones] [archivo1] [archivo2] [archivo3]...\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -r, --read-only Abrir los archivos en modo de solo lectura.\n" " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" " -v, --version Mostrar la información de versión y salir.\n" "\n" " [archivo1] [archivo2] [archivo3]... son las rutas a los archivo(s) que " "quieres abrir al iniciar.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Directorio raíz" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Preparado." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Reemplazar" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Reem&plazar todo" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Buscar:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Reemplazar con:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&acto" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&No distinguir may. de minúsc." #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpresión" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Hacia atrás" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " \n" " XFE, Gestor de archivos X File Explorer\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Este archivo de ayuda se ve mejor con una fuente de ancho fijo. Puede " "cambiarla en la pestaña fuentes del diálogo de preferencias.]\n" " \n" " \n" " \n" " Este programa es software libre; puedes redistribuirlo y/o modificarlo " "bajo los términos de la GNU\n" " General Public License como publica la Free Software Foundation; ya sea la " "versión 2, o (si lo prefiere)\n" " cualquier versión posterior.\n" " \n" " Este programa se distribuye con la esperanza de ser útil, pero sin NINGUNA " "GARANTÍA; \n" " ni tan siquiera la garantía implícita de COMERCIABILIDAD o AJUSTE A UN " "PROPÓSITO PARTICULAR. \n" " Vea la GNU General Public License para más detalles.\n" " \n" " \n" " \n" " Descripción\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) es un gestor de archivos ligero para X11, escrito " "utilizando la biblioteca FOX.\n" " Es independiente del escritorio y puede ser fácilmente personalizado.\n" " Tiene estilos Commander o Explorer y es muy rápido y pequeño.\n" " Xfe está basado en el popular, pero descontinuado X Win Commander, escrito " "originalmente por Maxim Baranov.\n" " \n" " \n" " \n" " Características\n" " =-=-=-=-=-=-=-=\n" " \n" " - Interfaz gráfica de usuario muy rápida\n" " - Soporte UTF-8\n" " - Interfaz Commander/Explorer con cuatro modos de gestión de archivos : " "a) un panel, b) un árbol de directorios\n" " y un panel, c) dos paneles y d) un árbol de directorios y dos " "paneles\n" " - Intercambio y sincronización de paneles\n" " - Editor de texto integrado (X File Write, Xfw)\n" " - Visor de texto integrado (X File View, Xfv)\n" " - Visor de imágenes integrado (X File Image, Xfi)\n" " - Visor / instalador / desinstalador de paquetes (rpm or deb) (X File " "Package, Xfp)\n" " - Copia/corta/pega archivos desde y a tu escritorio favorito (GNOME/KDE/" "XFCE/ROX)\n" " - Arrastra y suelta archivos desde y hasta tu escritorio favorito " "(GNOME/KDE/XFCE/ROX)\n" " - Modo administrador con autenticación por su o sudo\n" " - Línea de estado\n" " - Asociación de archivos\n" " - Papelera opcional para borrado de archivos (compatible con los " "estándares de freedesktop.org)\n" " - Auto guardado de registro\n" " - Navegación de archivos y directorios con doble clic o clic simple\n" " - Menús emergentes con el botón derecho del ratón en árbol y lista de " "archivos\n" " - Cambiar los atributos de los archivos\n" " - Montar/desmontar dispositivos (solo Linux)\n" " - Avisa cuando los puntos de montaje no responden (solo Linux)\n" " - Barras de herramientas\n" " - Favoritos\n" " - Avanza y retrocede por las listas de historial de navegación de " "directorios\n" " - Temas de color (GNOME, KDE, Windows...)\n" " - Temas de iconos (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Temas de control (estándar o similar a Clearlooks)\n" " - Crea/extrae archivos comprimidos (compatible con los formatos tar, " "compress, zip, gzip, bzip2, lzh, rar, ace y 7zip)\n" " - Ayuda visual con propiedades de archivos\n" " - Barras de progreso o diálogos para operaciones temporalmente largas\n" " - Miniaturas con previsualizaciones de archivos\n" " - Atajos de teclado configurables\n" " - Notificación de arranque (opcional)\n" " - y mucho más...\n" " \n" " \n" " \n" " Atajos de teclado predeterminados\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " A continuación están los atajos de teclado globales. Estos atajos son " "comunes a todas las aplicaciones X File.\n" " \n" " * Seleccionar todo - Ctrl-A\n" " * Copiar al portapapeles - Ctrl-C\n" " * Buscar - Ctrl-F\n" " * Buscar anterior - Shift-Ctrl-G\n" " * Buscar siguiente - Ctrl-G\n" " * Ir al directorio personal - Ctrl-H\n" " * Invertir selección - Ctrl-I\n" " * Abrir archivo - Ctrl-O\n" " * Imprimir archivo - Ctrl-P\n" " * Salir de aplicación - Ctrl-Q\n" " * Pegar desde el portapapeles - Ctrl-V\n" " * Cerrar ventana - Ctrl-W\n" " * Cortar al portapapeles - Ctrl-X\n" " * Quitar selección - Ctrl-Z\n" " * Mostrar ayuda - F1\n" " * Crear nuevo archivo - F2\n" " * Crear nuevo directorio - F7\n" " * Lista de iconos grandes - F10\n" " * Lista de iconos pequeños - F11\n" " * Lista de archivos detallada - F12\n" " * Mostrar/ocultar archivos ocultos - Ctrl-F6\n" " * Mostrar/ocultar miniaturas - Ctrl-F7\n" " * Ir al directorio de trabajo - Shift-F2\n" " * Ir al directorio superior - Backspace\n" " * Ir al directorio anterior - Ctrl-Backspace\n" " * Ir al siguiente directorio - Shift-Backspace\n" " \n" " \n" " A continuación están los atajos de teclado de X File Explorer. Estos " "atajos son específicos a la aplicación Xfe.\n" " \n" " * Añadir favorito - Ctrl-B\n" " * Filtrar archivos - ctrl-D\n" " * Ejecutar comando - Ctrl-E\n" " * Crear nuevo enlace simbólico - Ctrl-J\n" " * Intercambiar paneles - Ctrl-K\n" " * Limpiar barra de localización - Ctrl-L\n" " * Montar sistema de archivos - Ctrl-M\n" " * Renombrar archivo - Ctrl-N\n" " * Actualizar paneles - Ctrl-R\n" " * Enlazar archivos a localización - Ctrl-S\n" " * Arrancar terminal - Ctrl-T\n" " * Desmontar sistema de archivos - Ctrl-U\n" " * Sincronizar paneles - Ctrl-Y\n" " * Crear nueva ventana - F3\n" " * Editar - F4\n" " * Copiar archivos a localización - F5\n" " * Mover archivos a localización - F6\n" " * Propiedades de archivo - F9\n" " * Modo un panel - Ctrl-F1\n" " * Modo árbol y un panel - Ctrl-F2\n" " * Modo dos paneles - Ctrl-F3\n" " * Modo árbol y dos paneles - Ctrl-F4\n" " * Mostrar/ocultar archivos ocultos - Ctrl-F5\n" " * Ir a la papelera - Ctrl-F8\n" " * Crear nueva ventana raíz - Shift-F3\n" " * Ver - Shift-F4\n" " * Mover archivos a la papelera - Del\n" " * Restaurar archivos en papelera - Alt-Del\n" " * Borrar archivos - Shift-Del\n" " * Vaciar la papelera - Ctrl-Del\n" " \n" " \n" " A continuación están los atajos de teclado de X File Image. Estos atajos " "son específicos a la aplicación Xfi.\n" " \n" " * Ajustar imagen a ventana - Ctrl-F\n" " * Voltear imagen horizontalmente - Ctrl-H\n" " * Ampliar imagen al 100% - Ctrl-I\n" " * Rotar imagen a la izquierda - Ctrl-L\n" " * Rotar imagen a la derecha - Ctrl-R\n" " * Voltear imagen verticalmente - Ctrl-V\n" " \n" " \n" " A continuación están los atajos de teclado de X File Write. Estos atajos " "son específicos a la aplicación Xfw. \n" " * Activar/desactivar autoajuste - Ctrl-K\n" " * Ir a línea - Ctrl-L\n" " * Crear nuevo documento - Ctrl-N\n" " * Reemplazar texto - Ctrl-R\n" " * Guardar cambios a archivo - Ctrl-S\n" " * Mostrar/ocultar números de línea - Ctrl-T\n" " * Activar/desact. modo mayúsculas - Shift-Ctrl-U\n" " * Activar/desact. modo minúsculas - Ctrl-U\n" " * Rehacer el último cambio - Ctrl-Y\n" " * Deshacer el último cambio - Ctrl-Z\n" " \n" " \n" " X File View (Xfv) y X File Package (Xfp) usan solo algunos de los atajos " "de teclado globales.\n" " \n" " Ten en cuenta que todos los atajos listados previamente pueden ser " "cambiados en el diálogo de preferencias de Xfe. Sin embargo,\n" " algunas acciones de teclado son fijas y no se pueden cambiar. Esto " "incluye:\n" " \n" " * Ctrl-+ and Ctrl-- - aumentar y reducir imagen en Xfi\n" " * Shift-F10 - mostrar menús contextuales en " "Xfe\n" " * Return - abrir directorios en listas de " "archivos, abrir archivos, accionar botones, etc.\n" " * Space - abrir directorios en listas de " "archivos\n" " * Esc - cerrar diálogo actual, " "deseleccionar archivos, etc.\n" " \n" " \n" " \n" " Operaciones de arrastrar y soltar\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Arrastrar un archivo o conjunto de archivos (moviendo el ratón mientras se " "mantiene el botón izquierdo pulsado)\n" " a un directorio o panel de archivo opcionalmente abre un diálogo que " "permite seleccionar la operación: copiar,\n" " mover, enlazar o cancelar.\n" " \n" " \n" " \n" " Sistema de papelera\n" " =-=-=-=-=-=-=-=-=-=\n" " \n" " Desde la versión 1.32, Xfe implementa un sistema de papelera completamente " "compatible con los estándares de freedesktop.org.\n" " Esto permite al usuario mover los archivos a la papelera o restaurarlos " "desde Xfe o su escritorio\n" " favorito.\n" " Ten en cuenta que la situación de la papelera es ahora: ~/.local/share/" "Trash/files\n" " \n" " \n" " \n" " Configuración\n" " =-=-=-=-=-=-=\n" " \n" " Puedes personalizar todo Xfe (diseño, asociaciones de archivos, atajos de " "teclado, etc.) sin editar ningún archivo a mano.\n" " Sin embargo, puedes querer entender los principios de configuración, " "porque algunas adaptaciones pueden también\n" " hacerse fácilmente editando a mano los archivos de configuración.\n" " Ten cuidado con salir de Xfe antes de editar la configuración a mano, de " "otro modo los cambios podrían no ser\n" " tenidos en cuenta.\n" " \n" " El archivo de configuración de sistema xferc está situado en /usr/share/" "xfe, /usr/local/share/xfe\n" " o /opt/local/share/xfe, en el orden de preferencia indicado.\n" " \n" " Desde la versión 1.32, los archivos de configuración locales han cambiado. " "Esto es para ser compatibles\n" " con los estándares de freedesktop.org.\n" " \n" " Los archivos de configuración locales para Xfe, Xfw, Xfv, Xfi, Xfp ahora " "están en el directorio ~/.config/xfe.\n" " Se llaman xferc, xfwrc, xfvrc, xfirc y xfprc.\n" " \n" " En la primera ejecución de Xfe, el archivo de configuración de sistema se " "copia en el archivo de configuración local\n" " ~/.config/xfe/xferc que aun no existe. Si no se encuentra el archivo de " "configuración de sistema\n" " (por una instalación en lugar inusual), un diálogo pregunta al usuario el " "lugar correcto. Entonces es más fácil\n" " personalizar Xfe (esto es especialmente cierto para asociaciones de " "archivos) a mano porque todas las opciones locales\n" " están situadas en el mismo archivo.\n" " \n" " Los iconos PNG predeterminados están en /usr/share/xfe/icons/xfe-theme o /" "usr/local/share/xfe/icons/xfe-theme, dependiendo\n" " de tu instalación. Puedes cambiar fácilmente la ruta de temas de iconos en " "el diálogo de preferencias.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Los scripts a medida pueden ser ejecutados desde Xfe sobre los archivos " "que están seleccionados en un panel. \n" " Primero debe selecccionar los archivos que quiere utilizar, después hacer " "clic derecho en la lista de archivos e ir \n" " al sub menú Scripts. Por último, elige el script que quieres utilizar " "sobre la selección de archivos.\n" " \n" " Los archivos de script deben estar ubicados en el directorio ~/.config/" "xfe/scripts y deben ser ejecutables. Puedes \n" " organizar este directorio como quieras usando subdirectorios. Para ir " "directamente a este directorio, puedes hacerlo \n" " desde la entrada del menú Herramientas / Ir al directorio de scripts.\n" " \n" " A continuación, un ejemplo de un simple script de shell que lista cada " "archivo seleccionado en la terminal desde donde Xfe fue iniciado: \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Puedes usar, por supuesto, programas como xmessage, zenity or kdialog " "para mostrar una ventana con botones que \n" " permitan interactuar con el script. A continuación una modificación del " "ejemplo anterior que usa xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Usualmente, es posible usar los scripts para Nautilus encontrados en " "Internet sin modificaciones.\n" " \n" " \n" " \n" " Trucos\n" " =-=-=-=\n" " \n" " Lista de archivos\n" " - Selecciona archivos y haz click derecho para abrir un menú contextual " "en la selección de archivos\n" " - Pulsa Ctrl + click derecho para abrir un menú contextual en el panel " "de archivo\n" " - Al arrastrar un archivo/directorio a un directorio, mantén el ratón " "sobre el directorio para abrirlo\n" " \n" " Lista de árbol\n" " - Selecciona un directorio y haz click derecho para abrir un menú " "contextual en el directorio seleccionado\n" " - Pulsa Ctrl + click derecho para abrir un menú contextual en el panel " "del árbol\n" " - Al arrastrar un archivo/directorio a un directorio, mantén el ratón " "sobre el directorio para expandirlo\n" " \n" " Copiar/pegar nombres de archivo\n" " - Selecciona un archivo y pulsa Ctrl-C para copiar su nombre al " "portapapeles. En un diálogo, pulsa Ctrl-V para pegar\n" " el nombre de archivo.\n" " - En un diálogo de operación de archivo, selecciona un nombre en la " "línea que contiene el original y pégalo directamente\n" " al destino mediante el botón central del ratón. Entonces modifícalo " "según tus necesidades.\n" " \n" " Notificación de inicio\n" " - Notificación de inicio es el proceso que muestra una " "retroalimentación (un reloj de arena, por ejemplo) al \n" " usuario cuando ha iniciado una acción (copia de archivos, inicio de " "aplicaciones, etc.). Dependiendo del sistema,\n" " pueden haber ciertas limitaciones. Si Xfe fue compilado con " "notificación de inicio, el usuario puede deshabilitarla\n" " para todas las aplicaciones desde las Preferencias globales. También " "puede deshabilitarla para aplicaciones \n" " individuales, usando la opción correspondiente en la primera pestaña " "del menú Propiedades. Esta última forma\n" " solo está disponible cuando el archivo es ejecutable. Deshabilitar la " "notificación de inicio puede ser útil al usar \n" " viejas aplicaciones que no reconocen el protocolo de notificación de " "inicio, como por ejemplo Xterm.\n" " \n" " \n" " \n" " Errores\n" " =-=-=-=\n" " \n" " Por favor envía cualquier error a Roland Baudin . No " "olvides mencionar la versión de Xfe que usas,\n" " la versión de la biblioteca FOX y el nombre de tu sistema y versión.\n" " \n" " \n" " \n" " Traducciones\n" " =-=-=-=-=-=-=\n" " \n" " Xfe está disponible en 23 idiomas pero algunas traducciones son solo " "parciales. Para traducir Xfe a tu idioma,\n" " abre el archivo xfe.pot situado en el directorio po del código fuente con " "un programa como poedit, kbabel\n" " o gtranslator y complétalo con tus cadenas traducidas (ten cuidado con los " "atajos y los caracteres en formato c),\n" " y envíamelo de vuelta. Estaré encantado de integrar tu trabajo en la " "próxima versión de Xfe.\n" " \n" " \n" " \n" " Parches\n" " =-=-=-=\n" " \n" " Si has programado algún parche interesante, por favor envíamelo, y trataré " "de incluirlo en la próxima versión...\n" " \n" " \n" " Muchas gracias a Maxim Baranov por su excelente X Win Commander y a toda " "la gente que ha proporcionado \n" " parches, traducciones, tests y consejos útiles.\n" " \n" " [Última revisión: 16/09/2013]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Atajos de teclado globales" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos de teclado son comunes a todas las aplicaciones de Xfe.\n" "Haz doble clic en un elemento para modificar la tecla asociada..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Atajos de teclado de Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos de teclado son específicos a la aplicación X File Explorer.\n" "Haz doble clic en un elemento para modificar la tecla asociada..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Atajos de teclado de Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos de teclado son específicos a la aplicación X File Image.\n" "Haz doble clic en un elemento para modificar la tecla asociada..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Atajos de teclado de Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos de teclado son específicos a la aplicación X File Write.\n" "Haz doble clic en un elemento para modificar la tecla asociada..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nombre de la acción" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Clave de registro" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Atajos de teclado" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Pulsa la combinación de teclas que quieres usar para la acción: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Pulse espacio para deshabilitar el atajo para esta acción]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modificar el atajo de teclado" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección global.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfe.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfi.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se está usando en la sección de Xfw.\n" "\tDebes borrar el atajo de teclado existente antes de asignarlo de nuevo." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Error: No se puede entrar al directorio %s:%s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Error: No se puede entrar al directorio %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Error: No se puede abrir la pantalla\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Inicio de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Error: No se puede ejecutar el comando %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Error: No se puede cerrar el directorio %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "copiar" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Error: No se puede leer la lista de grupos: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Error: No se puede leer la lista de grupos" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Gestor de archivos" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un gestor de archivos ligero para X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visor de imágenes" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visor de imágenes simple para Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor de texto" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un editor de texto simple para Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gestor de paquetes" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un gestor de paquetes simple para Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Mostrar dos paneles" #~ msgid "Panel does not have focus" #~ msgstr "El panel no tiene el foco" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Nombre del directorio" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Nombre del directorio" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirmar sobrescritura" #~ msgid "P&roperties..." #~ msgstr "P&ropiedades..." #~ msgid "&Properties..." #~ msgstr "P&ropiedades..." #~ msgid "&About X File Write..." #~ msgstr "Acerca de &X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "No se puede entrar al directorio %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "No se puede entrar al directorio %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "No se puede crear el directorio 'files' de la papelera %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "No se puede ejecutar el comando %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "No se puede entrar al directorio %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "No se puede crear el directorio 'files' de la papelera %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "No se puede crear el directorio 'info' de la papelera %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "No se puede crear el directorio 'info' de la papelera %s" #~ msgid "Delete: " #~ msgstr "Eliminar: " #~ msgid "File: " #~ msgstr "Archivo: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Acerca de X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Panel de&recho" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Panel i&zquierdo" #, fuzzy #~ msgid "Error " #~ msgstr "Error" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "No se puede entrar al directorio %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Registro de comandos" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "No se puede crear el directorio 'files' de la papelera %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "El archivo no existe: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "No se puede renombrar al destino %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Velocidad de desplazamiento del ratón:" #~ msgid "Mouse" #~ msgstr "Ratón" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Tamaño fuente: %s - Fecha de modificación: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Tamaño destino: %s - Fecha de modificación: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "No se pueden cargar algunos iconos. ¡Revisa tus rutas de iconos!" #~ msgid "Go back" #~ msgstr "Ir atrás" #~ msgid "Move to previous folder." #~ msgstr "Ir al directorio anterior." #~ msgid "Go forward" #~ msgstr "Ir adelante" #~ msgid "Move to next folder." #~ msgstr "Ir al directorio siguiente." #~ msgid "Go up one folder" #~ msgstr "Subir un directorio" #~ msgid "Move up to higher folder." #~ msgstr "Ir al directorio superior." #~ msgid "Back to home folder." #~ msgstr "Volver al directorio personal." #~ msgid "Back to working folder." #~ msgstr "Volver al directorio de trabajo." #~ msgid "Show icons" #~ msgstr "Mostrar iconos" #~ msgid "Show list" #~ msgstr "Mostrar lista" #~ msgid "Display folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #~ msgid "Show details" #~ msgstr "Mostrar detalles" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Uso: xfv [opciones] [archivo1] [archivo2] [archivo3]...\n" #~ "\n" #~ " [opciones] puede ser cualquiera de los siguientes:\n" #~ "\n" #~ " -h, --help Mostrar (esta) pantalla de ayuda y salir.\n" #~ " -v, --version Mostrar la información de versión y salir.\n" #~ "\n" #~ " [archivo1] [archivo2] [archivo3]... son las ruta(s) a los archivo(s) " #~ "que quieres abrir al inicio.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Línea:" #~ msgid "Open document." #~ msgstr "Abrir documento." #~ msgid "Quit Xfv." #~ msgstr "Salir de Xfv." #~ msgid "Find" #~ msgstr "Buscar" #~ msgid "Find string in document." #~ msgstr "Buscar texto en documento." #~ msgid "Find again" #~ msgstr "Buscar de nuevo" #~ msgid "Find string again." #~ msgstr "Buscar el texto de nuevo." #~ msgid "&Find..." #~ msgstr "&Buscar..." #~ msgid "Find a string in a document." #~ msgstr "Buscar un texto en el documento." #~ msgid "Find &again" #~ msgstr "Buscar &otra vez" #~ msgid "Display status bar." #~ msgstr "Mostrar barra de estado." #~ msgid "&About X File View" #~ msgstr "Acerca de &X File View" #~ msgid "About X File View." #~ msgstr "Acerca de X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View versión %s es un visor de texto simple.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Acerca de X File View" #~ msgid "Error Reading File" #~ msgstr "Error al leer el archivo" #~ msgid "Unable to load entire file: %s" #~ msgstr "No se puede cargar el archivo entero: %s" #~ msgid "&Find" #~ msgstr "&Buscar" #~ msgid "Not Found" #~ msgstr "No encontrado" #~ msgid "String '%s' not found" #~ msgstr "No se ha encontrado la el texto '%s'" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Visor de texto" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Un visor de texto simple para Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "El destino %s es un subdirectorio del origen" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "El destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "El destino %s es idéntico al origen" #~ msgid "Ignore case" #~ msgstr "Ignorar capitalización" #~ msgid "In directory:" #~ msgstr "En el directorio:" #~ msgid "\tIn directory..." #~ msgstr "\tEn el directorio..." #~ msgid "Re&store from trash" #~ msgstr "Re&staurar desde la papelera" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Archivos y directorios" #, fuzzy #~ msgid "File size at most:" #~ msgstr "A&sociaciones de archivos" #, fuzzy #~ msgid " Items" #~ msgstr " elementos" #, fuzzy #~ msgid "Search results - " #~ msgstr "Buscar anterior" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Mostrar directorio con iconos grandes." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Mostrar listado detallado del directorio." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Mostrar miniaturas" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Ocultar miniaturas" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Copiar archivos seleccionados al portapapeles" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Cortar archivos seleccionados al portapapeles" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Mostrar propiedades de archivos seleccionados" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Mover archivos seleccionados a la papelera" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Eliminar archivos seleccionados" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Mostrar los archivos y directorios ocultos." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tSeleccionar archivo..." #~ msgid "Dir&ectories first" #~ msgstr "Directorios &primero" #~ msgid "Toggle display hidden directories" #~ msgstr "Mostrar/Ocultar directorios ocultos" #~ msgid "&Directories first" #~ msgstr "Directorios &primero" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s:%s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "¡Error! No se puede abrir la pantalla\n" #~ msgid "Go to working directory" #~ msgstr "Ir al directorio de trabajo" #~ msgid "Go to previous directory" #~ msgstr "Ir al directorio anterior" #~ msgid "Go to next directory" #~ msgstr "Ir al siguiente directorio" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "El directorio padre %s no existe, ¿desea crearlo?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s:%s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Directorio raíz" #~ msgid "Directory name" #~ msgstr "Nombre de directorio" #~ msgid "Single click directory open" #~ msgstr "Abrir directorios con un solo click" #~ msgid "Confirm quit" #~ msgstr "Confirmar al salir" #~ msgid "Quitting Xfe" #~ msgstr "Saliendo de Xfe" #~ msgid "Display toolbar" #~ msgstr "Mostrar barra de herramientas" #~ msgid "Display or hide toolbar." #~ msgstr "Mostrar u ocultar la barra de herramientas." #~ msgid "Move the selected item to trash can?" #~ msgstr "¿Mover el archivo seleccionado a la papelera?" #~ msgid "Definitively delete the selected item?" #~ msgstr "¿Eliminar definitivamente el elemento seleccionado?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Ejecución" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "No se puede preservar la fecha al copiar el archivo %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tEl formato del archivo es rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tEl formato del archivo es lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tEl formato del archivo es arj" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "¡Ha ocurrido un error al copiar los archivos!" #~ msgid "File list: Unknown package format" #~ msgstr "Lista de archivos: Formato de paquete desconocido" #~ msgid "Description: Unknown package format" #~ msgstr "Descripción: Formato de paquete desconocido" #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "¡Ha ocurrido un error! \n" #~ "Por favor, verifica que el programa xfvt está en tu path." #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "El directorio %s no está vacío, ¿mover a la papelera?" #~ msgid "Confirm delete/restore" #~ msgstr "Confirmar eliminación/restauración" #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "¡Ha sucedido un error! \n" #~ "Por favor, ten en cuenta que el modo administrador necesita tener una " #~ "terminal instalada en tu sistema." #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr " elementos desde: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "No se puede sobreescribir el directorio no vacío %s" #~ msgid "Move folder " #~ msgstr "Mover directorio " #~ msgid "File " #~ msgstr "Archivo " #~ msgid "Can't copy folder " #~ msgstr "No se puede copiar directorio " #~ msgid ": Permission denied" #~ msgstr ": Permiso denegado" #~ msgid "Can't copy file " #~ msgstr "No se puede copiar el archivo" #~ msgid "Installing package: " #~ msgstr "Desinstalar paquete: " #~ msgid "Uninstalling package: " #~ msgstr "Desinstalando paquete: " #~ msgid " items from: " #~ msgstr " elementos desde: " #~ msgid " Move " #~ msgstr " ¿Mover " #~ msgid " selected items to trash can? " #~ msgstr " archivos seleccionados a la papelera? " #~ msgid " Definitely delete " #~ msgstr " ¿Borrar definitivamente." #~ msgid " selected items? " #~ msgstr " los archivos seleccionados? " #~ msgid " is not empty, delete it anyway?" #~ msgstr " no está vacío, ¿eliminar de todas formas?" #~ msgid "X File Package Version " #~ msgstr "X File Package versión " #~ msgid "X File Image Version " #~ msgstr "X File Image versión " #~ msgid "X File Write Version " #~ msgstr "X File Write versión " #~ msgid "X File View Version " #~ msgstr "X File View versión " #, fuzzy #~ msgid "Restore folder " #~ msgstr "Mover directorio " #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr " archivos seleccionados a la papelera? " #, fuzzy #~ msgid "Go up" #~ msgstr "Grupo" #, fuzzy #~ msgid "Go home" #~ msgstr "Ir al directorio &personal" #, fuzzy #~ msgid "Go work" #~ msgstr "Ir al directorio de &trabajo" #, fuzzy #~ msgid "Full file list" #~ msgstr "&Lista completa de archivos" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "&Añadir favorito\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tActualizar panel (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminal:" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "El directorio ya está en la papelera, ¿eliminar definitivamente?" #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "¡El archivo ya está en la papelera! ¿borrar definitivamente?" #, fuzzy #~ msgid "Deleted from" #~ msgstr "Eliminar: " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Eliminar directorio: " xfe-1.42/po/es_CO.po0000644000175100017510000057507312746115274011145 00000000000000# Spanish translations for xfe package # Traducciones al español para el paquete xfe. # Se realizó con ayuda de las herramientas de traducción de Google # Dominio público de acuerdo a legislación colombiana. http://www.pasosdejesus.org/dominio_publico_colombia.html # vtamara@pasosdeJesus.org. 2013 # If you prefer different licesing terms, simply change them (just remember to give credit) msgid "" msgstr "" "Project-Id-Version: xfe 1.34\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2013-02-12 10:16-0500\n" "Last-Translator: Vladimir Támara Patiño \n" "Language-Team: Spanish\n" "Language: es_CO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Uso: xfe [opciones] [dirinicio1] [dirinicio2]\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Imprime (esta) ayuda y termina\n" " -v, --version Imprime información de la versión y termina\n" " -i, --iconic Inicia minimizando\n" " -m, --maximized Inicia maximizando\n" " -p n, --panel n Modo para vista de panel a n (n=0 => Árbol y un " "panel,\n" " n=1 => Un panel, n=2 => Dos paneles, n=3 => " "Árbol y dos paneles).\n" "\n" " [dirinicio1] y [dirinicio2] son las rutas a los directorios iniciales que " "usted\n" " quiere abrir al iniciar\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Advertencia: Modo desconocido de panel, volver al último panel guardado\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Error al cargar los iconos" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "No se pueden cargar algunos iconos. Por favor, ¡compruebe la ruta de iconos!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Usuario" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Leer" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escribir" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Ejecutar" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Otros" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Especial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Establecer UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Establecer GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Pegajoso" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Propietario" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Establecer marcados" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Recursivamente" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Borrar marcados" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Archivos y directorios" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Añadir marcado" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Sólo directorios" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Sólo el propietario" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Sólo archivos" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Propiedades" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Aceptar" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancelar" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Permi&sos" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Asociaciones de A&rchivos" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensión:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descripción:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Abrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSeleccionar archivo..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ver:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Edit:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extraer:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalar/Actualizar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Icono Grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Icono Mini:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nombre" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Advertencia: ¡El nombre de archivo no está codificado en UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de Archivos (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Directorio" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo de Caracter" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo de Bloque" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Tubería con Nombre" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Enchufe" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Ejecutable" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Enlace Roto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Enlace a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punto de montaje" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo de montaje:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Utilizado:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Libre:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de archivos:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Ubicación:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Tamaño total:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Enlace a:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Enlace roto a:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ubicación original:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Hora del Archivo" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Última Modificación:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Último Cambio:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Último Acceso:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notificación de Inicio" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Desactivar la notificación de inicio de este ejecutable" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Fecha de Eliminación:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Tamaño:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selección:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Múltiples tipos" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d elementos" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d archivos, %d directorios" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Propiedades del archivo" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Advertencia" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "¡Operación de movimiento de archivos cancelada!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Error" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No se puede escribir en %s: Permiso denegado" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Directorio %s no existe" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Renombrar archivo" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Propietario del archivo" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "¡Cambio de propietario cancelado!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown en %s falló: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown en %s falló" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "¡Establecer permisos especiales puede ser inseguro! ¿Es esto lo que que " "realmente quieres hacer?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod en %s falló: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permisos de archivo" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Se canceló cambio de los permisos de archivo!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod en %s falló" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s en %s elementos seleccionados" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "¡Cambio en los permisos de archivo (s) cancelado!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Seleccione un archivo ejecutable" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Todos los archivos" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imágenes PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imágenes GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imágenes BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Seleccione un archivo de icono" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u archivos, %u subdirectorios" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copiar aquí" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Mover aquí" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Enlazar aquí" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Cancelar" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copiar archivo" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mover Archivo" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Enlazar Archivo" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copiar %s archivos/directorios.\n" "De: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Mover" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Mover %s archivos/directorios.\n" "De: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Enlace" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "¡Se produjo un error durante la operación de movimiento de archivos!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "¡Operación de movimiento de archivos cancelada!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "¡Se produjo un error durante la operación de copia de archivos!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "¡Operación de copia de archivos cancelada!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "El punto de montaje %s no responde..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Enlace a Directorio" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Directorios" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostrar directorios ocultos" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Ocultar directorios ocultables" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytes en la raíz" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Panel tiene el foco" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Intercambiar páneles" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Permiso para: %s rechazado." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "&Directorio nuevo..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Directorios &ocultos" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Ignorar c&apitalización" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Orden &inverso" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "E&xpandir árbol" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Colap&sar árbol" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "M&ontar" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Desmon&tar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Añadir al archivo..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "C&ortar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Pegar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Re&nombrar..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Cop&iar a..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Mover a..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Enla&zar a..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Mo&ver a la papelera" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Res&taurar de la papelera" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "S&uprimir" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Propi&edades" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Crear un archivo" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copiar %s elementos de: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Renombrar" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renombrar" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copiar" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mover " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Moviendo %s elementos de: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Enlace simbólico " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Enlanzar %s elementos de: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s no es un directorio" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "¡Se produjo un error durante la operación de enlace!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Operación de enlace cancelada!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "¿En definitiva eliminar el directorio %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirmar Eliminación" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Borrar archivo" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Directorio %s no está vacío, ¿elimínarlo de todos modos?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" "Directorio %s está protegida contra escritura, ¿eliminarlo de todas formas?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "¡Operación de eliminación de directorio cancelada!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "¿Mover el directorio %s a la papelera?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Confirmar Papelera" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Mover a la papelera" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Directorio %s está protegido contra escritura, moverlo a la papelera de " "todos modos?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "¡Se produjo un error durante la operación Mover a la Papelera!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "¡Se canceló la operación Mover Directorio!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Restaurar de papelera" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "¿Restaurar directorio %s a su ubicación original %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Confirmar Restauración" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "La información para restaurar %s, no está disponible" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, fuzzy, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "El directorio padre %s no existe, ¿desea crearlo?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "No se puede crear el directorio %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "¡Se produjo un error durante la operación de restauración de papelera!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "¡Operación de restaurar archivos de la papelera cancelada!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Crear directorio nuevo:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Directorio nuevo" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Ejecutar comando" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmontar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de archivos..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " el directorio:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operación cancelada!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " en la raíz" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Origen:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destino:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Fecha de modificación: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Fecha de modificación: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Eliminar:" #: ../src/File.cpp:136 msgid "From:" msgstr "De:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Cambiando permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Archivo:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Cambiando dueño..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montar sistema de archivos..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montar el directorio:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Desmontar el sistema de archivos..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Desmontar el directorio:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Directorio %s ya existe. ¿Sobreescribir?\n" " => Precaución, ¡todos los archivos de este directorio se perderán " "definitivamente!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "El archivo %s ya existe. ¿Sobreescribir?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Confirmar sobrescritura" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "No se puede copiar el archivo %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "No se puede copiar el archivo %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Origen: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destino: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "No se puede conservar la fecha al copiar el archivo %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "No se puede conservar la fecha al copiar el archivo %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No se puede copiar el directorio %s : Permiso denegado" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "No se puede copiar el archivo %s : Permiso denegado" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "" "No se puede conservar la fecha de cuando se copia el directorio %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "No se puede conservar la fecha de cuando se copia el directorio %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "No existe el origen %s" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Destino %s es idéntico al origen" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Destino %s es un subdirectorio del origen" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Eliminar directorio: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "De: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "No se puede eliminar el directorio %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "No se puede eliminar el archivo %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No se puede cambiar el nombre de destino %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "No se pudo crear enlace %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "No se pudo crear enlace %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Directorio: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extraer archivo" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Añadir al archivo" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Error en el comando: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Éxito" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "El directorio %s se montó correctamente." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "El directorio %s ha sido desmontado con éxito." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalar/Actualizar paquete" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalando el paquete: %s\n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Desinstalar paquete" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Desinstalando el paquete: %s\n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Nombre de archivo:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Aceptar" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltro de Archivo:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Solo lectura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "Mover al directorio anterior." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "Mover al directorio siguiente." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "Ir al directorio superior" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Ir al directorio personal" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Ir al directorio de trabajo" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Directorio nuevo" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Listado con iconos grandes" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Listado con iconos pequeños" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Listado detallado de archivos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Mostrar archivos ocultos" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Ocultar archivos ocultos" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Mostrar miniaturas" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Ocultar miniaturas" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crear directorio nuevo..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crear un archivo nuevo..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Archivo nuevo" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "El archivo o directorio %s ya existe" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Ir al directorio &personal" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Ir al directorio de &trabajo" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "&Archivo nuevo..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "D&irectorio nuevo..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Archivos &ocultos" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Minia&turas" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Iconos &grandes" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Iconos &pequeños" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Listado de archivos comple&to" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Filas" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Columnas" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Tamaño automático" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nombre" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ta&maño" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "E&xtensión" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Fecha" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Usuario" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Grupo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Directorios" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Orden &inverso" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Familia:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Peso:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Estilo:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Ta&maño:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Juego de caracteres:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Cualquier" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europa Occidental" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europa del Este" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Sur de Europa" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Norte de Europa" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirílico" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Árabe" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Griego" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebreo" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nórdico" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Tailandés" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Báltico" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celta" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ruso" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europa Central (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ruso (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (CP1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Griego (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreo (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Árabe (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Báltico (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Establecer ancho:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra condensada" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra condensada" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Condensado" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semi condensada" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi expandido" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Expandido" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Muy ampliada" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra ampliada" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Espaciado:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fijo" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Escalable:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Todas las tipografías:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Vista previa:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Inicie Xfe como superusuario" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Salir" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Guardar" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Sí a &Todo" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Introduzca la contraseña de usuario:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Introduzca la contraseña de superusuario:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "!Ha ocurrido un error!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nombre: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Tamaño de la raíz: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Fecha de modificación: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Usuario: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupo: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permisos: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Ruta original: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Fecha de Eliminación: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Tamaño: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Tamaño" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Extensión" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Fecha de modificación" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "No se pudo cargar la imagen" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Ruta original" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Fecha de Eliminación" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtrar" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estado" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "El archivo %s es un archivo de texto ejecutable, ¿qué quiere hacer?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Confirmar Ejecución" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Bitácora de comandos" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nombre de archivo vacío, operación cancelada" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Al directorio:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" "No se puede escribir en la ubicacion de la papelera %s: Permiso denegado" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "¿Mover el archivo %s a la papelera?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "¿Mover %s elementos seleccionados a la papelera?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" "El archivo %s está protegido contra escritura, ¿moverlo a la papelera de " "todos modos?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "¡Cancelada la operaciónd e Mover a la papelera!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "¿Restaurar el archivo %s a su ubicación original %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "¿Restaurar %s elementos seleccionados a sus ubicaciones originales?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "No se puede crear el directorio %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "¿Eliminar definitivamente el archivo %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "¿Borrar definitivamente %s elementos seleccionados?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" "El archivo %s está protegido contra escritura, ¿bórrarlo de todos modos?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "¡Operación de eliminación de archivo cancelada!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Crear archivo nuevo:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "No se puede crear el archivo %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "No se puede crear el archivo %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "No se pueden establecer permisos en %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "No se puede establecer permisos en %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Crear un enlace simbólico nuevo:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Enlace nuevo" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Seleccione el archivo de enlace simbólico referido o el directorio" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "No existe el origen del enlace %s" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Abra el archivo seleccionado (s) con:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Abrir con" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&sociar" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Mostrar todos los archivos:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Archi&vo nuevo..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "En&lace nuevo..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<ros..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Listado de archivos completo" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Per&misos" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Archi&vo nuevo..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montaje" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Abrir &con..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Abrir" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Extr&aer a directorio" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Extraer aquí" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "E&xtraer a..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Ver" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instalar/Act&ualizar" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Des&instalar" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editar" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "&Remplazar..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "&Consultar Paquetes" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "De&scripción" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "Ir al directorio superior" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Copiar &a..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Mover a la papelera" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Restaurar de papelera" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Origen:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Propiedades" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Seleccione un directorio destino" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Todos los archivos" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalación/Actualización de Paquete" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Desinstalación de Paquete" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "¡Error! Fork (bifuración) falló: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "No se puede crear el directorio %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "No se puede crear el directorio %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "¡No se encontró un administrador de paquetes compatbile (rpm o dpkg)!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "El archivo %s no pertenece a ningún paquete." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Información" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "El archivo %s pertenece al paquete: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s en %s elementos seleccionados" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 elemento" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " elementos" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Enlace" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtro: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Límite en el número de Marcadores alcanzado. El último marcador se borrará..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Confirmar Borrado de marcadores" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "¿Realmente desea borrar todos los marcadores?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "C&errar" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "No se puede eliminar el archivo %s: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "No se puede eliminar el archivo %s" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO CANCELADO <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> FIN DE COMANDO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSeleccione destino..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Seleccione un archivo" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Seleccione un archivo o un directorio destino" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Añadir al Archivo" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nombre de archivo nuevo:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formato:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormato de archivo es tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tFormato de archivo es zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tFormato de archivo es 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tFormato de archivo es tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz \tFormato de archivo es tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormato de archivo es tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormato de archivo es tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormato de archivo es gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormato de archivo es bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tFormato de archivo es xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormato de archivo es Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferencias" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opciones" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" "Utilizar la papelera para eliminación de archivos (eliminación cautelosa)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Incluir una orden para saltar la papelera (eliminación permanente)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Auto guardar diseño" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Guardar posición de la ventana" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Una sóla pulsación abre archivo" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Una sóla pulsación abre archivo" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "Mostrar ayudas emergentes en listados de archivos y directorios" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Cambiar el tamaño relativo de los listados de archivos" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Mostrar un enlazador de rutas sobre los listados de archivos" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notificar cuando las aplicaciones inicien" #: ../src/Preferences.cpp:195 #, fuzzy msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formato de fecha utilizado en los listados de archivos y directorios:\n" "(Teclee 'man strftime' en una terminal para consultar ayuda sobre el formato)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Ir al directorio personal" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Ir al directorio superior" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Desplazamiento suave en los listados de archivos y ventanas de texto" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Velocidad de desplazamiento del ratón:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Módo Superusuario" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Permitir modo superusuario" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autenticación con su (utiliza contraseña de superusuario)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autenticación con sudo (utiliza contraseña de usuario)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Diálogos" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Confirmaciones" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Confirmar copiar/mover/renombrar/enlazar" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Confirmar arrastrar y soltar" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Confirmar mover a la papelera/restaurar de la papelera" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Confirmar eliminación" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Confirmar borrar directorios no vacíos" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirmar sobrescribir" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Confirmar ejecutar archivos de texto" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Propiedades del archivo" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Advertencias" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avisar cuando los puntos de montaje no respondan" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Visualizar mensajes de exito en montajes/desmontajes" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avisar cuando la preservación de fecha falle" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Advertir si se ejecuta como superusuario" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programas" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programas predeterminados" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visor de Texto:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Editor de texto:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Permisos de archivo" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor de Imágenes:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visor de imágenes:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Archivador:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Lector de PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Reproductor de Audio:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Reproductor de Vídeo:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmontar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temas" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Color del tema" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Colores Personalizados" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Haga doble click para personalizar color" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Color de base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Color del borde" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Color del fondo" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Color del texto" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Selección del color de fondo" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Selección del color de texto" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Color del fondo en los listados" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Color del texto en los listados" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Color de resaltado en listados" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Color en la barra de progreso" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Color de Atención" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Color de la barra de desplazamiento" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controles" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Estándar (controles clásicos)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (controles de apariencia moderna)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ruta a los iconos del tema" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSeleccionar ruta..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Tipo de letra" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Tipos de letra" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Tipo de letra normal:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seleccionar..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Tipo de letra del texto:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Atajos de teclado" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Atajos de teclado" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modificar atajos de teclado..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Restaurar atajos de teclado predeterminados..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Seleccione un directorio con iconos del tema o un archivo de icono" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Cambiar la tipografía normal" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Cambiar la tipografía para textos" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crear un archivo nuevo" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crear un directorio nuevo" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Cortar al portapapeles" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Pegar desde el portapapeles" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Abrir el archivo" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Salir de la aplicación" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Seleccionar todo" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Deseleccionar todo" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Invertir selección" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Mostrar ayuda" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Alternar mostrar archivos ocultos" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Alternar visualización de miniaturas de imágenes" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Cerrar ventana" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Imprimir archivo" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Buscar" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Buscar anterior" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Buscar siguiente" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Actualizar paneles" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Crear un enlace simbólico nuevo" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Propiedades del archivo" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Mover archivos a la papelera" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Restaurar archivos de papelera" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Eliminar archivos" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Crear una ventana nueva" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Crear ventana superusuario nueva" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Ejecutar comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lanzar terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montar el sistema de archivos (sólo Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Desmontar el sistema de archivos (sólo Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Modo Un panel" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Modo Árbol y panel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Modo Dos paneles" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Modo Árbol y dos paneles" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Limpiar Barra de Ubicación" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Renombar archivo" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copiar archivos a la ubicación" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Mover archivos a la ubicación" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Enlzar archivos a una ubicación" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Añadir marcador" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Sincronizar los paneles" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Intercambiar páneles" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Ir a la papelera" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Vaciar papelera" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Ver" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Editar" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Alternar mostrar archivos ocultos" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrar archivos" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Ampliar imagen al 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Ampliar para ajustar a la ventana" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Girar imagen a la izquierda" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Girar imagen a la derecha" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Reflejar imagen horizontalmente" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Reflejar imagen verticalmente" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Crear un documento nuevo" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Guardar cambios al archivo" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Ir a la línea" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Deshacer el último cambio" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Rehacer el último cambio" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Reemplazar cadena" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Alternar el modo Ajuste de texto" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Activar el modo Numeración de líneas" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Activar el modo Minúsculas" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Activar el modo Mayúsculas" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "¿Realmente desea restaurar las atajos de teclado predeterminados?\n" "\n" "¡Todas las personalizaciones se perderán!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Restaurar atajos de teclado predeterminados" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reanudar" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Los atajos de teclado se cambiarán tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El modo de desplazamiento se cambiará tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El Tema será cambiado tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El enlazador de rutas se cambiará tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "El estilo de los botones se cambiará tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La tipografía normal se cambiara tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La tipografía para texto se cambiará tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Saltar" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Sa<ar Todos" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Origen:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Fecha de modificación: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Destino:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&jecutar" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Ejecutar en &Modo Consola" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Cerrar" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Actualizar paneles" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copiar archivos seleccionados en el portapapeles" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Cortar archivos seleccionados al portapapeles" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostrar propiedades de los archivos seleccionados" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Mover los archivos seleccionados a la papelera" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Eliminar los archivos seleccionados" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Listado de archi&vos completo" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ignorar capitali&zación" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "Tamaño &automático" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "&Consultar Paquetes" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "Ir al directorio superior" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "Copiar %s elementos de: %s" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "Moviendo %s elementos de: %s" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "Enlanzar %s elementos de: %s" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " elementos" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Imprimir archivo" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Al directorio:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "&Directorio nuevo..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Tipo de letra del texto:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Imprimir archivo" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Tamaño total:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Última Modificación:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Última Modificación:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Usuario: " #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Filtrar archivos" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grupo: " #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Filtrar archivos" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Sistema de archivos:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Archivo:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Filtrar archivos" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Permisos: " #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Permisos de archivo" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Mostrar todos los archivos:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Mostrar todos los archivos:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Crear un enlace simbólico nuevo:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Crear un enlace simbólico nuevo" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Recursivamente" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Desmontar el sistema de archivos..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Buscar anterior" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Buscar en el texto." #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\tSeleccionar ruta..." #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crear enlace simbólico nuevo" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Restaurar archivos seleccionados de la papelera" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Inicie Xfe" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montar (sólo Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Desmontar (sólo Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Mostrar un panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Mostrar árbol y un panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Mostrar dos paneles" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Mostrar árbol y dos paneles" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Borrar ubicación" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Ir a la ubicación" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "&Directorio nuevo..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "&Ir a directorio personal" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Actuali&zar" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Copiar a..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "&Enlazar a..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Propiedades" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Archivo" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "&Seleccionar todo" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Dese&leccionar todo," #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Invertir selección" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Pre&ferencias" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Barra de herramientas &general" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Barra de herramientas de u&tilidades" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Barra de herramientas del &panel" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra de &Ubicación" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra de &Estado" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "U&n panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "A&rbol y panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "&Dos paneles" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Ar&bol y dos paneles" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Cam&biar paneles" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Cam&biar paneles" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Añadir &marcador" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "E&liminar marcador" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Marcadores" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "Minia&turas" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Iconos grandes" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "&Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "F&echa" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Us&uario" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Grupo" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Directorios" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Panel &Izquierdo" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "Filt&ro" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Directorios" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Panel Derecho" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "&Ventana nueva" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Ventana s&uperusuario nueva" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "E&jecutar comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizar paneles" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Cam&biar paneles" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "Ir al directorio superior" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Buscar..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Desmontar" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Herramientas" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Ir a la papelera" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Tamaño de la Papelera" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "&Vaciar papelera" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Papele&ra" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "A&yuda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "¡Ejecutando Xfe como superusuario!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "A partir de Xfe 1.32, la ubicación de los archivos de configuración ha " "cambiado a ' %s '.\n" "Note que puede editar manualmente los archivos de configuración nuevos para " "importar sus personalizaciones antiguas..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No se puede crear directorio de configuración de Xfe %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "No se puede crear directorio de configuración de Xfe %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "¡No se encontró archivo global xferc! Por favor, seleccione un archivo de " "configuración..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Archivo de configuración de Xfe" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No se puede crear directorio 'archivos' de la papelera %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No se pudo crear directorio 'archivos' de la papelera %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No se pudo crear directorio 'info' de la papelera %s: %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No se pudo crear directorio 'info' de la papelera %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ayuda" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer versión %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basado en X WinCommander por Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Translators\n" " -------------\n" "Alemán: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Bosnio: Samir Ribi, Bajrami Emran , Balagija Jasmina,\n" " Bilalovi, Omar Emir Cogo\n" "Catalan: muzzol\n" "Chino: Xin Li\n" "Chino(Taiwán): Wei-Lun Chao\n" "Checo: David Vachulka\n" "Danes: Jonas Bardino, Vidar Jon Bauge\n" "Español: Felix Medrano Sanz, Vieites 'Basurero' Lucas,\n" " Martin Carr\n" "Español de Argentina: Bruno Gilberto Luciani\n" "Español de Colombia: Vladimir Támara (Pasos de Jesús)\n" "Francés: Claude Leo Mercier, Roland Baudin\n" "Griego: Nikos Papadopoulos\n" "Holandes: Strijards Hans\n" "Hungaro: Attila Szervac, Sandor Sipos\n" "Italiano: Claudio Fontana, Giorgio Moscardi\n" "Japones: Karl Skewes\n" "Noruego: Vidar Jon Bauge\n" "Polaco: Jacek Dziura, Franciszek Janowski\n" "Portugués: Miguel Santinho\n" "Portugués de Brazil: Eduardo RBS, José Carlos Medeiros,\n" " Phantom X, Tomas Acauan Schertel\n" "Ruso: Dimitri Sertolov, Vad Vad\n" "Sueco: Anders F. Bjorklund\n" "Turko: Erkan\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Acerca de &X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Ejecutar el comando:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modo consola" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "Mostrar todos los archivos y directorios ocultos." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "" "¿Realmente desea vaciar la papelera?\n" "\n" "¡Todos los elementos se perderán definitivamente!" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " en la raíz" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "¿Realmente desea vaciar la papelera?\n" "\n" "¡Todos los elementos se perderán definitivamente!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Tamaño de la Papelera: %s (%s archivos, %s subdirectorios)\n" "\n" "Fecha de modificación: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Tamaño de la papelera" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "El directorio 'archivos' de la papelera %s no se puede leer!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Asociaciones de A&rchivos" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Asociaciones de A&rchivos" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferencias" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Abrir archivo con paquete" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "A&brir..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Barra de herramientas" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "Acerca de &X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Desinstalar" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalar/Actualizar" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "De&scripción" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "Listado de Archi&vos" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package versión %s es un sencillo gestor de paquetes rpm o deb.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Acerca de X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Paquetes RPM con código fuente" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Paquetes RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Paquetes DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Abrir Documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Ningún paquete cargado" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Formato de paquete desconocido" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalar/Actualizar Paquete" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Desinstalar Paquete" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Paquete RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Paquete DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "¡Falló consulta de %s!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Error al cargar el archivo" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "No se puede abrir el archivo: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Uso: xfp [opciones] [paquete]\n" "\n" " [opciones] puede ser cualquiera de las siguientes:\n" "\n" " -h, --help Mostrar (esta) pantalla de ayuda y terminar\n" " -v, --versión Mostrar información de la versión y terminar\n" "\n" " [paquete] es la ruta al paquete rpm o deb que desea abrir al iniciar\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Imagen GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Imagen BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Imagen XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Imagen PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Imagen OIC" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Imagen RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Imagen XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Imagen TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Imagen PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Imagen PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Imagen JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Imagen TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Imagen" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Abrir" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Abrir archivo de imagen." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Imprimir" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Imprimir archivo de imagen." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Acercar" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Acercar imagen." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Alejar" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Alejar imagen." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Ampliar al 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Ampliar imagen al 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Ampliar para encajar" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Ampliar para encajar a la ventana." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Girar a la izquierda" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Rotar imagen de la izquierda." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Girar a la derecha" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Girar la imagen derecha." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Reflejar horizontalmente" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Imagen espejo horizontalmente." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Reflejar imagen verticalmente." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Impresión..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Borrar archivos recientes" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Borrar archivos recientes del menú." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Salir Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "A&cercar" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "A&lejar" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "A&mpliar al 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Ampliar para encajar a la &ventana" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Girar a la &derecha" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Girar a la derecha." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Girar a la &izquierda" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Girar a la izquierda." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Reflejar &horizontalmente" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Reflejar horizontalmente." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Reflejar v&erticalmente" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Reflejar verticalmente" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "Mostrar todos los archivos y directorios ocultos." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Mostrar imágenes en miniatura." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Visualizar directorio con iconos grandes." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Visualizar directorio con iconos pequeños." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Listado de archivos &detallado" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Mostrar listado detallado del directorio." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Ver los iconos de sabios fila." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Ver los iconos de modo de columna." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Autosize nombres de iconos." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostrar barra de herramientas." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "Listado de &archivos" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Mostrar lista de archivos." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Color del texto en los listados" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Mostrar directorio con iconos grandes." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtar imágenes" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Listar sólo archivos de imagen." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "A&justar la ventana al abrir" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Ampliar para encajar a la ventana al abrir una imagen." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "Acerca de &X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Acerca de X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "Archivo de imagen X versión %s es un sencillo visualizador de imágenes.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Acerca de X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Error Loading Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Tipo no soportado: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "No se puede cargar la imagen, el archivo puede estar dañado" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "La tipografía para texto se cambiará tras reiniciar.\n" "¿Reiniciar X File Explorer ahora?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Abrir imagen" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando para imprimir: \n" " (por ejemplo: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Uso: xfi [opciones] [imagen]\n" "\n" " [opciones] puede ser cualquiera de los siguientes:\n" "\n" " -h, --help Imprimir (este) la pantalla de ayuda y termina\n" " -v, --version Versión para imprimir información de la versión y " "sale.\n" "\n" " [imagen] es la ruta al archivo de imagen que desea abrir al iniciar.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Preferencias" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Texto" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Wrap margen:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabulación tamaño:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Pele los retornos de carro:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Colores" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Líneas" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Antecedentes:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Texto:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "El texto seleccionado de fondo:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "El texto seleccionado:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "El texto resaltado de fondo:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "El texto resaltado:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Los números de línea de fondo:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Los números de línea en primer plano:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Buscar" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "Ve&ntana" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Líneas:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Línea:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nuevo" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Crear documento nuevo." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Abra el archivo de documentos." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Guardar" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Guardar documento." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Cerrar" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Cerrar archivo del documento." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Imprimir documento." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Dejar de" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Salir X Write File." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copiar la selección al portapapeles." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Cortar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Cortar la selección al portapapeles." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Pegar" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Pegar portapapeles." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Ir a número de línea." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Deshacer" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Deshacer último cambio." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Rehacer" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Rehacer última acción." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Buscar en el texto." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Buscar hacia atrás selección" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Buscar hacia atrás para el texto seleccionado." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Buscar selección hacia adelante" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Búsqueda hacia delante para el texto seleccionado." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Ajuste de línea en" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Establezca el ajuste de palabras." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Ajuste de línea de" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Establezca el ajuste de línea apagado." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Mostrar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Mostrar los números de línea." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Ocultar números de línea" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Ocultar números de línea." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nuevo..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Guardar cambios en un archivo." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Guardar c&omo..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Guardar documento en otro archivo." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Cierre documento." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Limpiar Archivos Recientes" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Deshacer" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Rehacer" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Volver al &guardado" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Volver al documento guardado." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Cor&tar" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Pegar desde el portapapeles." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Mi&núscula" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Cambiar a minúsculas." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Mayúsc&ula" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Cambiar a mayúsculas." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Ir a una línea..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Seleccionar &todo" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Barra de e&stado" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Mostrar barra de estado." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Buscar..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Búsqueda de una cadena." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Remplazar..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Buscar una cadena y sustituirla por otra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Buscar sel. hacia a&tras" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Buscar sel. hacia &adelante" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Ajustar línea" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Activar el modo de ajuste de línea." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Números de línea" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Activar el modo de línea de números." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Tachar" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Activar el modo de sobreimpresión." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "Tipo de &letra..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Cambiar la tipografía del texto." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Más preferencias..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Cambiar otras opciones." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Acerca de X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "El archivo es demasiado grande: %s ( %d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "No se puede leer el archivo: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Error al guardar el archivo" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "El archivo es demasiado grande: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Archivo: %s truncado." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "Sin título" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "sintitulo%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X Write File Versión %s es un editor de texto sencillo.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Acerca de X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Cambiar el tipo de letra" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Archivos de texto" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Archivos con código fuente en C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Archivos con código fuente en C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Archivos con encabezados C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "Archivos HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "Archivos PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Documento no guardado" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "¿Guardar archivo %s?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Guardar documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Sobrescribir documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Sobrescribir existente documento: %s ?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (Cambiado)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Solo lectura" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "El archivo ha cambiado" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "was cambiado por otro programa. Actualizar el archivo desde el disco?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Reemplazar" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Ir a la línea" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Ir a una línea numerada:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Uso: xfw [opciones] [archivo1] [archivo2] [archivo3]...\n" "\n" " [opciones] puede ser cualquiera de los siguientes:\n" "\n" "-h, - help Imprimir (este) y la pantalla de ayuda exit\n" "-v, -.. Versión para imprimir información de la versión y finaliza\n" "\n" " [archivo1] [archivo2] [archivo3]... son la ruta (s) de archivo (s) que " "desea abrir en el arranque.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Módo Superusuario" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Ready." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Remplazar" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Rem&plazar Con" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Buscar por:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Reemplazar con:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&acto" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignorar Capitalización" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&xpresión" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "Hacia &atrás" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" "\n" "\n" " Xfe, X File Explorer File Manager\n" "\n" " \n" " \n" "\n" "\n" "\n" " [Este archivo de ayuda se visualiza mejor con una tipografía de ancho " "fijo. Puede establecerla usando la pestaña Tipo de letra del cuadro de " "diálogo Preferencias]\n" "\n" "\n" "\n" " Este programa es software libre; Puede redistribuirlo y/o modificarlo bajo " "los términos de la GNU\n" " General Public License publicada por la Free Software Foundation, bien la " "versión 2, o (a su elección)\n" " cualquier versión posterior\n" "\n" " Este programa se distribuye con la esperanza de que sea útil, pero SIN " "NINGUNA GARANTÍA;.\n" " incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN " "PROPÓSITO PARTICULAR.\n" " Vea la GNU General Public License para más detalles\n" "\n" "\n" "\n" " Descripción\n" " =-=-=-=-=-=\n" "\n" " X File Explorer (xfe) es un administrador de archivos ligero para X11, " "escrito utilizando el kit de herramientas FOX.\n" " Es independiente de escritorio y puede personalizarse con facilidad.\n" " Cuenta con estilos Comandos o Explorador y es muy rápido y pequeño.\n" " Xfe se basa en el popular, pero descontinuado X Win Commander, escrito " "originalmente por Maxim Baranov.\n" "\n" "\n" "\n" " Características\n" " =-=-=-=-=-=-=-=\n" "\n" " - Interfaz gráfica de usuario muy rápida\n" " - Soporte UTF-8\n" " - Interfaces Comandos/Explorador con cuatro modos para administrar " "archivos: a) un panel, b) un árbol de directorios\n" " y un panel, c) dos paneles y d) un árbol de directorios y dos " "paneles\n" " - Sincronización y conmutación de paneles\n" " - Editor de texto integrado ( X File Write, xfw)\n" " - Visor de texto integrado (X File View, xfv)\n" " - Visor de imágenes integrado (X File Image, xfi)\n" " - Visor/Instalador/Desinstalador de paquetes (rpm o deb) integrado (X " "File Package, xfp)\n" " - Copia/Corta/Pega archivos desde y hacia su escritorio favorito (GNOME/" "KDE/XFCE/ROX)\n" " - Permite arrastrar y soltar archivos desde y hacia su escritorio " "favorito (GNOME/KDE/XFCE/ROX)\n" " - Modo superusuario con autenticación con su o con sudo\n" " - Línea de Estado\n" " - Asociaciones de archivos\n" " - Papelera opcional para operaciones de eliminación de archivos (que " "cumple con los estándares de freedesktop.org)\n" " - Auto guardado de registro\n" " - Navegación en archivos y directorios con pulsación sencilla o doble\n" " - Menús emergentes con pulsación derecha del ratón en los listados de " "árbol y de archivos\n" " - Cambiar atributos de archivos\n" " - Montar/desmontar dispositivos (sólo Linux)\n" " - Avisar cuando el punto de montaje no está respondiendo (sólo Linux)\n" " - Barras de herramientas\n" " - Marcadores\n" " - Listado con historial hacía adelante y hacía atras para navegación en " "directorios\n" " - Color de temas (GNOME, KDE, Windows...)\n" " - Iconos de temas (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Controlar temas (apariencia Estándar o Clearlooks)\n" " - Crear archivos (se soportan los formatos tar, compress, zip, gzip, " "bzip2, xz y 7zip)\n" " - Extraer archivos (se soportan los formatos tar, compress, zip, gzip, " "bzip2, xz, lzh, rar, ace, arj y 7zip)\n" " - Ayudas emergentes con las propiedades de los archivos\n" " - Barras de progreso o cuadros de diálogo para operaciones de archivo " "demoradas\n" " - Vista previa con miniaturas\n" " - Atajos de teclado configurables\n" " - Notificación de inicio (opcional)\n" " - y mucho más...\n" "\n" "\n" "\n" " Atajos de teclado predeterminados\n" " =-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-\n" "\n" " A continuación están los atajos de teclado globales predeterminados. Estos " "atajos de teclado son comunes a todas las aplicaciones X File\n" "\n" " * Seleccionar todo - Ctrl-A\n" " * Copiar al portapapeles - Ctrl-C\n" " * Buscar - Ctrl-F\n" " * Buscar anterior - Mayúscula-Ctrl-G\n" " * Buscar siguiente - Ctrl-G\n" " * Ir al directorio personal - Ctrl-H\n" " * Invertir selección - Ctrl-I\n" " * Abrir archivo - Ctrl-O\n" " * Imprimir ficha - Ctrl-P\n" " * Salir de la aplicación - Ctrl-Q\n" " * Pegar desde el portapapeles - Ctrl-V\n" " * Cerrar ventana - Ctrl-W\n" " * Cortar al portapapeles - Ctrl-X\n" " * Deseleccionar todo - Ctrl-Z\n" " * Mostrar ayuda - F1\n" " * Crear un archivo nuevo - F2\n" " * Crear un directorio nuevo - F7\n" " * Listado con iconos grandes - F10\n" " * Listado con iconos pequeños - F11\n" " * Listado detallado de archivos - F12\n" " * Alternar mostrar archivos ocultos - Ctrl-F6\n" " * Alternar mostrar miniaturas - Ctrl-F7\n" " * Ir al directorio de trabajo - Mayúscula-F2\n" " * Ir al directorio superior - Retroceso\n" " * Ir al directorio anterior - Ctrl-Retroceso\n" " * Ir al directorio siguiente - Mayúscula-Retroceso\n" "\n" "\n" " A continuación están los atajos de teclado de X File Explorer. Estos " "atajos de teclado son específicos de la aplicación xfe\n" "\n" " * Agregar marcador - Ctrl-B\n" " * Filtrar archivos - Ctrl-D\n" " * Ejecutar comando - Ctrl-E\n" " * Crear un enlace simbólico nuevo - Ctrl-J\n" " * Cambiar los paneles - Ctrl-K\n" " * Eliminar Barra de Ubicación - Ctrl-L\n" " * Montar sistema de archivos (sólo Linux) - Ctrl-M\n" " * Renombrar archivo - Ctrl-N\n" " * Actualizar páneles Ctrl-R\n" " * Enlazar archivos a la ubicación - Ctrl-S\n" " * Lanzar terminal - Ctrl-T\n" " * Desmontar el sistema de archivos (Linux) - Ctrl-U\n" " * Sincronizar los paneles - Ctrl-Y\n" " * Crear ventana nueva - F3\n" " * Editar - F4\n" " * Copiar archivos a la ubicación - F5\n" " * Mover archivos a la ubicación - F6\n" " * Propiedades de archivo - F9\n" " * Modo Un panel - Ctrl-F1\n" " * Modo Árbol y un panel - Ctrl-F2\n" " * Modo Dos paneles - Ctrl-F3\n" " * Modo Árbol y dos paneles - Ctrl-F4\n" " * Alternar mostrar directorios ocultos - Ctrl-F5\n" " * Ir a la papelera - Ctrl-F8\n" " * Crear una ventana superusuario nueva - Mayúscula-F3\n" " * Ver - Mayúscula-F4\n" " * Mover archivos a la papelerapuede - Supr\n" " * Restaurar archivos de la papelera - Alt-Supr\n" " * Eliminar archivos - Mayúscula-Supr\n" " * Vaciar papelera - Ctrl-Supr\n" "\n" "\n" " A continuación están los atajos de teclado predeterminados de X File " "Image. Estos atajos de teclado son específicos de la aplicación xfi\n" "\n" " * Ampliar para ajustar a la ventana - Ctrl-F\n" " * Reflejar imagen horizontalmente - Ctrl-H\n" " * Ampliar imagen al 100% - Ctrl-I\n" " * Rotar imagen a izquierda - Ctrl-L\n" " * Rotar imagen a la derecha - Ctrl-R\n" " * Reflejar imagen verticalmente - Ctrl-V\n" "\n" "\n" " A continuación están los atajos de teclado predeterminados de X File " "Write. Estos atajos son específicos de la aplicación xfw\n" "\n" " * Alternar modo de ajuste de línea - Ctrl-K\n" " * Ir a la línea - Ctrl-L\n" " * Crear documento nuevo - Ctrl-N\n" " * Reemplazar cadena - Ctrl-R\n" " * Guardar los cambios en el archivo - Ctrl-S\n" " * Alternar modo numeración de líneas - Ctrl-T\n" " * Alternar modo mayúsculas - Mayúscula-Ctrl-U\n" " * Alternar modo minúsculaes - Ctrl-U\n" " * Rehacer el último cambio - Ctrl-Y\n" " * Deshacer último cambio - Ctrl-Z\n" "\n" "\n" " X File View (xfv) y X File Package (xfp) sólo emplean algunos de los " "atajos de teclado globales\n" "\n" " Note que todos los atajos de teclado predeterminados enumerados " "anteriormente se pueden personalizar en el cuadro de diálogo Preferencias " "xfe. Sin embargo, la acción de algunas teclas es innerente a la aplicación " "y no puede cambiarse. Estas incluyen:\n" "\n" " * Ctrl-+ y Ctrl-- acercar y alejar la imagen en xfi\n" " * Mayúscula-F10 - mostrar menús de contexto en Xfe\n" " * Retorno - ingreras a directorios en listados de archivos, abrir " "archivos, elejir acción de botones, etc.\n" " * Espacio - ingresar a directorios en listados de archivos\n" " * Esc - Cerrar el cuadro de diálogo, anular selección de archivos, etc\n" "\n" "\n" "\n" " Operaciones de Arrastrar y Soltar\n" " =-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" "\n" " Si arrastra un archivo o grupo de archivos (moviendo el ratón mientras " "mantiene pulsado el botón izquierdo)\n" " a un directorio o un panel de archivo opcionalmente se abre un cuadro de " "diálogo que permite seleccionar la operación de archivo: copiar,\n" " mover, enlazar o cancelar\n" "\n" "\n" "\n" " Sistema de Papelera\n" " =-=-=-=-=-=-=-=-=-=-=-\n" "\n" " Desde la versión 1.32, xfe implementa un sistema de papelera que cumple " "por completo con los estándares de freedesktop.org.\n" " Este permite al usuario mover archivos a la papelera y restaurar archivos " "desde xfe o su escritorio favorito.\n" " Tenga en cuenta que la ubicación de los archivos en la papelera ahora es: " "~/local/share/Trash/files\n" "\n" "\n" "\n" "\n" " Configuración\n" " =-=-=-=-=-=-=\n" "\n" " Usted puede realizar cualquier personalización de xfe (diseño, " "asociaciones de archivos, atajos de teclado, etc) sin necesidad de editar " "archivo alguno\n" " a mano. Sin embargo, es posible que usted desee entender los principios de " "configuración, ya que algunas personalizaciones también pueden\n" " hacerse fácilmente mediante la edición manual de los archivos de " "configuración.\n" " Asegurese de salir de xfe antes de editar manualmente cualquier archivo de " "configuración, o de lo contrario los cambios no se tendrán\n" " en cuenta.\n" "\n" " El archivo de configuración global del sistema xferc se encuentra en /usr/" "share/xfe, /usr/local/share/xfe\n" " u /opt/local/share/xfe, en ese orden de precedencia.\n" "\n" " A partir de la versión 1.32, la ubicación de los archivos de configuración " "locales ha cambiado. Esto es para cumplir \n" " con los estándares de freedesktop.org.\n" "\n" " Los archivos de configuración locales para xfe, xfw, xfv, xfi y xfp ahora " "se encuentran en el directorio ~/.config/xfe\n" " Sus nombre son xferc, xfwrc, xfvrc, xfirc y xfprc.\n" "\n" " La primera vez que inicie xfe, el archivo de configuración global del " "sistema se copiará en el archivo de configuración local\n" " ~/.config/xfe/xferc que no debe existir. Si no se encuentra el archivo de " "configuración global\n" " (en caso de un lugar de instalación inusal), un cuadro de diálogo le pedirá " "al usuario seleccionar la ubicación correcta. Así resulta más fácil\n" " personalizar xfe (particularmente cierto para las asociaciones de archivos) " "mediante edición manual pues todas las opciones locales están\n" " en el mismo archivo.\n" "\n" " Los iconos PNG por defecto se encuentran en /usr/share/xfe/icons/xfe-them " "o en /usr/local/share/xfe/icons/xfe-theme, dependiendo\n" " de su instalación. Usted puede cambiar la ruta de iconos del tema en el " "cuadro de diálogo Preferencias\n" "\n" "\n" "\n" " Idiomas no basado en Latín\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" "\n" " Xfe puede mostrar la interfaz de usuario y también los nombres de archivos " "en idiomas que no se basan en los caracteres en latín, siempre y cuando\n" " usted haya seleccionado una tipofrafía Unicode que soporte su juego de " "caracteres. Para seleccionar un tipo de letra adecuado use el\n" " elemento de menú Editar/Preferencias/Tipo de letra\n" "\n" " Se pueden encontrar tipos de letra Trutype, multilingüe y Unicode en la " "siguiente dirección:. http://www.slovo.info/unifonts.htm\n" "\n" "\n" "\n" " Consejos\n" " =-=-=-=-\n" "\n" " Listado de archivos\n" " - Seleccione archivos y haga pulsación derecha para abrir un menú " "contextual sobre los archivos seleccionados\n" " - Presione Ctrl + pulsación derecha para abrir un menú contextual en el " "panel de archivos\n" " - Al arrastrar un archivo/directorio a un directorio, mantenga el " "puntero del ratón sobre un directorio para abrirlo\n" "\n" " Listado de árbol \n" " - Seleccione un directorio y haga pulsación derecha para abrir un menú " "contextual sobre el directorio seleccionado\n" " - Presione Ctrl + pulsación derecha para abrir un menú contextual en el " "panel de árbol\n" " - Al arrastrar un archivo/directorio a un directorio, mantenga el " "puntero del ratón sobre un directorio para expandirlo\n" "\n" " Copiar/pegar nombres de archivos\n" " - Seleccione un archivo y presiones Ctrl-C para copiar el nombre en el " "portapapeles. Luego, en un cuadro de diálogo, presione Ctrl-V para pegar\n" " el nombre del archivo\n" " - En un cuadro de diálogo de operación, seleccione un nombre de archivo " "en la línea con el nombre del origen y peguelo directamente\n" " al destino usando el botón central del el ratón. A continuación, " "modifiquelo de acuerdo a sus necesidades\n" "\n" " Notificación de inicio\n" " - Notificación de inicio es el proceso que muestra una " "retroalimentación al usuario (un puntero con un reloj u otra forma) cuando\n" " ha iniciado una acción (copia de archivos, inicio de una aplicación, etc.) " "Dependiendo del sistema, puede haber\n" " algunos problemas con la notificación de inicio. Si xfe fue compilado con " "soporte de notificación de inicio, el usuario puede\n" " desactivarlo para todas las aplicaciones a nivel global de las " "Preferencias. También puede desactivarlo para \n" " aplicaciones individuales, mediante la opción para esto en la primera " "pestaña del cuadro de diálogo Propiedades. Esta última forma está\n" " disponible sólo cuando el archivo es un ejecutable. Deshabilitar las " "notificación de inicio puede ser útil cuando inicia\n" " una aplicación antigua que no sea compatible con el protocolo de " "notificación de inicio (e.g. xterm)\n" "\n" "\n" "\n" " Fallas\n" " =-=-=-\n" "\n" " Por favor reporte cualquier falla que encuentre a Roland Baudin " ". No olvide mencionar la versión de xfe que utiliza,\n" " la versión de la biblioteca FOX y el nombre y versión de su sistema " "operativo.\n" "\n" "\n" "\n" " Traducciones\n" " =-=-=-=-=-=-=\n" "\n" " xfe ahora está disponible en 19 idiomas, pero algunas traducciones son " "sólo parciales. Para traducir xfe a su idioma,\n" " abra el archivo xfe.pot ubicado en el directorio po del árbol de código " "fuente con un software como poedit, kbabel\n" " o gtranslator y llenelo con sus cadenas traducidas (tenga cuidado con los " "atajos de teclado y los caracteres en c-formato),\n" " y luego enviemelo. Estaré complacido de integrar su trabajo en la próxima " "publicación de xfe\n" "\n" "\n" "\n" " Parches\n" " =-=-=-=\n" "\n" " Si se ha desarrollado algún parche interesante, por favor enviemelo, " "intentaré incluirlo en la siguiente versión...\n" "\n" "\n" " ¡Muchas gracias a Maxim Baranov por su excelente X Win Commander y a todas " "las personas que han proveido\n" "parches útiles, traducciones, pruebas y consejos.\n" "\n" " [Última revisión: 06/04/2012]\n" "\n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Atajos de teclado &globales" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estas combinaciones de teclas son comunes a todas las aplicaciones Xfe.\n" "Doble pulsación en un elemento modifica el atajo de teclado..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Atajos de teclado de Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estos atajos de teclado son específicos de la aplicación X File Explorer.\n" "Doble pulsación en un elemento modifica el atajo de teclado seleccionado..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Atajos de teclado de Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estas combinaciones de teclas son específicas de la aplicación X File " "Image.\n" "Doble pulsación en un elemento modifica el atajo de teclado seleccionado..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Atajos de teclado de Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Estas combinaciones de teclas son específicas de la aplicación X File " "Write.\n" "Doble pulsación en un elemento modifica el atajo de teclado seleccionado..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nombre de la acción" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Clave del Registro" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Atajo de Teclado" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" "Presione la combinación de teclas que desea utilizar para la acción: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[Presione espacio para deshabilitar el atajo de teclado para esta acción]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modificar atajo de teclado" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se utiliza en la sección global.\n" "\tUsted debe borrar el atajo de teclado existente antes de asignarlo de " "nuevo." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se utiliza en la sección Xfe.\n" "\tUsted debe borrar el atajo de teclado existente antes de asignarlo de " "nuevo." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se utiliza en la sección Xfi.\n" "\tUsted debe borrar el atajo de teclado existente antes de asignarlo de " "nuevo." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "El atajo de teclado %s ya se utiliza en la sección Xfw.\n" "\tUsted debe borrar el atajo de teclado existente antes de asignarlo de " "nuevo." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "No se puede eliminar el directorio %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "No se puede crear el directorio %s" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "¡Error! No se puede abrir la pantalla\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Inicio de %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Ejecutar comando" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "No se puede cerrar el directorio %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Copiar archivo" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "¡Error! No se puede abrir la pantalla\n" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Administrador de archivos" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un administrador de archivos ligero para X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visor de imágenes" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visualizador de imágenes sencillo para Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor de texto" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un editor de texto sencillo para Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Administrador de Paquetes" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un administrador de paquetes sencillo para Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Mostrar dos paneles" #~ msgid "Panel does not have focus" #~ msgstr "Panel no tiene el foco" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Directorio: " #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Directorio: " #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirmar sobrescribir" #~ msgid "P&roperties..." #~ msgstr "P&ropiedades..." #~ msgid "&Properties..." #~ msgstr "&Propiedades..." #~ msgid "&About X File Write..." #~ msgstr "Acerca de &X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "No se puede eliminar el directorio %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "No se puede eliminar el directorio %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "No se pudo crear directorio 'archivos' de la papelera %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "No se puede crear el directorio %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "No se pudo crear directorio 'archivos' de la papelera %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "No se pudo crear directorio 'info' de la papelera %s: %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "No se pudo crear directorio 'info' de la papelera %s" #~ msgid "Delete: " #~ msgstr "Eliminar: " #~ msgid "File: " #~ msgstr "Archivo: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Acerca de X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Panel Derecho" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Panel &Izquierdo" #, fuzzy #~ msgid "Error " #~ msgstr "Error" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "No se puede crear el directorio %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Ejecutar comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Bitácora de comandos" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "No se pudo crear directorio 'archivos' de la papelera %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "No existe el archivo: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "No se puede cambiar el nombre de destino %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Velocidad de desplazamiento del ratón:" #~ msgid "Mouse" #~ msgstr "Ratón" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Tamaño de origen: %s - Fecha de modificación: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Tamaño del objetivo: %s - Fecha de modificación: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "" #~ "No se pueden cargar algunos iconos. Por favor, ¡compruebe la ruta de " #~ "iconos!" #~ msgid "Go back" #~ msgstr "Volver" #~ msgid "Move to previous folder." #~ msgstr "Mover al directorio anterior." #~ msgid "Go forward" #~ msgstr "Avanzar" #~ msgid "Move to next folder." #~ msgstr "Mover al directorio siguiente." #~ msgid "Go up one folder" #~ msgstr "Subir un directorio" #~ msgid "Move up to higher folder." #~ msgstr "Subir al directorio superior." #~ msgid "Back to home folder." #~ msgstr "Regresar al directorio personal." #~ msgid "Back to working folder." #~ msgstr "Volver al directorio de trabajo." #~ msgid "Show icons" #~ msgstr "Mostrar iconos" #~ msgid "Show list" #~ msgstr "Mostrar la lista" #~ msgid "Display folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #~ msgid "Show details" #~ msgstr "Mostrar detalles" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Uso: xfv [opciones] [archivo1] [archivo2] [archivo3]...\n" #~ "\n" #~ " [opciones] puede ser cualquiera de las siguientes:\n" #~ "\n" #~ " -h, --help Mostrar (esta) pantalla de ayuda y terminar\n" #~ " -v, --version Mostrar información de la versión y terminar\n" #~ "\n" #~ " [archivo1] [archivo2] [archivo3]... son ruta(s) a archivo(s) que " #~ "desea abrir al iniciar.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Línea:" #~ msgid "Open document." #~ msgstr "Abrir documento." #~ msgid "Quit Xfv." #~ msgstr "Salir Xfv." #~ msgid "Find" #~ msgstr "Encontrar" #~ msgid "Find string in document." #~ msgstr "Buscar cadena en el documento." #~ msgid "Find again" #~ msgstr "Buscar nuevamente" #~ msgid "Find string again." #~ msgstr "Buscar cadena de nuevo." #~ msgid "&Find..." #~ msgstr "&Buscar..." #~ msgid "Find a string in a document." #~ msgstr "Buscar una cadena en un documento." #~ msgid "Find &again" #~ msgstr "Buscar otr&a vez" #~ msgid "Display status bar." #~ msgstr "Mostrar barra de estado." #~ msgid "&About X File View" #~ msgstr "Acerca de &X File View" #~ msgid "About X File View." #~ msgstr "Acerca de X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "Archivo X Ver la Versión %s es un editor de texto sencillo.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Acerca de X File View" #~ msgid "Error Reading File" #~ msgstr "Error al leer el archivo" #~ msgid "Unable to load entire file: %s" #~ msgstr "No se puede cargar todo el archivo: %s" #~ msgid "&Find" #~ msgstr "&Buscar" #~ msgid "Not Found" #~ msgstr "No se encuentra" #~ msgid "String '%s' not found" #~ msgstr "No se encontró la cadena '%s'" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Visor de Textos" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Un editor de texto sencillo para Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "Destino %s es un subdirectorio del origen" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Destino %s es idéntico al origen" #, fuzzy #~ msgid "Ignore case" #~ msgstr "Ignorar capitali&zación" #, fuzzy #~ msgid "In directory:" #~ msgstr "Directorio raíz" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "Directorio raíz" #~ msgid "Re&store from trash" #~ msgstr "Re&staurar de papelera" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Archivos y directorios" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Asociaciones de A&rchivos" #, fuzzy #~ msgid " Items" #~ msgstr " elementos" #, fuzzy #~ msgid "Search results - " #~ msgstr "Buscar anterior" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Mostrar directorio con iconos grandes." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Mostrar directorio con iconos pequeños." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Mostrar listado detallado del directorio." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Mostrar miniaturas" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Ocultar miniaturas" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Copiar archivos seleccionados en el portapapeles" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Cortar archivos seleccionados al portapapeles" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Mostrar propiedades de los archivos seleccionados" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Mover los archivos seleccionados a la papelera" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Eliminar los archivos seleccionados" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Mostrar todos los archivos y directorios ocultos." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tSeleccionar archivo..." #~ msgid "Dir&ectories first" #~ msgstr "Primero Dir&ectorios" #~ msgid "Toggle display hidden directories" #~ msgstr "Alternar mostrar directorios ocultos" #~ msgid "&Directories first" #~ msgstr "Primero &directorios" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s: %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Ir al directorio superior" #~ msgid "Go to working directory" #~ msgstr "Ir al directorio de trabajo" #~ msgid "Go to previous directory" #~ msgstr "Ir al directorio anterior" #~ msgid "Go to next directory" #~ msgstr "Ir al directorio siguiente" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "El directorio padre %s no existe, ¿desea crearlo?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "No se puede eliminar el directorio %s: %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "No se puede crear el directorio %s" #~ msgid "Directory name" #~ msgstr "Nombre del directorio" #~ msgid "Single click directory open" #~ msgstr "Una sola pulsación abre directorio" xfe-1.42/po/it.po0000644000175100017510000054141412746115274010561 00000000000000# translation of xfe-it2.po to Italiano # translation of xfe-it.po to Italiano # Copyright (C) 2004 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # Giorgio Moscardi , 2004, 2013. # Claudio Fontana , 2005-2009. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.37\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2013-10-10 18:18+0100\n" "Last-Translator: Giorgio Moscardi \n" "Language-Team: Italiano \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Utilizzo: xfe [opzioni] [directory_iniziale_1] [directory_iniziale_2]\n" "\n" " le [opzioni] possono essere scelte tra:\n" "\n" " -h, --help Mostra (questo) aiuto ed esci.\n" " -v, --version Mostra versione del programma ed esci.\n" " -i, --iconic Lancia ridotto ad icona.\n" " -m, --maximized Lancia a tutto schermo.\n" " -p n, --panel n Forza disposizione pannelli \n" " (n=0 => albero e pannello singolo, \n" " n=1 => pannello unico, \n" " n=2 => pannello doppio, \n" " n=3 => albero e pannello doppio).\n" "\n" " [directory_iniziale_1] e [directory_iniziale_2] sono i percorsi alle " "cartelle iniziali da aprire all'avvio.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Attenzione: Disposizione pannelli sconosciuta, torno all'ultima disposizione " "salvata\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Errore nel caricamento delle icone" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Impossibile caricare alcune icone. Verificare il percorso delle icone!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Utente" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lettura" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Scrittura" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Esecuzione" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Gruppo" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Altri" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Speciale" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Imposta UID (SUID)" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Imposta GID (SGID)" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Sticky" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Proprietario" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Comando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Imposta come marcato" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Cartelle ricorsive" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Pulisci i marcati" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "File e cartelle" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Aggiungi i marcati" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Solo le cartelle" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Solo il proprietario" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Solo i file" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Proprietà" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Accetta" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Annulla" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Generale" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permessi" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Associazioni dei &file" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Estensione:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descrizione:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Apertura:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tSeleziona file..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Visualizzazione:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Modifica:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Estrazione:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installa/Aggiorna:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Icona grande:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Icona mini:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nome" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Attenzione: Il nome del file non è UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Filesystem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Cartella" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositivo a Caratteri" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositivo a Blocchi" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Pipe con nome" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Eseguibile" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Documento" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Link interrotto" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Link a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punto di montaggio" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipo di montaggio:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Utilizzati:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Liberi:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Filesystem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Posizione:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipo:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Dimensione totale:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Link a:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Link interrotto a:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Posizione originale:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Date del file" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Ultima modifica:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Ultimo cambiamento:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Ultimo accesso:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Notifica di avvio" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Disattiva la notifica di avvio per questo eseguibile" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Data cancellazione:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu byte)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu byte)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Dimensione:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Selezione:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Tipi multipli" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d oggetti" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d file, %d cartelle" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Mostra le proprietà dei file selezionati" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Mostra le proprietà dei file selezionati" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Proprietà file" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Attenzione" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Spostamento file annullato!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Errore" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Impossibile scrivere in %s: Permesso negato" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "La cartella %s non esiste" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Rinomina file" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Proprietario del file" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Cambiamento del proprietario annullato!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "chown in %s fallito: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "chown in %s fallito" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Impostare permessi speciali potrebbe essere insicuro! Si desidera procedere?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "chmod in %s fallito: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permessi del file" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Cambiamento dei permessi annullato!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "chmod in %s fallito" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " in un oggetto selezionato" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Cambiamento dei permessi annullato!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Selezionare un file eseguibile" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Tutti i file" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Immagini PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Immagini GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Immagini BMP" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Selezionare un file Icona" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u file, %u sottocartelle" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Copia qui" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Sposta qui" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Crea collegamento (link)" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Annulla" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Copia file" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Spostamento file" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Link simbolico al File" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copia" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Copia %s file/cartelle.\n" "Da: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Sposta" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Sposta %s file/cartelle.\n" "Da: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Link simbolico" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Si è verificato un errore durante lo spostamento del file!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Spostamento file annullato!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Si è verificato un errore durante la copia del file!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Copia file annullata!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Il punto di montaggio %s non risponde..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Link a Cartella" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Cartelle" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostra le cartelle nascoste" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Nascondi le cartelle nascoste" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 byte nella cartella principale" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Pannello in primo piano" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Scambia pannelli" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Permesso di: %s negato." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nuo&va cartella..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Cartelle n&ascoste" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "&Ignora maiuscolo/minuscolo" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "O&rdine inverso" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Espand&i albero" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Ri&duci albero" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Panne&llo" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "&Monta" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "S&monta" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "A&ggiungi ad un archivio..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Copia" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "&Taglia" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Incolla" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Ri&nomina..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Copia su..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Sposta..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Crea un lin&k simbolico..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Muovi nel cestin&o" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Ripristina dal Cestino" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Elimina" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "&Proprietà" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Impossibile entrare nella cartella %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Impossibile entrare nella cartella %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Crea un archivio" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copia " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Copia %s oggetti da: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Rinomina" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Rinomina " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Copia su" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Sposta " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Muovi %s oggetti da: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Link simbolico " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Linka %s oggetti da: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s non è una cartella" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Si è verificato un errore durante la creazione del link simbolico!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Operazione di link simbolico annullata!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Rimuovere definitivamente la cartella %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Conferma eliminazione" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Eliminazione file" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "La cartella %s non è vuota, eliminarla comunque?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "La cartella %s è protetta da scrittura, eliminarla comunque?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Eliminazione cartella annullata!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Sposta la cartella %s nel Cestino?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Conferma Cestino" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Muovi nel Cestino" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "La cartella %s è protetta da scrittura, spostarla comunque nel Cestino?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Si è verificato un errore durante lo spostamento nel Cestino!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Spostamento nel Cestino annullato!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Ripristina dal Cestino" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Ripristinare la cartella %s nella sua posizione originale %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Conferma ripristino" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Informazioni per il ripristino non disponibili per %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "La cartella superiore %s non esiste, si desidera crearla?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Impossibile creare la cartella %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Impossibile creare la cartella %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Si è verificato un errore durante il ripristino dal Cestino!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Ripristino dal Cestino annullato!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Crea nuova cartella:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nuova cartella" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Impossibile eseguire il comando %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Monta" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Smonta" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " filesystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " la cartella:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operazione annullata!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " nella cartella principale" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Sorgente:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Destinazione:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Data modifica: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Data modifica: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Elimina:" #: ../src/File.cpp:136 msgid "From:" msgstr "Da:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Cambiamento dei permessi..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "File:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Cambiamento del proprietario..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Monta filesystem..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Monta la cartella:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Smonta filesystem..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Smonta la cartella:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "La cartella %s esiste già. Sovrascriverla?\n" "=> Attenzione, tutti i file all'interno di questa cartella saranno perduti " "definitivamente!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "Il file %s esiste già. Sovrascriverlo?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Conferma sovrascrittura" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Impossibile copiare il file %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Impossibile copiare il file %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Sorgente: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Destinazione: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Impossibile preservare la data durante la copia del file %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Impossibile preservare la data durante la copia del file %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Impossibile copiare la cartella %s : Permesso negato" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Impossibile copiare il file %s : Permesso negato" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Impossibile preservare la data durante la copia della cartella %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Impossibile preservare la data durante la copia della cartella %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Sorgente %s non esiste" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "La destinazione %s è identica alla sorgente" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "La destinazione %s è una sottocartella della sorgente." #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Elimina cartella: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Da: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Impossibile eliminare la cartella %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Impossibile eliminare la cartella %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Impossibile eliminare il file %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Impossibile eliminare il file %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Il file o la cartella %s esiste già" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Impossibile rinominare in %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Impossibile collegare con link simbolico %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Impossibile collegare con link simbolico %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Cartella: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Estrai archivio" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Aggiungi ad un archivio" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Comando fallito: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Successo" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Cartella %s montata con successo." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Cartella %s smontata con successo." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Installa/Aggiorna pacchetto" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Installazione pacchetto: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Disinstalla pacchetto" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Disinstallazione pacchetto: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nome &file:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "F&iltro file:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Sola lettura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Vai alla cartella precedente" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Vai alla cartella successiva" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Vai alla cartella superiore" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Vai alla cartella HOME" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Vai alla cartella di lavoro" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nuova cartella" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Lista a icone grandi" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Lista a icone piccole" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Lista dettagliata" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Mostra file na&scosti" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Nascondi file na&scosti" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Mostra miniature" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Nascondi miniature" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crea nuova cartella..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Crea nuovo file..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nuovo file" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Il file o la cartella %s esiste già" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Vai alla &home" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Vai alla cartella di lavoro" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nuovo &file..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Nuo&va cartella..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "File na&scosti" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "&Miniature" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Icone &grandi" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Icone &piccole" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Lista file &completa" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Righe" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Colonne" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Dimensionamento automatico" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Nome" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Dimensione" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Tipo" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Estensione" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Data" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Utente" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Gruppo" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Prima le &Cartelle" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "O&rdine inverso" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Famiglia:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Spessore:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "S&tile:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "&Dimensione:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Set di caratteri:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Qualunque" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Europa occidentale" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Europa orientale" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Europa meridionale" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Europa settentrionale" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cirillico" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabo" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Greco" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Ebraico" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turco" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordico" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltico" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Celtico" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Russo" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Europa Centrale (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Russo (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latino1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Greco (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turco (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Ebraico (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabo (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltico (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamita (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Imposta Larghezza:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra compresso" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra compresso" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Compresso" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Semi-compresso" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normale" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Semi-espanso" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Espanso" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra espanso" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra espanso" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Passo:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fisso" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variabile" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Scalabile:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Tutti i Font:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Anteprima:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Lancia Xfe come root" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Si" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Esci" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Salva" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Si per &tutti" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Inserire la password utente:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Inserire la password di root:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Si è verificato un errore!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Nome: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Dimensione in root: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tipo: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Data modifica: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Utente: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Gruppo: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Permessi: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Percorso originale: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Data cancellazione: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Dimensione: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Dimensione" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipo" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Estensione" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Data modifica" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permessi" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Impossibile caricare immagine" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Percorso originale" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Data cancellazione" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtra" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Stato" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "Il file %s è un file di stesto eseguibile, cosa desideri fare?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Conferma esecuzione" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Log dei comandi" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Nome file vuoto, operazione annullata" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Verso cartella:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Impossibile scrivere nel Cestino (%s): Permesso negato" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Spostare il file %s nel Cestino?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Spostare i %s oggetti selezionati nel Cestino?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Il file %s è protetto da scrittura, spostarlo comunque nel Cestino?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Spostamento nel Cestino annullato!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Ripristinare il file %s nella sua posizione originale %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Riprisinare i %s oggetti selezionati nelle loro locazioni originali?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Impossibile creare la cartella %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Rimuovere definitivamente il file %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Eliminare definitivamente i %s oggetti selezionati?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Il file %s è protetto da scrittura, eliminarlo comunque?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Eliminazione file annullata!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Crea nuovo file:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Impossibile creare il file %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Impossibile creare il file %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Impossibile impostare i permessi in %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Impossibile impostare i permessi in %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Crea nuovo link simbolico:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nuovo Link simbolico" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Selezionare il file o la cartella oggetto del link" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Link simbolico sorgente %s non esiste" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Apri file selezionato/i con:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Apri con" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&ssocia" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Mostra i file:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Nuovo &file..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nuovo link &simbolico..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<ro..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Lista file completa" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Permessi" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Nuovo &file..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Monta" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "&Apri con..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Apri" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Estrai nella cartella " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Estrai qui" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "&Estrai in..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Visualizza" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installa/A&ggiorna" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Disi&nstalla" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Modifica" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "&Sostituisci..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Interrogazione pacchetti " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Script" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "&Vai alla cartella degli script" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Copia su..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "Sp&osta nel Cestino" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Ripristina dal Cestino" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Sorgente:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Proprietà" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Selezionare una cartella di destinazione" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Tutti i file" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Installa/Aggiorna pacchetto" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Disinstallazione pacchetto" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Errore: Fork fallita: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Impossibile creare la cartella degli script %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Impossibile creare la cartella degli script %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nessun gestore pacchetti (rpm o dpkg) trovato!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Il file %s non appartiene ad alcun pacchetto." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informazioni" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Il file %s appartiene al pacchetto: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 byte" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s in %s oggetti selezionati" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 oggetto" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " oggetti" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Link" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtra: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Limite dei segnalibri raggiunto. L'ultimo sarà cancellato..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Conferma eliminazione segnalibri" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Vuoi veramente eliminare tutti i tuoi segnalibri?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Chiudi" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Impossibile duplicare le pipe: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Impossibile duplicare le pipe" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> COMANDO ANNULLATO <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> COMANDO TERMINATO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tSeleziona destinazione..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Seleziona un file" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Seleziona un file o una cartella di destinazione" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Aggiungi ad un archivio" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nome nuovo archivio:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formato:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tIl formato dell'archivio è tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tIl formato dell'archivio è zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tIl formato dell'archivio è 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tIl formato dell'archivio è tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tIl formato dell'archivio è tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tIl formato dell'archivio è tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tIl formato dell'archivio è tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tIl formato dell'archivio è gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tIl formato dell'archivio è bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tIl formato dell'archivio è xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tIl formato dell'archivio è Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferenze" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema corrente" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "O&pzioni" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Usa Cestino per la cancellazione sicura dei file" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Includi un comando per saltare il Cestino (cancellazione definitiva)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Sal&va automaticamente profilo" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Salva posizione finestra" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Apri cartelle con un singolo click" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Apri file con un singolo click" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Mostra i suggerimenti nelle liste di file e cartelle" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Ridimensionamento relativo delle liste di file" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Mostra un selettore del percorso sopra alle liste di file" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notifica quando le applicazioni vengono avviate" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formato della data utilizzato nelle liste di file e cartelle:\n" "(Usa il comando 'man strftime' in un terminale per ricevere aiuto sul " "formato)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "Vai alla HOME" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Vai alla cartella superiore" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Cerca file e cartelle" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Scorrimento graduale nelle liste di file e finestre di testo" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Velocità di scorrimento del mouse:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Modalità root" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Modalità root" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autenticazione mediante su (usa password di root)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autenticazione mediante sudo (usa password utente)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "Finestre di &dialogo" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Conferme" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Conferma copia/spostamento/rinomina/link" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Conferma trascinamento" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Conferma spostamenti da/verso Cestino" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Conferma eliminazione" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Conferma eliminazione cartelle non vuote" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Conferma sovrascrittura" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Conferma esecuzione file di testo" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Proprietà file" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Avvisi" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" "Avvisa quando si imposta la cartella corrente nella finestra di ricerca" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Avvisa quando i punti di montaggio non rispondono" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Mostra messaggi di successo per le operazioni di montaggio" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Avvisa quando non si riesce a preservare la data" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avvisa quando si è root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "Programmi" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Programmi predefiniti" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Visualizzatore di testi:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Editor di testi:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Permessi del file" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor di immagini:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Visualizzatore di immagini:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Gestore archivi (file compressi):" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Visualizzatore PDF:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Riproduttore audio:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Riproduttore video:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminale:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Monta" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Smonta" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Temi" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Tema dei colori" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Colori personalizzati" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Fai doppio click per personalizzare il colore" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Colore di base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Colore del bordo" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Colore dello sfondo" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Colore del testo" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Colore di sfondo (selezione)" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Colore selezione testo" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Colore di sfondo (liste file)" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Colore testo (liste file)" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Colore evidenziato (liste file)" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Colore barre di progresso" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Colore attenzione" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Colore barre di scorrimento" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Controlli" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standard (controlli classici)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (controlli moderni)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Percorso temi icone" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tSeleziona percorso..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Tipi di carattere" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Tipi di carattere" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Tipo di carattere normale:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seleziona..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Tipo di carattere per il testo:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "&Assegnamenti dei tasti" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Assegnamenti dei tasti" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Modifica assegnamenti tasti..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Ripristina assegnamenti tasti predefiniti..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Seleziona una cartella di temi per le icone o un file icone" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Cambia il tipo di carattere normale" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Cambia il tipo di carattere per il testo" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Crea nuovo file" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Crea nuova cartella" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Copia negli appunti" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Taglia negli appunti" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Incolla dagli appunti" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Apri file" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Esci dall'applicazione" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Seleziona tutto" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Deseleziona tutto" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Inverti selezione" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Visualizza aiuto" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Abilita/disabilita visualizzazione file nascosti" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Abilita/disabilita visualizzazione miniature" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Chiudi finestra" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Stampa file" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Cerca" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Cerca precedente" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Cerca successivo" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Aggiorna pannelli" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Crea nuovo link simbolico" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Proprietà file" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Sposta file nel Cestino" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Ripristina file dal Cestino" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Cancella file" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Crea nuova finestra" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Crea nuova finestra principale" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Esegui comando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Lancia terminale" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Monta filesystem (solo Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Smonta filesystem (solo Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Modalità pannello unico" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Modalità albero e pannello unico" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Modalità pannello doppio" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Modalità albero e pannello doppio" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Pulisci la barra della posizione" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Rinomina file" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Copia file nella posizione" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Muovi file nella posizione" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Collega con link simbolici i file nella posizione" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Aggiungi segnalibro" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Sincronizza pannelli" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Scambia pannelli" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Vai al Cestino" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Svuota Cestino" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Visualizzazione" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Modifica" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Abilita/disabilita visualizzazione cartelle nascoste" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtra file" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Ingrandimento immagine 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Ingrandisci fino alla dimensione della finestra" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Rotazione immagine verso sinistra" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Rotazione immagine verso destra" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Immagine speculare orizontale" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Immagine speculare verticale" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Crea nuovo documento" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Salvare cambiamenti su file" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Vai alla riga" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Annulla ultima modifica" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Ripeti ultima modifica" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Sostituisci stringa" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Abilita/Disabilita a capo automatico" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Abilita/Disabilita numeri di riga" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Abilita/Disabilita modalità minuscolo" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Abilita/Disabilita modalità maiuscolo" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Desideri veramente ripristinare gli assegnamenti dei tasti predefiniti?\n" "\n" "Tutte le personalizzazioni saranno perdute!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Ripristina gli assegnamenti dei tasti predefiniti" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Riavvia" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Gli assegnamenti dei tasti verranno cambiati dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La modalità di scorrimento verrà cambiata dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Il tema verrà cambiato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Il selettore del percorso verrà aggiornato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Lo stile dei pulsanti verrà cambiato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Il tipo di carattere normale verrà cambiato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Il font del testo verrà cambiato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Salta" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Salta t&utti" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Sorgente:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Data modifica: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Destinazione:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "E&segui" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Esegui in modalità console" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Chiudi" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Aggiorna pannello" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Copia i file selezionati negli appunti" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Taglia i file selezionati negli appunti" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Mostra le proprietà dei file selezionati" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Sposta i file selezionati nel Cestino" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Elimina i file selezionati" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "La cartella corrente è stata impostata a '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Dettag&li" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Ignora maiuscolo/minuscolo" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "Dimensionamento automatico" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Interrogazione &pacchetti " #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Vai alla cartella superiore" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Copia %s oggetti" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Sposta %s oggetti" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Crea link simbolici per %s oggetti" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 oggetti" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Trova file:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" "Non distinguere maiuscole/minuscole\tIgnora le differenze tra maiuscole e " "minuscole nei nomi del file" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "File nascorsti\tMostra file e cartelle nascosti" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "Nella cartella:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tNella cartella..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Il testo contiene:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" "Non distinguere maiuscole/minuscole\tIgnora le differenze tra maiuscole e " "minuscole nel testo" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Altre opzioni" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Opzioni di ricerca" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Reimposta\tReimposta le opzioni di ricerca" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Dimensione minima:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtra per dimensione minima dei file (Kbyte)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Dimensione massima:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtra per dimensione massima dei file (Kbyte)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Ultima modifica prima di:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtra per data di modifica più recente (giorni)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "giorni fa" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Ultima modifica oltre:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtra per data di modifica meno recente (giorni)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Utente:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltra per nome utente" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Gruppo:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltra per nome gruppo" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Tipo file:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "File" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Pipe" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltra per tipo file" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Permessi:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltra per permessi (In ottale)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "File vuoti:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tSolo file vuoti" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Segui link simbolici:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tCerca mentre segui i link simbolici" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Cartelle ricorsive" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Smonta filesystem..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Avvia\tAvvia la ricerca (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Interrompi\tInterrompe la ricerca (Esc)" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Ricerca in corso - Attendere prego..." #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Risultati della ricerca" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Errore di Input / Output" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Ricerca interrotta..." #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Seleziona percorso" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Crea nuovo link simbolico" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Ripristina i file selezionati dal Cestino" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Lancia Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Cerca file e cartelle..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Monta (solo Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Smonta (solo Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Mostra pannello unico" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Mostra albero e pannello singolo" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Mostra pannello doppio" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Mostra albero e pannello doppio" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Pulisci la barra della posizione" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Vai alla posizione" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nuo&va cartella..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Vai alla &HOME" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Aggiorna" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Copia in..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Crea un lin&k simbolico..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Proprietà" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&File" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Selezion&a tutto" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "&Deseleziona tutto" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Inverti selezione" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&referenze" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Barra &generale" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Barra &strumenti" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Pannello strumenti" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Barra della &posizione" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Barra di &stato" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "Pannello &unico" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Albero e pannello singolo" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Pannello &doppio" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Albero e pa&nnello doppio" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Scambia pannelli" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Scambia pannelli" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Aggiungi segnalibro" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Elimina segnalibri" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Segnalibri" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtro..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Miniature" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Icone grandi" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Tipo" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "Data" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Utente" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Gruppo" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Prima le &cartelle" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Pannello &sinistro" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtro" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Prima le &cartelle" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Pannello &destro" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nuova finestra" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nuova finestra principale" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Esegui comando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "Terminale" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Sincronizza pannelli" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Scambia pannelli" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Vai alla cartella degli script" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Cerca file..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "Smonta" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Strumenti" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Vai al Cestino" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Dimensione Cestino" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Svuota Cestino" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Cestino" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Aiuto" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&Informazioni su X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Stai eseguendo Xfe come root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "A partire da Xfe 1.32, la posizione dei file di configurazione è diventata " "'%s'.\n" "Nota che puoi modificare manualmente i nuovi file di configurazione per " "importare le tue vecchie personalizzazioni..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Impossibile creare cartella dei file di configurazione %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Impossibile creare cartella dei file di configurazione %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Nessun file xferc globale trovato! Prego selezionare un file di " "configurazione..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "File di configurazione di XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Impossibile creare cartella 'files' del Cestino %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Impossibile creare cartella 'files' del Cestino %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "mpossibile creare cartella 'info' del Cestino %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Impossibile creare cartella 'info' del Cestino %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Aiuto" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Versione %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basato su X WinCommander di Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Traduttori\n" "-------------\n" "Spagnolo argentino: Bruno Gilberto Luciani\n" "Portuguese brasiliano: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosniaco: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalano: muzzol\n" "Cinese: Xin Li\n" "Cinese (Taïwan): Wei-Lun Chao\n" "Spagnolo colombiano: Vladimir Támara (Pasos de Jesús)\n" "Ceco: David Vachulka\n" "Danese: Jonas Bardino, Vidar Jon Bauge\n" "Olandese: Hans Strijards\n" "Francese: Claude Leo Mercier, Roland Baudin\n" "Tedesco: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greco: Nikos Papadopoulos\n" "Ungherese: Attila Szervac, Sandor Sipos\n" "Italiano: Claudio Fontana, Giorgio Moscardi\n" "Giapponese: Karl Skewes\n" "Norvegese: Vidar Jon Bauge\n" "Polacco: Jacek Dziura, Franciszek Janowski\n" "Portoghese: Miguel Santinho\n" "Russo: Dimitri Sertolov, Vad Vad\n" "Spagnolo: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Svedese: Anders F. Bjorklund\n" "Turco: erkaN\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&Informazioni su X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Pannello" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Esegui il comando:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Modalità console" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Cerca file e cartelle" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Vuoi veramente uscire da Xfe?" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " nella cartella principale" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Vuoi veramente svuotare il Cestino?\n" "\n" "Tutti gli oggetti contenuti saranno perduti definitivamente!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Dimensione Cestino: %s (%s file, %s sottocartelle)\n" "\n" "Data modifica: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Dimensione Cestino" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "La cartella 'files' del Cestino %s non è leggibile!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Impossibile entrare nella cartella %s: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Associazioni dei &file" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Associazioni dei &file" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Preferenze" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Apri file pacchetto" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Apri" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Barra &strumenti" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&Informazioni su X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "Di&sinstalla" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installa/Aggiorna" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Descrizione" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "Elenco &file" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X file Package Versione %s è un semplice gestore di pacchetti rpm e deb.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Informazioni su X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Pacchetti sorgente RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Pacchetti RPM" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Pacchetti DEB" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Apri documento" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Nessun pacchetto caricato" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Formato pacchetto sconosciuto" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Installa/Aggiorna pacchetto" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Disinstalla pacchetto" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[Pacchetto RPM]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Pacchetto DEB]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Interrogazione su %s fallita!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Errore durante il caricamento del file" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Impossibile aprire il file: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Utilizzoo: xfp [opzioni] [pacchetto] \n" "\n" " le [opzioni] possono essere scelte tra:\n" "\n" " -h, --help Mostra (questo) aiuto ed esci.\n" " -v, --version Mostra versione del programma ed esci.\n" "\n" " [pacchetto] è il percorso del pacchetto RPM o DEB da aprire all'avvio.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "Immagine GIF" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "Immagine BMP" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "Immagine XPM" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "Immagine PCX" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "Immagine ICO" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "Immagine RGB" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "Immagine XBM" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "Immagine TARGA" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "Immagine PPM" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "Immagine PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "Immagine JPEG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "Immagine TIFF" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Immagine" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Apri" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Apri file immagine." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Stampa" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Stampa file immagine" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Ingrandimento" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Ingrandimento immagine." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Riduzione" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Riduzione immagine." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Ingrandimento 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Ingrandimento immagine al 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Ingrandimento fino a riempire" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Ingrandimento fino a riempire la finestra." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Ruota a sinistra" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Ruota immagine verso sinistra." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Ruota a destra" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Ruota immagine verso destra." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Immagine speculare orizontale" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Immagine speculare orizontale." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Immagine speculare verticale" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Immagine speculare verticale." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Stampa..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Cancella lista file recenti" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "&Cancella menu lista file recenti" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Uscita da Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Ingrandisci" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Riduci" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Ingrandi&mento 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Ingrandisci fino a riempire la finestra" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Ruota a &destra" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Ruota verso destra." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Ruota a &sinistra" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Ruota verso sinistra." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Immagine speculare orizzontale" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Immagine speculare orizzontale." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Immagine speculare verticale" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Immagine speculare verticale." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Mostra file e cartelle nascosti." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Mostra miniature." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Mostra cartelle con icone grandi." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Mostra cartelle con icone piccole." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Lista file &dettagliata" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Mostra l'elenco dettagliato della cartella." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Disponi icone per righe." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Disponi icone per colonne." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Dimensionamento automatico nomi icone." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Mostra barra degli strumenti." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "Lista file" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Mostra lista file." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Colore testo (liste file)" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Mostra cartella con icone grandi." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtra immagini" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Mostra soltanto file immagine." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Adatta alla finestra all'apertura" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Adatta ingrandimento alla finestra all'apertura di un'immagine." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Informazioni su X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Informazioni su X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Versione %s è un semplice visualizzatore di immagini.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Informazioni su X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Errore nel caricamento dell'immagine" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Tipo non supportato: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Impossibile caricare l'immagine, il file potrebbe essere danneggiato" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Il font del testo verrà cambiato dopo il riavvio.\n" "Riavviare X File Explorer adesso?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Apri Immagine" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Comando di stampa: \n" "(es: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Uso: xfi [opzioni] [immagine]\n" "\n" " le [opzioni] possono essere scelte tra:\n" "\n" " -h, --help Mostra (questo) aiuto ed esci.\n" " -v, --version Mostra versione del programma ed esci.\n" "\n" " [immagine] è il percorso del file immagine da aprire all'avvio.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Impostazioni XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Testo" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Margine di ritorno a capo:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Dimensione tabulazione:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Rimuovi caratteri di ritorno a capo:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Colori" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Linee" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Sfondo:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Testo:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Sfondo testo selezionato:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Testo selezionato:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Sfondo testo evidenziato:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Testo evidenziato:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursore:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Sfondo numeri di riga:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Primo piano numeri di riga:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Cerca" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Finestra" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Righe:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Riga:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nuovo" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Crea nuovo documento." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Apri file documento." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Salva" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Salva documento." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Chiudi" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Chiudi file documento." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Stampa documento." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Esci" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Esci da X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Copia selezione negli appunti." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Taglia" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Taglia selezione negli appunti." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Incolla" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Incolla dagli appunti" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Vai al numero di riga." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Annulla" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Annulla ultima modifica." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Ripeti" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Ripeti ultima modifica." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Cerca testo." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Cerca selezione all'indietro" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Cerca all'indietro per il testo selezionato." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Cerca selezione in avanti" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Cerca in avanti il testo selezionato. " #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Attiva a capo automatico" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Attiva A capo automatico" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Disattiva a capo automatico" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Disattiva A capo automatico" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Visualizza numeri di riga" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Visualizza numeri di riga." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Nascondi numeri di riga" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Nascondi numeri di riga." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Nuovo..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Salvare cambiamenti sul file." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Salva come..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Salva documento su un altro file." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Chiudi documento." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Cancella lista file recenti" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "Ann&ulla" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Ripeti" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Ritorna alla versione salvata" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Annulla modifiche e ripristina la versione salvata." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "&Taglia" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Incolla dagli appunti." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Minuscolo" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Rendi il testo tutto minuscolo." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Maiuscolo" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Rendi il testo tutto maiuscolo." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Vai alla riga..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Selezion&a tutto" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "Barra di &stato" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Mostra barra di stato." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Cerca..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Cerca una stringa." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Sostituisci..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Cerca una stringa e rimpiazza con un'altra." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Cerca sel. indietro" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Cerca sel. avanti" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "A capo automatico" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Alterna word-wrap (a capo automatico)." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "&Numeri di riga" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Abilita/disabilita modalità visualizzazione numeri di riga." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "S&ovrascrittura" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Alterna modalità sovrascrittura." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Font..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Cambia il tipo di carattere per il testo." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "Altre i&mpostazioni..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Cambia altre impostazioni." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Informazioni su X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Informazioni su X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Il file è troppo grande: %s (%d byte)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Impossibile leggere il file: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Errore durante il salvataggio del file" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Il file è troppo grande: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "File: %s troncato." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "senza titolo" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "senza-titolo%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Versione %s è un semplice editor di testi.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Informazioni su X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Cambia Tipo Carattere" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "File di testo" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "File sorgente in C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "File sorgente in C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "File header di C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "File HTML" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "File PHP" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Documento non salvato" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Salvare %s su file?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Salva Documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Sovrascrivi Documento" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Sovrascrivere documento esistente: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (modificato)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Sola lettura" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "SOV" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "File Modificato" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "è stato modificato da un altro programma. Ricaricare da disco?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Sostituisci" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Vai alla riga" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "Vai alla ri&ga numero:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Utilizzo: xfv [opzioni] [file1] [file2] [file3]... \n" "\n" " le [opzioni] possono essere scelte tra:\n" "\n" " -h, --help Mostra (questo) aiuto ed esci.\n" " -v, --version Mostra versione del programma ed esci.\n" "\n" " [file1] [file2] [file3]... sono i percorsi dei file da aprire " "all'avvio.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Cartella radice" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Pronto." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Sostituisci" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Sostituisci &Tutti" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Cerca:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Sostituisci con:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "&Corretto" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignora maiuscolo/minuscolo" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "E&spressione" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Indietro" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "Assegnamenti dei tasti &globali" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Questi assegnamenti dei tasti sono comuni a tutte le applicazioni di Xfe.\n" "Fai doppio click su di un oggetto per modificare l'assegnamento del tasto " "selezionato..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Assegnamenti dei tasti di Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Questi assegnamenti dei tasti sono specifici dell'applicazione X File " "Explorer.\n" "Fai doppio click su di un oggetto per modificare l'assegnamento del tasto " "selezionato..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Assegnamenti dei tasti di Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Questi assegnamenti dei tasti sono specifici dell'applicazione X File " "Image.\n" "Fai doppio click su di un oggetto per modificare l'assegnamento del tasto " "selezionato..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Assegnamenti dei tasti di Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Questi assegnamenti dei tasti sono specifici dell'applicazione X File " "Write.\n" "Fai doppio click su di un oggetto per modificare l'assegnamento del tasto " "selezionato..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Nome azione" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Chiave di registro" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Assegnamenti dei tasti" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Premi la combinazione di tasti che vuoi utilizzare per l'azione: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Premi spazio per disabilitare il tasto assegnato a questa azione]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Modifica assegnamenti dei tasti" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "L'assegnamento del tasto %s è già utilizzato nella sezione globale.\n" "\tDovresti eliminare l'assegnamento esistente prima di assegnarlo nuovamente." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "L'assegnamento del tasto %s è già utilizzato nella sezione Xfe.\n" "\tDovresti eliminare l'assegnamento esistente prima di assegnarlo nuovamente." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "L'assegnamento del tasto %s è già utilizzato nella sezione Xfi.\n" "\tDovresti eliminare l'assegnamento esistente prima di assegnarlo nuovamente." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "L'assegnamento del tasto %s è già utilizzato nella sezione Xfw.\n" "\tDovresti eliminare l'assegnamento esistente prima di assegnarlo nuovamente." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Impossibile entrare nella cartella %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Errore: Impossibile entrare nella cartella %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Errore: Impossibile aprire il display\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Inizio di %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Errore: Impossibile eseguire il comando %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Errore: Impossibile chiudere la cartella %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "byte" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Copia file" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Errore: Impossibile leggere la lista dei gruppi: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Errore: Impossibile leggere la lista dei gruppi" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "File Manager" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Un file manager leggero per X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Visualizzatore di immagini" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Un visualizzatore di immagini leggero per Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Editor di testi" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Un semplice editor di testi per Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Gestore pacchetti" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Un semplice gestore pacchetti per Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Mostra pannello doppio" #~ msgid "Panel does not have focus" #~ msgstr "Pannello non in primo piano" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Nome cartella: " #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Nome cartella: " #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Conferma sovrascrittura" #~ msgid "P&roperties..." #~ msgstr "&Proprietà..." #~ msgid "&Properties..." #~ msgstr "&Proprietà..." #~ msgid "&About X File Write..." #~ msgstr "Informazioni su X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Impossibile entrare nella cartella %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Impossibile entrare nella cartella %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Impossibile creare cartella 'files' del Cestino %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Impossibile eseguire il comando %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Impossibile entrare nella cartella %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Impossibile creare cartella 'files' del Cestino %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "mpossibile creare cartella 'info' del Cestino %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Impossibile creare cartella 'info' del Cestino %s" #~ msgid "Delete: " #~ msgstr "Elimina: " #~ msgid "File: " #~ msgstr "File: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Informazioni su X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Pannello &destro" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Pannello &sinistro" #, fuzzy #~ msgid "Error " #~ msgstr "Errore" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Impossibile entrare nella cartella %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Esegui comando" #, fuzzy #~ msgid "Command log " #~ msgstr "Log dei comandi" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Impossibile creare cartella 'files' del Cestino %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "File non esistente: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Impossibile rinominare in %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Velocità di scorrimento del mouse:" #~ msgid "Mouse" #~ msgstr "Mouse" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Dimensione origine: %s - Data modifica: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Dimensione destinazione: %s - Data modifica: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "" #~ "Impossibile caricare alcune icone. Verificare il percorso delle icone!" #~ msgid "Go back" #~ msgstr "Vai indietro" #~ msgid "Move to previous folder." #~ msgstr "Vai alla cartella precedente." #~ msgid "Go forward" #~ msgstr "Vai avanti" #~ msgid "Move to next folder." #~ msgstr "Vai alla cartella successiva." #~ msgid "Go up one folder" #~ msgstr "Sali di un livello" #~ msgid "Move up to higher folder." #~ msgstr "Spostati alla cartella superiore." #~ msgid "Back to home folder." #~ msgstr "Torna alla cartella HOME." #~ msgid "Back to working folder." #~ msgstr "Torna alla cartella di lavoro." #~ msgid "Show icons" #~ msgstr "Mostra icone" #~ msgid "Show list" #~ msgstr "Mostra lista" #~ msgid "Display folder with small icons." #~ msgstr "Mostra cartella con icone piccole." #~ msgid "Show details" #~ msgstr "Mostra dettagli" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Utilizzo: xfv [opzioni] [file1] [file2] [file3]... \n" #~ "\n" #~ " le [opzioni] possono essere scelte tra:\n" #~ "\n" #~ " -h, --help Mostra (questo) aiuto ed esci.\n" #~ " -v, --version Mostra versione del programma ed esci.\n" #~ "\n" #~ " [file1] [file2] [file3]... sono i percorsi dei file da aprire " #~ "all'avvio.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Riga:" #~ msgid "Open document." #~ msgstr "Apri documento." #~ msgid "Quit Xfv." #~ msgstr "Uscita da Xfv." #~ msgid "Find" #~ msgstr "Trova" #~ msgid "Find string in document." #~ msgstr "Trova stringa nel documento." #~ msgid "Find again" #~ msgstr "Trova ancora" #~ msgid "Find string again." #~ msgstr "Trova prossima stringa." #~ msgid "&Find..." #~ msgstr "Trova..." #~ msgid "Find a string in a document." #~ msgstr "Trova stringa nel documento." #~ msgid "Find &again" #~ msgstr "Trova ancora" #~ msgid "Display status bar." #~ msgstr "Mostra barra di stato." #~ msgid "&About X File View" #~ msgstr "Informazioni su X File View" #~ msgid "About X File View." #~ msgstr "Informazioni su X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View Versione %s è un semplice visualizzatore di testi.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Informazioni su X File View" #~ msgid "Error Reading File" #~ msgstr "Errore durante la lettura del file" #~ msgid "Unable to load entire file: %s" #~ msgstr "Impossibile aprire il file per intero: %s" #~ msgid "&Find" #~ msgstr "&Trova" #~ msgid "Not Found" #~ msgstr "Non trovato" #~ msgid "String '%s' not found" #~ msgstr "Stringa '%s' non trovata" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Visualizzatore di testi" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Un semplice visualizzatore di testi per Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "La destinazione %s è identica alla sorgente" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "La destinazione %s è una sottocartella della sorgente." #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "La destinazione %s è identica alla sorgente" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "La destinazione %s è identica alla sorgente" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "La destinazione %s è identica alla sorgente" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "La destinazione %s è identica alla sorgente" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "La destinazione %s è identica alla sorgente" #~ msgid "Ignore case" #~ msgstr "Ignora maiuscolo/minuscolo" #~ msgid "In directory:" #~ msgstr "Nella cartella:" #~ msgid "\tIn directory..." #~ msgstr "\tNella cartella..." #~ msgid "Re&store from trash" #~ msgstr "Ripristina dal Cestino" #, fuzzy #~ msgid "File size at least:" #~ msgstr "File e cartelle" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Associazioni dei &file" #, fuzzy #~ msgid " Items" #~ msgstr " oggetti" #, fuzzy #~ msgid "Search results - " #~ msgstr "Cerca precedente" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Mostra cartella con icone grandi." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Mostra cartella con icone piccole." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Mostra l'elenco dettagliato della cartella." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Mostra thumbnails" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Nascondi thumbnails" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Copia i file selezionati negli appunti" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Taglia i file selezionati negli appunti" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Mostra le proprieta' dei file selezionati" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Sposta i file selezionati nel Cestino" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Elimina i file selezionati" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Mostra file e cartelle nascosti." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tSeleziona file..." #~ msgid "Dir&ectories first" #~ msgstr "Cartelle in cima" #~ msgid "Toggle display hidden directories" #~ msgstr "Visualizza/Nascondi cartelle nascoste" #~ msgid "&Directories first" #~ msgstr "Cartelle in cima" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Impossibile eliminare la cartella %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Vai alla cartella superiore" #~ msgid "Go to working directory" #~ msgstr "Vai alla cartella di lavoro corrente" #~ msgid "Go to previous directory" #~ msgstr "Vai alla cartella precedente" #~ msgid "Go to next directory" #~ msgstr "Vai alla prossima cartella" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "La cartella superiore %s non esiste, si desidera crearla?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Impossibile eliminare la cartella %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Impossibile creare la cartella %s" #~ msgid "Directory name" #~ msgstr "Nome cartella" #~ msgid "Single click directory open" #~ msgstr "Apri cartella con un click singolo" #~ msgid "Confirm quit" #~ msgstr "Conferma l'uscita" #~ msgid "Quitting Xfe" #~ msgstr "Uscita da Xfe" #~ msgid "Display toolbar" #~ msgstr "Mostra barra degli strumenti" #~ msgid "Display or hide toolbar." #~ msgstr "Mostra/Nascondi barra degli strumenti." #~ msgid "Move the selected item to trash can?" #~ msgstr "Spostare l'oggetto selezionato nel Cestino?" #~ msgid "Definitively delete the selected item?" #~ msgstr "Eliminare definitivamente l'oggetto selezionato?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Esecuzione" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Impossibile preservare la data durante la copia del file %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tIl formato dell'archivio è rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tIl formato dell'archivio è lzh" #, fuzzy #~ msgid "arj\tArchive format is arj" #~ msgstr "tar\tIl formato dell'archivio è tar" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Sorgente %s e destinazione sono identici" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "Un errore si è verificato durante la copia!" #~ msgid "File list: Unknown package format" #~ msgstr "Lista file: formato pacchetto sconosciuto" #~ msgid "Description: Unknown package format" #~ msgstr "Descrizione: formato pacchetto sconosciuto" #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "Si è verificato un errore! \n" #~ "Considerare che la modalita' root richiede un xterm funzionante nel " #~ "vostro sistema." #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires the selection of a valid terminal " #~ "program in the Preferences menu." #~ msgstr "" #~ "Si è verificato un errore! \n" #~ "Considerare che la modalita' di root richiede un terminale funzionante " #~ "installato nel vostro sistema." #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "Si è verificato un errore! \n" #~ "Considerare che la modalita' di root richiede un terminale funzionante " #~ "installato nel vostro sistema." #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "La cartella %s non è vuota, spostare comunque nel Cestino?" #~ msgid "Confirm delete/restore" #~ msgstr "Conferma eliminazione/ripristino" xfe-1.42/po/Makefile.in.in0000644000175100017510000001532311444154372012246 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(MSGFMT) -o $@ $< .po.gmo: file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(itlocaledir) linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info tags TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo 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 Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$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 $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # 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: xfe-1.42/po/sv.po0000644000175100017510000051536312746115274010601 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2009 Roland Baudin # This file is distributed under the same license as the Xfe package. # Anders F Bjorklund , 2009. # # msgid "" msgstr "" "Project-Id-Version: Xfe 1.37\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2013-04-03 19:37+0100\n" "Last-Translator: Anders F Björklund \n" "Language-Team: Swedish\n" "Language: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Användning: xfe [alternativ] [startdir1] [startdir2]\n" "\n" " [alternativ] kan vara följande:\n" "\n" " -h, --help Visa (denna) hjälpskärm och avsluta.\n" " -v, --version Visa versionsinformation och avsluta.\n" " -i, --iconic Starta ikonifierad.\n" " -m, --maximized Starta maximerad.\n" " -p n, --panel n Tvinga panelläge till n (n=0 => Träd och en " "panel,\n" " n=1 => En panel, n=2 => Två paneler, n=3 => " "Träd och två paneler).\n" "\n" " [startdir1] och [startdir2] är sökväg till startkatalogerna du vill\n" " öppna vid upstart.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "Varning: Okänt panelläge, återställer senast sparade panelläge\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Fel vid laddning av ikoner" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Kunde inte ladda vissa ikoner. Kontrollera deras sökvägar!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Användare" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Läsa" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Skriva" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Köra" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupp" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Övriga" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Special" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Sätt UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Sätt GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Fast" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Ägare" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Kommando" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Sätt valda" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekursivt" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Rensa valda" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Filer och kataloger" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Lägg till markerade" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Endast kataloger" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Endast ägare" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Endast filer" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Egenskaper" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "A&cceptera" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Avbryt" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "D&iverse" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Rättigheter" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Filassociationer" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Filändelse:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Beskrivning:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Öppna:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tVälj fil..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Visa:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Redigera:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Packa upp:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installera/Uppgradera:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Stor ikon:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Mini ikon:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Namn" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Varning: filnamnet är inte kodat i UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Filsystem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Katalog" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Teckenenhet" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blockenhet" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Namngivet rör" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Uttag" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Program" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Bruten länk" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Länka till " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Monteringspunkt" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Monteringstyp:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Använt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Ledigt:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Filsystem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Plats:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Total storlek:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Länka till:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Bruten länk till:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ursprunglig plats:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Filtid" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Senast modifierad:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Senast ändrad:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Senaste åtkomst:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Uppstartsnotifiering" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Stäng av uppstartsnotifieringar för denna fil" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Borttagen datum:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Storlek:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Markering:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Flera typer" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d objekt" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d filer, %d kataloger" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Visa egenskaper hos valda filer" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Visa egenskaper hos valda filer" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Filegenskaper" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Varning" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Filflyttningsoperationen avbruten!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Fel" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Kan inte skriva till %s: Åtkomst nekad" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Katalogen %s existerar inte" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Döp om fil" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Filägare" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Ändra filens/filernas ägare avbrutet!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown i %s misslyckades: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown i %s misslyckades" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Sätta specialrättigheter kan vara osäkert! Är du säker på att det är det du " "vill göra?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod i %s misslyckades: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Filrättigheter" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Ändra filrättigheter avbrutet!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod i %s misslyckades" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s i %s valda objekt" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Ändra filens/filernas rättigheter avbrutet!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Välj en programfil" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Alla filer" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG-bilder" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF-bilder" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP-bilder" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Välj en ikonfil" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u filer, %u kataloger" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Kopiera hit" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Flytta hit" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Länka hit" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Avbryt" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopiera fil" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Flytta fil" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Länka fil" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiera" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopiera %s filer/kataloger.\n" "Från: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Flytta" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Flytta %s filer/kataloger.\n" "Från: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Symlänka" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Till:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Ett fel har uppstått under filflyttningsoperationen!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Filflyttningsoperationen avbruten!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Ett fel har uppstått under filkopieringsoperationen!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Filkopieringsoperationen avbruten!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Monteringspunkten %s svarar inte..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Länka till katalog" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Kataloger" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Visa gömda kataloger" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Dölj gömda kataloger" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytes i rot" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Panel har fokus" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Byt paneler" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Behörighet till: %s nekas." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Ny katal&og..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Gömda kataloger" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "Ignorera stora/små" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "Omvänd ordning" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Fäll ut träd" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Fäll ihop träd" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Montera" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Avmontera" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Lägg till i arkiv..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopiera" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Klipp &ut" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "Klistra &in" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "&Byt namn..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Kopiera &till..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "F&lytta till..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Symlän&ka till..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Flytta till papperskorgen" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Åt&erställ från papperskorgen" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Ta bort" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "&Egenskaper" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Kan inte gå till katalog %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Kan inte gå in i katalog %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Skapa arkiv" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopiera " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Kopiera %s objekt från: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Döp om" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Döp om " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopiera till" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Flytta " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Flytta %s objekt från: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Symlänka " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Symlänka %s objekt från: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s är inte en katalog" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Ett fel har uppstått under symlänkningsoperationen!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Symlänkningsoperationen avbruten!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Slutgiltigt ta bort katalog %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Bekräfta borttagning" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Ta bort fil" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Katalogen %s är inte tom, ta bort den ändå?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Katalogen %s är skriv-skyddad, slutgiltigt ta bort den i alla fall?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Ta-bort-katalog-operationen avbruten!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Flytta katalogen %s till papperskorgen?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Bekräfta flytt" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Flytta till papperskorgen" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Katalogen %s är skrivskyddad, vill du flytta den till papperskorgen ändå?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Ett fel har uppstått under flytten till papperskorgen!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Flytta-till-papperskorgen-operationen avbruten!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Återställ från papperskorgen" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Återställ katalogen %s till sin ursprungliga plats %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Bekräfta återställning" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Återställningsinformation är inte tillgänglig för %s" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Överliggande katalogen %s existerar inte, vill du skapa den?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Kan inte skapa katalogen %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Kan inte skapa katalogen %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Ett fel har uppstått under återställningen från papperskorgen!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Återställningen från papperskorgen avbruten!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Skapa ny katalog:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Ny katalog" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Kan inte köra kommando %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montera" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Avmontera" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " filsystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " katalogen:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operationen avbruten!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " i rot" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Källa:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Mål:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Senast ändrad: " #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Senast ändrad: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Ta bort:" #: ../src/File.cpp:136 msgid "From:" msgstr "Från:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Ändrar rättigheter..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Fil:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Ändrar ägare..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montera filsystem..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Montera katalogen:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Avmontera filsystem..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Avmontera katalogen:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Katalogen %s existerar redan. Ersätta?\n" "=> Varning, alla filer i katalogen kommer att slutgiltigt förloras!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "Filen %s existerar redan. Ersätta?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Bekräfta ersättning" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Kan inte kopiera filen %s: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Kan inte kopiera filen %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Källa: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Mål: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Kan inte behålla datumet vid kopiering av filen %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Kan inte behålla datumet vid kopiering av filen %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kan inte kopiera katalogen %s : Åtkomst nekad" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kan inte kopiera filen %s : Åtkomst nekad" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Kan inte behålla datumet vid kopiering av katalogen %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kan inte behålla datumet vid kopiering av katalogen %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Källan %s existerar inte" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Källan %s är samma som målet" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Mål %s är en under-mapp med källan" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Ta bort katalog: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Från: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kan inte ta bort katalogen %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Kan inte ta bort katalogen %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Kan inte ta bort filen %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Kan inte ta bort filen %s" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Filen eller katalogen %s existerar redan" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kan inte döpa om till målet %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Kan inte skapa ny symbolisk länk %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Kan inte skapa ny symbolisk länk %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Katalog: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Packa upp arkiv" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Lägg till i arkiv" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Kommandot misslyckades: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Framgång" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Katalogen %s monterades framgångsrikt." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Katalogen %s avmonterades framgångsrikt." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Installera/Uppgradera paket" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Installerar paket: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Avinstallerar paket" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Avinstallerar paket: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Filnamn:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Filfilter:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Skrivskyddad" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Gå till föregående katalog" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Gå till nästa katalog" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Gå till överliggande katalog" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Gå till hemkatalogen" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Gå till arbetskatalogen" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Ny katalog" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Stora ikoner" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Små ikoner" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Detaljerad fillista" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Visa gömda filer" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Dölj gömda filer" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Visa miniatyrbilder" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Göm miniatyrbilder" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Skapa ny katalog..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Skapa ny fil..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Ny fil" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Filen eller katalogen %s existerar redan" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Gå he&m" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Gå arb." #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Ny &fil..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Ny katal&og..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Gömda filer" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Översikter" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Stora ikoner" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "Små ikoner" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Komplett fillista" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Rader" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Kolumner" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Autopassa" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "Namn" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Storlek" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Filändelse" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "Användare" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "Grupp" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Kataloger först" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Omvänd ordning" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "Familj:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "Vikt:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Storlek:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Teckenuppsättning:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Godtycklig" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Västeuropeisk" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Östeuropeisk" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Sydeuropeisk" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Nordeuropeisk" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Kyrillisk" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabisk" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Grekisk" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebreisk" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turkisk" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordisk" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thailändsk" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltisk" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Keltisk" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Rysk" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Centraleuropeisk (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Rysk (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Grekisk (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turkisk (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebreisk (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabisk (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltisk (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamesisk (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thailändsk (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Sätt bredd:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultrasammandragen" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extrasammandragen" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Sammandragen" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Halvsammandragen" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Halvutdragen" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Utdragen" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extrautdragen" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultrautdragen" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Teckenbredd:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fast" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Varierbar" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Skalbara:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Alla typsnitt:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Visa:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Starta Xfe som root" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nej" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Avsluta" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "Spara" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja till allt" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Skriv in användarlösenordet:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Skriv in rootlösenordet:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Ett fel har uppstått!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Namn: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Storlek i rot: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Senast ändrad: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Användare: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupp: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Rättigheter: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Orginalsökväg: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Borttagen: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Storlek: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Storlek" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Filändelse" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Senast ändrad" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Rättigheter" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Kunde inte ladda bild" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Originalsökväg" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Borttagen" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "Filen %s är ​​en körbar textfil, vad vill du göra?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Bekräfta körning" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Kommandolog" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Filnamnet är tomt, operationen avbruten!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Till katalog:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kan inte skriva till papperskorgen %s: Åtkomst nekas" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Flytta filen %s till papperskorgen?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Flytta %s valda objekt till papperskorgen?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Filen %s är skrivskyddad, vill du flytta den till papperskorgen ändå?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Flytten till papperskorgen avbruten!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Återställ filen %s till sin ursprungliga plats %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Återställ %s valda objekt till deras ursprungliga platser?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Kan inte skapa katalogen %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Slutgiltigt ta bort katalog %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Slutgiltigt ta bort %s valda objekt?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Filen %s är skrivskyddad, ta bort den ändå?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Filborttagningen avbruten!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Skapa ny fil:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Kan inte skapa filen %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Kan inte skapa filen %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kan inte sätta rättigheterna i %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Det går inte att sätta rättigheterna i %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Skapa ny symbolisk länk:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Ny symlänk" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Välj en symlänkangiven fil eller katalog" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Symlänkkällan %s existerar inte" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Öppna vald(a) fil(er) med:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Öppna med" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Associera" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Visa filer:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Ny s&ymlänk..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Komplett fillista" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Rättigheter" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Ny &fil..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montera" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Öppna med..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Öppna" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Packa upp till katalog " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "Packa upp här" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Packa upp..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Vi&sa" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Installera/Uppgradera" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Avinstallera" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Redigera" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "Ersätt..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Paketförfrågan " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Skript" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Gå till skriptkatalog" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopiera till..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "Flytta till papperskorgen" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Återställ från papperskorgen" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Källa:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Egenskaper" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Välj en destinationskatalog" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Alla filer" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Installera/Uppgradera paket" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Avinstallera paket" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Fel: Utgrening misslyckades: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Kan inte skapa skriptkatalogen %s: %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Kan inte skapa skriptkatalogen %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Ingen kompatibel pakethanterare (rpm eller dpkg) hittad!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Filen %s tillhör inte något paket." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Filen %s tillhör paketet: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Vald text:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s i %s valda objekt" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 objekt" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " objekt" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Länk" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filter: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" "Maximalt antal bokmärken uppnått. Senaste bokmärket kommer att raderas..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Bekräfta bort bokmärken" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Vill du verkligen ta bort alla dina bokmärken?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Stäng" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Kan inte duplicera rör: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Kan inte duplicera rör" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMMANDOT AVBRUTET <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> SLUT PÅ KOMMANDO <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tVälj destination..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Välj en fil" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Välj en fil eller en destinationskatalog" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Lägg till i arkiv" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nytt arkivnamn:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tArkivformatet är tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tArkivformatet är zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tArkivformatet är 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tArkivformatet är tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tArkivformatet är tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tArkivformatet är tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tArkivformatet är tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tArkivformatet är gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tArkivformatet är bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tArkivformatet är xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tArkivformatet är Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Inställningar" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Nuvarande tema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Alternativ" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Använd papperskorgen för borttagning (säkrast)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Inkludera ta bort utan papperskorgen (permanent borttagning)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Autospara layouten" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Spara fönsterposition" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Enkelklick för att öppna kataloger" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Enkelklick för att öppna filer" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Visa verktygstips i fil- och kataloglistor" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Relativ skalning av fillistor" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Visa en sökvägslänkare ovanför fillistor" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Notifiera när program startas" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Datumformat som används i fil-och katalog listor:\n" "(skriv \"man strftime\" i en terminal för att få hjälp på formatet)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr "I katalog:" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Kan inte skapa katalogen %s" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "Sök filer och kataloger." #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Mjuk rullning i fillistor och textfönster" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Musrullningshastighet:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Rootläge" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Tillåt rootläge" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autententisering med su (använder rootlösenord)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autententisering med sudo (användarlösenordet)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialoger" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Bekräftelser" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Bekräfta kopiera/flytta/namnbyte/symlänkning" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Bekräfta drag och släpp" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Bekräfta flytt till/återställning från papperskorgen" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Bekräfta borttagning" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Bekräfta borttagning av ej tomma kataloger" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Bekräfta överskrivning" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Bekräfta körning av textfil" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Filegenskaper" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Varningar" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Varna när nuvarande katalog sätts i sökfönstret" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Varna när monteringspunkter inte svarar" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Visa montera/avmontera framgångsmeddelanden" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Varna när datum bevarande misslyckades" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Varna när programmet körs som root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Program" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Förvalda program" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Textvisare:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Texteditor:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Filrättigheter" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Bildeditor:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Bildvisare:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Arkiverare:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Pdfvisare:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Audiospelare:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Videospelare:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montera" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Avmontera" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Teman" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Färgtema" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Egna färger" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Dubbelklicka för att välja färgen" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Basfärg" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Kantfärg" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Bakgrundsfärg" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Textfärg" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Markeringens bakgrundsfärg" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Markeringens textfärg" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Fillistans bakgrundsfärg" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Fillistans textfärg" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Fillistans markeringsfärg" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Förloppsfärg" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Uppmärksamhetsfärg" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Rullistsfärg" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Kontroller" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standard (klassiska kontroller)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (moderna kontroller)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Ikontemats sökväg" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tVälj sökväg..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "Typ&snitt" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Typsnitt" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normalt typsnitt:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Välj..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Text-typsnitt:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "Tangent&bindningar" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Tangentbindningar" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Ändra tangentbindningar..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Återställ ursprungliga tangentbindningar..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Välj en ikontemakatalog eller en ikonfil" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Ändra normalt typsnitt" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Ändra text-typsnitt" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Skapa ny fil" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Skapa ny katalog" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Kopiera markeringen till urklippet" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Klipp ut markeringen till urklippet" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Klistra in från urklippet" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Öppna fil" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Avsluta programmet" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Markera allt" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Avmarkera allt" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Invertera markering" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Visa hjälp" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Visa/dölj gömda filer" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Visa/dölj miniatyrbilder" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Stäng fönster" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Skriv ut fil" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Sök" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Sök föregående" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Sök nästa" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Uppdatera paneler" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Skapa ny symbolisk länk" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Filegenskaper" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Flytta filer till papperskorgen" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Återställ filer från papperskorgen" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Ta bort filer" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Skapa nytt fönster" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Skapa nytt rootfönster" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Kör kommando" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Starta terminal" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Montera filsystem... (endast Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Avmontera filsystem... (endast Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "En-panelsläge" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Träd- och panelläge" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Två-panelsläge" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Träd- och tvåpanelsläge" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Radera platsfältet" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Döp om fil" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Kopiera filer till plats" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Flytta filer till plats" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Symlänka filer till plats" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Lägg till bokmärke" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Synkronisera paneler" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Byt paneler" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Gå till papperskorgen" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Töm papperskorgen" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Visa" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Redigera" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Visa/dölj gömda kataloger" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtrera filer" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Zooma bild till 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Anpassa till fönster" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Rotera bild till vänster" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Rotera bild till höger" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Spegla bild horisontellt" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Spegla bild vertikalt" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Skapa nytt dokument" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Spara ändringar till fil" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Gå till rad" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Ångra senaste ändringen" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Upprepa senaste ändringen" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Ersätt sträng" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Växla radbrytningsläge" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Växla radnumreringsläge" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Växla till små bokstäver" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Växla till stora bokstäver" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Vill du verkligen återställa ursprungliga tangentbindningar?\n" "\n" "Alla dina inställningar kommer att förloras!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Återställ ursprungliga tangentbindningar" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Starta om" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tangentbindningar kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Rullningsläget kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Temat kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Sökvägslänkare kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Knappstilen kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normalt typsnitt kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Text-typsnittet kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Hoppa över" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Hoppa över alla" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Källa:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Senast ändrad: " #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Mål:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "K_ör" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Kör i ko_nsolläge" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "Stäng" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Uppdatera panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Kopiera valda filer till urklippet" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Klipp ut valda filer till urklippet" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Visa egenskaper hos valda filer" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Flytta valda filer till papperskorgen" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Ta bort valda filer" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Nuvarande katalog har satts till '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Komplett fillista" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "Ignorera stora/små" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Autoförstora" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "&Paketförfrågan " #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "Gå till överliggande katalog" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Kopiera %s objekt" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Flytta %s objekt" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Symlänka %s objekt" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 objekt" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Hitta filer:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Visa gömda filer\tVisa gömda filer och kataloger" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "Till katalog:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tTill katalog..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Text innehåller:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Fler alternativ" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Sökalternativ" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Återställ\tÅterställ sökalternativ" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Min storlek:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtrera enligt minimal filstorlek (KBytes)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Max storlek:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtrera enligt maximal filstorlek (KBytes)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Senast modifierad före:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filtrera enligt maximalt ändringsdatum (dagar)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Dagar" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Senast modifierad efter:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtrera enligt minimalt ändringsdatum (dagar)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Användare:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrera enligt användarnamn" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Grupp:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrera enligt gruppnamn" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Filtyp:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Fil" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Rör" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrera enligt filtyp" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Rättigheter:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrera enligt filrättigheter (oktala)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Tomma filer:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tEndast tomma filer" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Följ symboliska länkar:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tSök och följ symbolisk länkar" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Rekursivt" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Avmontera filsystem..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Starta\tStarta sökningen (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Stoppa\tStoppa sökningen (Esc)" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Sökning startad - Var god vänta..." #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Sökresultat" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "In/ut-fel" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Sökning stoppad..." #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Välj sökväg" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Skapa ny symlänk" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Återställ valda filer från papperskorgen" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Starta Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Sök filer och kataloger..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Montera (endast Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Avmontera (endast Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Visa en panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Visa träd och en panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Visa två paneler" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Visa träd och två paneler" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Radera platsfältet" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Gå till plats" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Ny katal&og..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Gå he&m" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "Uppdatera" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "Kopiera till..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Symlänka till..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Egenskaper" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Arkiv" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Markera allt" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Avmarkera allt" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Invertera markering" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "&Inställningar" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Diversefält" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Verktygsfält" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Panelfält" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "Platsfält" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "Statusfält" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "En panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "Träd och panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Två paneler" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Träd och två paneler" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Byt paneler" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Byt paneler" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Lägg till bokmärke" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Radera bokmärken" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Bokmärken" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filter..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "Miniatyrbilder" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Stora ikoner" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "Typ" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "Datum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Användare" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "Grupp" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Kataloger först" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Vänstra panelen" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Kataloger först" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "Högra panelen" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nytt fönster" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nytt rootfönster" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Kör kommando..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "&Synkronisera paneler" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Byt paneler" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Gå till skriptkatalog" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Sök filer..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "Avmontera" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Verktyg" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Gå till papperskorgen" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Papperskorgens s&torlek" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Töm papp&erskorgen" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Pappers&korgen" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Hjälp" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Xfe körs som root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Med början från Xfe 1.32, har placeringen av konfigurationsfiler ändras till " "'% s'.\n" "Observera att du manuellt kan redigera den nya konfigurationsfilen för att " "importera dina gamla anpassningar..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Kan inte skapa Xfe konfigurationskatalog %s : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Kan inte skapa Xfe konfigurationskatalog %s" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Ingen global xferc-fil kunde hittas! Var god välj en konfigurationsfil..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE konfigurationsfil" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Hjälp" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Baserad på X WinCommander av Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Om X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Kör kommandot:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Konsolläge" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Sök filer och kataloger." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "" "Vill du verkligen tömma papperskorgen?\n" "\n" "Alla objekt kommer att slutgiltigt tas bort!" #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid " in " msgstr " i rot" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Vill du verkligen tömma papperskorgen?\n" "\n" "Alla objekt kommer att slutgiltigt tas bort!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Papperskorgens storlek: %s (%s filer, %s underkataloger)\n" "\n" "Senast ändrad: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Papperskorgens storlek" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Papperskorgens 'files' katalog %s är inte läsbar!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Kan inte gå till katalog %s: %s" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Filassociationer" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Filassociationer" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Inställningar" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Öppna paketfil" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Öppna" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "Verktygsfält" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "Om X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "Avinstallera" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installera/Uppgradera" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "Beskrivning" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "Fillista" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package Version %s är en enkel rpm eller deb pakethanterare.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Om X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM källkodspaket" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM-paket" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB-paket" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Öppna dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Inget paket öppnat" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Okänt paketformat" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Installera/Uppgradera paket" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Avinstallera paket" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM paket]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB paket]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Förfrågan av %s misslyckades!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Fel vid filöppning" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Kunde inte öppna filen: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Användning: xfp [alternativ] [packet] \n" "\n" " [alternativ] kan vara följande:\n" "\n" " -h, --help Visa (denna) hjälp skärm och avsluta.\n" " -v, --version Visa version information och avsluta.\n" "\n" " [packet] är sökvägen till den rpm eller deb packet du vill öppna vid " "upstart.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF-bild" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP-bild" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM-bild" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX-bild" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO-bild" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB-bild" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM-bild" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA-bild" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM-bild" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG-bild" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG-bild" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF-bild" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Bild" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Öppna" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Öppna bildfil." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Skriv ut" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Skriv ut bildfilen." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Zooma in" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Zooma in bild." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Zooma ut" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Zooma ut bild." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Zooma 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Zooma bild till 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Zooma anpassat" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Zooma för att passa fönstret." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Rotera vänster" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Rotera bild vänster." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Rotera höger" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Rotera bild höger." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Spegla horisontellt" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Spegla bilden horisontellt." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Spegla vertikalt" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Spegla bilden vertikalt." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "Skriv &ut..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "Rensa senaste filer" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Rensa senaste filer." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Avsluta Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Zooma in" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Zooma ut" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Zooma 100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "Anpassa till fönstret" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Rotera &höger" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Rotera höger." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Rotera &vänster" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Rotera vänster." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Spegla horisontellt" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Spegla horisontellt." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Spegla vertikalt" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Spegla vertikalt." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Visa gömda filer och kataloger." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Visa miniatyrbilder." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Visa katalog med stora ikoner." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Visa katalog med små ikoner." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Detaljerad fillista" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Visa detaljerad kataloglista." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Visa ikoner radvis." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Visa ikoner kolumnvis." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Autoförstora ikonnamn." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Visa verktygsfältet." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Fillista" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Visa fillista." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Fillistans textfärg" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "Visa katalog med stora ikoner." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrera bilder" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Visa endast bildfiler." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Anpassa till fönstret" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Zooma för att passa fönstret vid bildöppning." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Om X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "&Om X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Version %s är en enkel bildvisare.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "&Om X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Fel vid bildöppning" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Typ som ej stöds: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Kunde inte läsa bilden, filen kan vara korrupt" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Text-typsnittet kommer att ändras efter omstart.\n" "Starta om X File Explorer nu?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Öppna bild" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Printkommando: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Användning: xfi [alternativ] [bild] \n" "\n" " [alternativ] kan vara följande:\n" "\n" " -h, --help Visa (denna) hjälp skärm och avsluta.\n" " -v, --version Visa version information och avsluta.\n" "\n" " [bild] är sökväg till den bild du vill öppna vid upstart.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Inställningar" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Text" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Brytningsmarginal:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabstorlek:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Ta bort radslut:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Färger" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Rader" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Bakgrund:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Text:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Vald textbakgrund:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Vald text:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Markerad textbakgrund:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Markerad text:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Markör:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Radnummers bakgrund:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Radnummers förgrund:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Sök" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "F&önster" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Rader:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Kol:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Rad:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Ny" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Skapa nytt dokument." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Öppna dokument." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Spara" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Spara dokument." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Stäng" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Stäng dokumentfil." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Skriv ut dokument." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Avsluta" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Avsluta X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopiera markeringen till urklippet." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Klipp ut" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Klipp ut markeringen till urklippet." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Klistra in" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Klistra in från urklippet." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Gå till radnummer." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Ångra" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Ångra senaste ändringen." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Upprepa" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Upprepa senaste ändringen." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Sök text." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Sök markeringen baklänges" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Sök baklänges efter nästa förekomst." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Sök markeringen framlänges" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Sök framlänges efter nästa förekomst." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Radbrytning på" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Sätt på radbrytningsläge." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Radbrytning av" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Stäng av radbrytningsläge." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Visa radnummer" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Visa radnummer." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Göm radnummer" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Göm radnummer." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Ny..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Spara ändringar till fil." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Spara s&om..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Spara dokument till en annan fil." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Stäng dokument." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Rensa senaste filer" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Ångra" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Gör om" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Återgå till &sparad" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Återgå till sparad." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Klipp &ut" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Klistra in från urklippet" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "Små" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Ändra till små bokstäver." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "Stora" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Ändra till stora bokstäver." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Gå till rad..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Markera &allt" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&Statusrad" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Visa statusrad." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Sök" #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Sök efter en sträng." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "Ersätt..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Sök efter en sträng och ersätt med en annan." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Sök mark. &baklänges" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Sök mark. &framlänges" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "Radbrytning" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Växla radbrytningsläge." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Radnummer" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Växla radnumreringsläge." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "Överstruken" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Växla överstrykningsläge." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Typsnitt..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Ändra text-typsnitt." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "Fler inställningar..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Ändra övriga inställningar." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Om X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Filen är för stor: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Kan inte läsa filen: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Fel vid sparande" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Filen är för stor: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Filen: %s avhuggen." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "namnlös" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "namnlös%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Version %s är en enkel texteditor.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Om X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Byt typsnitt" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Textfiler" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C källkodsfiler" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ källkodsfiler" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ headerfiler" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML filer" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP filer" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Osparat dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Spara %s till fil?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Spara dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Skriv över dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Skriv över existerande dokument: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (ändrad)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Skrivskyddad" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Filen blev ändrad" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "ändrades av ett annat program. Läsa om denna fil från disk?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Ersätt" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Gå till rad" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Gå till radnummer:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Användning: xfw [alternativ] [fil1] [fil2] [fil3]...\n" "\n" " [alternativ] kan vara följande:\n" "\n" " -h, --help Visa (denna) hjälp skärm och avsluta.\n" " -v, --version Visa version information och avsluta.\n" "\n" " [fil1] [fil2] [fil3]... är sökväg till fil(erna) du vill öppna vid " "upstart.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Rootkatalog" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Klar." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "Ersätt" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Ersätt alla" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Sök efter:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Ersätt med:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "E&xakt" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Ignorera stora/små" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "&Uttryck" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Baklänges" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Globala tangentbindningar" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Dessa tangentbindningar delas av all Xfe program.\n" "Dubbel-klicka på en bindning för att ändra den valda tangentbindingen..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xf&e tangentbindingar" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Dessa tangentbindningar gäller endast för programmet X File Explorer.\n" "Dubbel-klicka på en bindning för att ändra den valda tangentbindingen..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i tangentbindingar" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Dessa tangentbindningar gäller endast för programmet X File Image.\n" "Dubbel-klicka på en bindning för att ändra den valda tangentbindingen..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w tangentbindingar" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Dessa tangentbindningar gäller endast för programmet X File Write.\n" "Dubbel-klicka på en bindning för att ändra den valda tangentbindingen..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Handlingsnamn" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registernyckel" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Tangentbindning" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" "Tryck ner kombinationen av tangenter som du vill använda för handlingen: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[Tryck mellanslag för att ta bort tangentbindningen för denna handlingen]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Ändra tangentbindning" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Tangentbindningen %s används redan i de globala inställningarna.\n" "\tDu bör ta bort den existerande tangentbindningen innan du försöker igen." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Tangentbindningen %s används redan i Xfe inställningarna.\n" "\tDu bör ta bort den existerande tangentbindningen innan du försöker igen." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Tangentbindningen %s används redan i Xfi inställningarna.\n" "\tDu bör ta bort den existerande tangentbindningen innan du försöker igen." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Tangentbindningen %s används redan i Xfw inställningarna.\n" "\tDu bör ta bort den existerande tangentbindningen innan du försöker igen." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Kan inte gå in i katalog %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Fel: Kan inte gå in i katalog %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Fel! Kan inte öppna display\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Start av %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Fel: Kan inte köra kommando %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Fel: Kan inte stänga katalogen %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Kopiera fil" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Fel: Kan inte läsa grupplistan: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Fel: Kan inte läsa grupplistan" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Filhanterare" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "En lättviktig filhanterare för X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Bildvisare" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "En enkel bildvisare för Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Texteditor" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "En enkel texteditor för Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Pakethanterare" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "En enkel pakethanterare för Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Visa två paneler" #~ msgid "Panel does not have focus" #~ msgstr "Panel har inte fokus" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Katalognamn" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Katalognamn" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Bekräfta överskrivning" #~ msgid "P&roperties..." #~ msgstr "Egenskaper..." #~ msgid "&Properties..." #~ msgstr "Egenskaper..." #~ msgid "&About X File Write..." #~ msgstr "&Om X File Write..." #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Kan inte gå till katalog %s: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Kan inte gå till katalog %s: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Kan inte skapa papperskorgens 'files' katalog %s : %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Kan inte köra kommando %s" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Kan inte gå in i katalog %s" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Kan inte skapa papperskorgens 'files' katalog %s : %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Kan inte skapa papperskorgens 'files' katalog %s" #~ msgid "Delete: " #~ msgstr "Ta bort: " #~ msgid "File: " #~ msgstr "Fil: " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Om X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Högra panelen" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Vänstra panelen" #, fuzzy #~ msgid "Error " #~ msgstr "Fel" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Kan inte gå in i katalog %s" #, fuzzy #~ msgid "Execute command " #~ msgstr "Kör kommando" #, fuzzy #~ msgid "Command log " #~ msgstr "Kommandolog" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Kan inte skapa papperskorgens 'files' katalog %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "Icke-existerande fil: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Kan inte döpa om till målet %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Musrullningshastighet:" #~ msgid "Mouse" #~ msgstr "Mus" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Källans storlek: %s - Senast ändrad: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Målets storlek: %s - Senast ändrad: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Kunde inte ladda vissa ikoner. Kontrollera deras sökvägar!" #~ msgid "Go back" #~ msgstr "Gå tillbaka" #~ msgid "Move to previous folder." #~ msgstr "Gå till föregående katalog." #~ msgid "Go forward" #~ msgstr "Gå framåt" #~ msgid "Move to next folder." #~ msgstr "Gå till nästa katalog." #~ msgid "Go up one folder" #~ msgstr "Gå upp en katalog" #~ msgid "Move up to higher folder." #~ msgstr "Gå till ovanstående katalog." #~ msgid "Back to home folder." #~ msgstr "Tillbaka till hemkatalogen." #~ msgid "Back to working folder." #~ msgstr "Tillbaka till arbetskatalogen." #~ msgid "Show icons" #~ msgstr "Visa ikoner" #~ msgid "Show list" #~ msgstr "Visa lista" #~ msgid "Display folder with small icons." #~ msgstr "Visa katalog med små ikoner." #~ msgid "Show details" #~ msgstr "Visa detaljerat" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Användning: xfv [alternativ] [fil1] [fil2] [fil3]...\n" #~ "\n" #~ " [alternativ] kan vara någon av följande:\n" #~ "\n" #~ " -h, --help Visar (denna) hjälp skärm och avslutas.\n" #~ " -v, --version Visar version information och avslutas.\n" #~ "\n" #~ " [fil1] [fil2] [fil3]... är sökvägen till fil(erna) som du vill öppna " #~ "vid start.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Kol:" #~ msgid "Line:" #~ msgstr "Rad:" #~ msgid "Open document." #~ msgstr "Öppna dokument." #~ msgid "Quit Xfv." #~ msgstr "Avsluta Xfv." #~ msgid "Find" #~ msgstr "Sök" #~ msgid "Find string in document." #~ msgstr "Sök en sträng i dokumentet." #~ msgid "Find again" #~ msgstr "Sök igen" #~ msgid "Find string again." #~ msgstr "Sök sträng igen." #~ msgid "&Find..." #~ msgstr "&Sök..." #~ msgid "Find a string in a document." #~ msgstr "Sök sträng i dokumentet." #~ msgid "Find &again" #~ msgstr "Sök igen" #~ msgid "Display status bar." #~ msgstr "Visa statusfältet." #~ msgid "&About X File View" #~ msgstr "&Om X File View" #~ msgid "About X File View." #~ msgstr "Om X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View Version %s är en enkel textvisare.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "Om X File View" #~ msgid "Error Reading File" #~ msgstr "Fel vid läsning" #~ msgid "Unable to load entire file: %s" #~ msgstr "Kunde inte läsa hela filen: %s" #~ msgid "&Find" #~ msgstr "&Sök" #~ msgid "Not Found" #~ msgstr "Ej funnen" #~ msgid "String '%s' not found" #~ msgstr "Strängen '%s' hittades ej" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Textvisare" #~ msgid "A simple text viewer for Xfe" #~ msgstr "En enkel textvisare för Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Källan %s är samma som målet" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "Mål %s är en under-mapp med källan" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Källan %s är samma som målet" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Källan %s är samma som målet" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Källan %s är samma som målet" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Källan %s är samma som målet" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Källan %s är samma som målet" #~ msgid "Ignore case" #~ msgstr "Ignorera stora/små" #~ msgid "\tIn directory..." #~ msgstr "\tI katalog..." #~ msgid "Re&store from trash" #~ msgstr "Åter&ställ från papperskorgen" xfe-1.42/po/ChangeLog0000644000175100017510000000143011444154372011340 000000000000002007-03-09 gettextize * Makefile.in.in: New file, from gettext-0.16.1. 2005-12-16 gettextize * Makefile.in.in: Upgrade to gettext-0.14.5. * Rules-quot: Upgrade to gettext-0.14.5. 2003-12-19 gettextize * Makefile.in.in: Upgrade to gettext-0.12.1. 2003-04-09 gettextize * Makefile.in.in: New file, from gettext-0.11.1. * boldquot.sed: New file, from gettext-0.11.1. * en@boldquot.header: New file, from gettext-0.11.1. * en@quot.header: New file, from gettext-0.11.1. * insert-header.sin: New file, from gettext-0.11.1. * quot.sed: New file, from gettext-0.11.1. * remove-potcdate.sin: New file, from gettext-0.11.1. * Rules-quot: New file, from gettext-0.11.1. xfe-1.42/po/POTFILES.in0000644000175100017510000000132112435056054011341 00000000000000src/main.cpp src/Properties.cpp src/DirList.cpp src/DirPanel.cpp src/File.cpp src/FileDialog.cpp src/FontDialog.cpp src/MessageBox.cpp src/IconList.cpp src/FileList.cpp src/FilePanel.cpp src/Bookmarks.cpp src/CommandWindow.cpp src/HistInputDialog.cpp src/InputDialog.cpp src/BrowseInputDialog.cpp src/ArchInputDialog.cpp src/Preferences.cpp src/OverwriteBox.cpp src/ExecuteBox.cpp src/TextWindow.cpp src/SearchPanel.cpp src/SearchWindow.cpp src/XFileExplorer.cpp src/XFilePackage.cpp src/XFileImage.cpp src/WriteWindow.cpp src/XFileWrite.cpp src/foxhacks.cpp src/help.h src/Keybindings.cpp src/KeybindingsDialog.cpp src/startupnotification.cpp src/xfeutils.cpp xfe.desktop.in xfi.desktop.in xfw.desktop.in xfp.desktop.in xfe-1.42/po/xfe.pot0000644000175100017510000041725712746115274011122 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "" #: ../src/Properties.cpp:66 msgid "Others" msgstr "" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "" #: ../src/Properties.cpp:244 msgid "View:" msgstr "" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 msgid "Link to " msgstr "" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "" #: ../src/Properties.cpp:1233 msgid "Change properties of the selected folder?" msgstr "" #: ../src/Properties.cpp:1237 msgid "Change properties of the selected file?" msgstr "" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 msgid "Confirm Change Properties" msgstr "" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "" #: ../src/Properties.cpp:1382 msgid "Invalid file name, operation cancelled" msgstr "" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 msgid "The / character is not allowed in folder names, operation cancelled" msgstr "" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 msgid "The / character is not allowed in file names, operation cancelled" msgstr "" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "" #: ../src/Properties.cpp:1609 msgid "Apply permissions to the selected items?" msgstr "" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "" #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 msgid "Activate panel" msgstr "" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "" #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "" #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 msgid "Folder name is empty, operation cancelled" msgstr "" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr "" #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr "" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr "" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr "" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "" #: ../src/File.cpp:136 msgid "From:" msgstr "" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "" #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "" #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "" #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "" #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "" #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "" #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 msgid "Delete folder: " msgstr "" #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "" #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "" #: ../src/File.cpp:1189 #, c-format msgid "Destination %s already exists" msgstr "" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, c-format msgid "Can't rename to target %s: %s" msgstr "" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "" #: ../src/File.cpp:1622 ../src/File.cpp:1819 msgid "Folder: " msgstr "" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "" #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "" #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "" #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "" #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "" #: ../src/FileList.cpp:149 msgid "Size" msgstr "" #: ../src/FileList.cpp:150 msgid "Type" msgstr "" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "" #: ../src/FilePanel.cpp:1721 msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "" #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 msgid "Extr&act to folder " msgstr "" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "" #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 msgid "Packages &query " msgstr "" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "" #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 msgid "Compare &sizes" msgstr "" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 msgid "P&roperties" msgstr "" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "" #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 msgid "Sizes of Selected Items" msgstr "" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr "" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr "" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "" #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "" #: ../src/Preferences.cpp:322 msgid "Confirm change properties" msgstr "" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "" #: ../src/Preferences.cpp:328 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "" #: ../src/Preferences.cpp:391 msgid "File comparator:" msgstr "" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 msgid "Mount:" msgstr "" #: ../src/Preferences.cpp:448 msgid "Unmount:" msgstr "" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "" #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr "" #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:976 msgid "View" msgstr "" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 msgid "&Packages query " msgstr "" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "" #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr "" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr "" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr "" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "" #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "" #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "" #: ../src/XFileExplorer.cpp:861 msgid "&Properties" msgstr "" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "" #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "" #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 msgid "About X File Explorer" msgstr "" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 msgid "&Panel" msgstr "" #: ../src/XFileExplorer.cpp:3707 msgid "Execute the command:" msgstr "" #: ../src/XFileExplorer.cpp:3707 msgid "Console mode" msgstr "" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr "" #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "" #: ../src/XFileExplorer.cpp:4038 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "" #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "" #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "" #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "" #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "" #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "" #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "" #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "" #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "" #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "" #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr "" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr "" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr "" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "" #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "" #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "" #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "" #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "" #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "" #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "" #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "" #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "" #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "" #: ../src/WriteWindow.cpp:741 msgid "&New" msgstr "" #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "" #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "" #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "" #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "" #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "" #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "" #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "" #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "" #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "" #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "" #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "" #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "" #: ../src/WriteWindow.cpp:959 msgid "&About X File Write" msgstr "" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr "" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr "" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "" xfe-1.42/po/ja.po0000644000175100017510000060666712746115274010553 00000000000000msgid "" msgstr "" "Project-Id-Version: XFE 1.19.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2008-08-30 08:48+0900\n" "Last-Translator: Karl Skewes \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Japanese\n" "X-Poedit-Country: JAPAN\n" "X-Poedit-SourceCharset: UTF-8\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "使用法: xfe [オプション] [ディレクトリ] \n" "\n" " [オプション] は以下の通りです:\n" "\n" " -h, --help この使い方を表示して終了。\n" " -v, --version バージョンを表示して終了。\n" " -i, --iconic アイコンで実行する。\n" " -m, --maximized 最大化で実行する。\n" " -p n, --panel n パネルビューモードを強制する。選択は n(n=0 => ト" "リーとパネル一つ,\n" " n=1 => パネル一つ, n=2 => パネル二つ, n=3 => ト" "リーとパネル二つ).\n" "\n" " [ディレクトリ] はXFEが起動時の読み込みディレクトリです。\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "アイコンをローディングの間にエラーが発生しました" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "あるアイコンがロードできませんので、アイコンパスを確認してください!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "ユーザー" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "読込" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "書込" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "実行" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "グループ" #: ../src/Properties.cpp:66 msgid "Others" msgstr "他の人達" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "所有者" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "コマンド" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "点を指定する" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "再帰的に" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "点を外す" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "ファイルとフォルダ" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "点がされた項目を追加する" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "フォルダのみ" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "所有者のみ" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "ファイルのみ" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "プロパティ" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "アクセプト(&A)" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "キャンセル(&C)" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "一般(&G)" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "アクセス権(&P)" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "ファイルの関連性(&F)" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "拡張子" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "記述:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "開く:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tファイルを選択..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "表示:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "編集:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "展開:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "インストール/アップグレード" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "大きいアイコン:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "小さいアイコン:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "名前" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> 注意: ファイル名前はUTF-8エンコードではありません!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "ファイルシステム(%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "フォルダ" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "キャラクターデバイス" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "ブロックデバイス" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "ネームドパイプ" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "ソケット" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "実行可能" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "ドキュメント" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "ブロークンリンク:" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "リンク" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "マウントポイント" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "マウントタイプ" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "使用:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "空き容量" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "ファイルシステム:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "ロケーション:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "種類:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "サイズ合計:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "リンク:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "ブロークンリンク:" #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tロケーションバーを消去する\tロケーションバーを消去します" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "ファイル日時:" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "変更日時:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "修理日時:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "アクセス日時:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "削除日時:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu バイト)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu バイト)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "サイズ:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "選択:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "マルチプルタイプ" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr " 個アイテム" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "プロパティ" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "注意" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "移動オペレーションがキャンセルされました!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "エラー" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "%s というフォルダの存在がありません" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "名前の変更" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "ファイルの所有者" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "所有者の変更がキャンセルされました!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown %s 失敗しました: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown %s 失敗しました" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod %s 失敗しました: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "アクセス権" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "アクセス権の変更がキャンセルされました!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod %s 失敗しました" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " 含まれる1個アイテムが選択されています" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "アクセス権の変更がキャンセルされました!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "実行可能ファイルを選択" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "すべてファイル" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG イメージ" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF イメージ" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP イメージ" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "アイコンファイルを選択" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "合計: %d 個のアイテム、%d フォルダ、%d ファイル。" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "ここにコピー" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "ここに移動" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "ここにリンク" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "キャンセル" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "ファイルコピー" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "ファイル移動" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "ファイルシムリンク" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "コピー" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "ファイル/フォルダ。\n" "フロム:" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "移動" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "ファイル/フォルダ。\n" "フロム:" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "シムリンク" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "指定場所" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "移動の間にエラーが発生しました!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "移動オペレーションがキャンセルされました!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "コピーの間にエラーが発生しました!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "コピーオペレーションがキャンセルされました!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "マウントポイント(%s) が応答していません..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "フォルダとリンク" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "フォルダ" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Show hidden folders" msgstr "\t隠しフォルダを表示する(Ctrl-F5)" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "隠しフォルダ(&H)" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "ルートに0バイトがあります" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "%s を読込のは禁止です" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "新規フォルダ(&F)..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "隠しフォルダ(&H)" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "大/小文字を区別しない(&A)" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "ソート順を反転(&R)" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "トリーを展開(&X)" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "トリーを縮小(&S)" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "パネル(&L)" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "マウント(&O)" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "アンマウント(&T)" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "書庫へ追加(&A)..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "コピー(&C)" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "切り取り(&U)" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "貼り付け(&P)" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "名前の変更(&N)..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "コピー(&Y)..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "移動(&M)..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "シムリンク(&K)..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "ゴミ箱へ移動(&V)" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "ゴミ箱から削除されます" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "削除(&D)" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "プロパティ(&E)" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "書庫を作成" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "コピー" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "名前の変更" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "名前の変更" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "コピー" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "移動" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "シムリンク" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "フロム:" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s はフォルダではありません" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "シムリンクの間にエラーが発生しました!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "シムリンクオペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "永久に削除されます" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "削除されます" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "ファイルを削除" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " の内容が空ではありませんが、削除されますか?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " は書込禁止ですが、削除されますか?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "フォルダを削除オペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "ゴミ箱へ移動" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "ゴミ箱へ移動されます" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "ゴミ箱へ移動" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " は書込禁止ですが、ゴミ箱へ移動されますか?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "ゴミ箱へ移動の間にエラーが発生しました!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "ゴミ箱から削除されます" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "削除されます" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "%s というファイルを削除できません" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "ゴミ箱へ移動の間にエラーが発生しました!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "フォルダを作成:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "新しいフォルダ" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "コマンドを実行" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "マウント" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "アンマウント" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " ファイルシステム..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " フォルダ:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " オペレーションキャンセルされました!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " ルートに" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "ソース:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "ターゲット:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "変更日時:" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "変更日時:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "削除:" #: ../src/File.cpp:136 msgid "From:" msgstr "フロム:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "アクセス権の変更中..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "ファイル:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "所有者の変更中..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "ファイルシステムをマウント中..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "フォルダをマウント:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "ファイルシステムをアンマウント中..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "フォルダをアンマウント:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " すでに存在します。上書きされますか?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "上書きされます" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "ファイルをコピーできません" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "ファイルをコピーできません" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "ソース:" #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "ターゲット:" #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "%s というソースの存在がありません" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "%s というソースはターゲットと同じいです" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "フォルダを削除:" #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "フロム:" #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "%s というファイルを削除できません" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "%s というファイルかフォルダはすでに存在します" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "%s に名前を変更できません" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "シムリンクを作成:" #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "シムリンクを作成:" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "フォルダ:" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "書庫を展開" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "書庫へ追加" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "%s コマンドの実行が失敗されました" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "成功" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "%s フォルダがマウントされました。" #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "%s フォルダがアンマウントされました。" #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "パッケージをインストール/アップグレード" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "パッケージをインストール中:" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "パッケージをアンインストール" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "パッケージをアンインストール中:" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "ファイル名前:(&F)" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "OK(&O)" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "ファイルフィルター:(&I)" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "読込のみ" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\t戻る\t前のフォルダに戻る。" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\t進む\t次のフォルダに進む。" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "ルートディレクトリ" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr " フォルダ:" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tワーキングフォルダに戻る\tワーキングフォルダに戻る。" #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "新しいフォルダ" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "大きいアイコン(&I)" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "小さいアイコン(&S)" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "隠しファイル(&H)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tサムネイルを表示する" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tサムネイルを表示しない" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "新しいフォルダを作成..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "新しいファイルを作成..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "新しいファイル" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "%s というファイルかフォルダはすでに存在します" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "ホーム(&M)" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "ワーク(&W)" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "新しいファイル(&F)..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "新しいフォルダ(&O)..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "隠しファイル(&H)" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "サムネイル(&B)" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "大きいアイコン(&I)" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "小さいアイコン(&S)" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "詳細リスト(&L)" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "行(&R)" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "列(&C)" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "オートサイズ" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "名前(&N)" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "サイズ(&Z)" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "種類(&T)" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "拡張子(&X)" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "日時(&D)" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "ユーザー(&U)" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "グループ(&G)" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "フォルダ" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "ソート順を反転(&R)" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "ファミリー:(&F)" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "太さ:(&W)" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "スタイル:(&S)" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "サイズ:(&Z)" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "文字セット:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "なし" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "西欧" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "東欧" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "南欧" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "北欧" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "シリル文字" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "アラビア語" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "ギリシャ語" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "ヘブライ語" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "トルコ語" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "アイスランド語" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "タイ語" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "バルト語" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "ケルト語" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "ロシア語" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "中欧(cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "ロシア語(cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "ラテン文字1(cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "ギリシャ語(cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "トルコ語(cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "ヘブライ語(cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "アラビア語(cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "バルト語(cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "ベトナム語(cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "タイ語(cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "文字の間隔" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "ウルトラ狭くする" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "エクストラ狭くする" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "狭くする" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "セミ狭くする" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "標準" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "セミ広くする" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "広くする" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "エクストラ広くする" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "ウルトラ広くする" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "文字のピッチ:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "等幅" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "可変長:" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "スケーラブル:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "すべてフォント:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "プレビュー:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tルートとしてXFEを実行(Shift-F3)" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "いいえ(&N)" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "はい(&Y)" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "終了(&Q)" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "保存(&S)" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "すべてはい(&A)" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "ユーザーパスワードを入力してください:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "ルートパスワードを入力してください:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 #, fuzzy msgid "An error has occurred!" msgstr "シムリンクの間にエラーが発生しました!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "名前:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "サイズ:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "種類:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "変更日時:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "ユーザー:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "グループ:" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "アクセス権:" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "削除日時:" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "サイズ:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "サイズ" #: ../src/FileList.cpp:150 msgid "Type" msgstr "種類" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "拡張子" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "変更日時" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "アクセス権" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "イメージをロードできません" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "削除日時" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "フィルター" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "ステータス" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "削除されます" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "コマンドログ" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "ファイル名が指定されてないので、オペレーションがキャンセルされました" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "フォルダへ:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "%s に書込できません、権限がありません" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "ゴミ箱へ移動" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " は書込禁止ですが、ゴミ箱へ移動されますか?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "ゴミ箱へ移動オペレーションがキャンセルされました!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr " 選択されているアイテムがゴミ箱へ移動されますか?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "永久に削除されます" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " 選択されているアイテムが永久に削除されますか?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " は書込禁止ですが、削除されますか?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "ファイルを削除オペレーションがキャンセルされました!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "ファイルを作成:" #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "%s というファイルを削除できません" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "シムリンクを作成:" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "%s に書込できません、権限がありません" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "シムリンクを作成:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "新しいシムリンク" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "シムリンクされるファイル、またはディレクトリーを選択してください" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "%s というシムリンクのソースの存在がありません" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "選択されているファイルをアプリで開く:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "アプリで開く" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "関連付ける(&S)" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "ファイルを表示する:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "新しいファイル(&F)..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "新しいシムリンク(&Y)..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "フィルター(&L)..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "詳細リスト(&F)" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "アクセス権(&M)" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "新しいファイル(&W)..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "マウント(&M)" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "アプリで開く(&W)..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "開く(&O)" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "フォルダに展開(&A)" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "ここに展開(&E)" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "指定場所に展開(&X)..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "表示(&V)" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "インストール/アップグレード(&G)" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "アンインストール(&I)" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "編集(&E)" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "置換(&R)" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "パッケージに検索" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "記述(&D)" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "ルートディレクトリ" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "指定場所にコピー(&T)..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "ゴミ箱へ移動" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "ゴミ箱から削除されます" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "ソース:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "プロパティ" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "\t目的地を選択..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "すべてファイル" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "パッケージをインストール/アップグレード" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "パッケージをアンインストール" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "%s というファイルを削除できません" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "互換性があるパッケージマネージャ(RPMかDPKG)が見つかりませんでした!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " が属しているパッケージは:" #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "情報" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " が属しているパッケージは:" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " 個アイテムが選択されています" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 バイト" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr " 含まれる1個アイテムが選択されています" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr " 個アイテム" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr " 個アイテム" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "リンク" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr " - フィルター:" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "ブックマーク数限定です。最後のブックマークが削除されます..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "ブックマークの消去(&C)" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "本当にXFEを終了されますか?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "閉じる(&O)" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "%s というファイルを削除できません" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "%s というファイルを削除できません" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> コマンドがキャンセルされました <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> コマンドの終わり <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\t目的地を選択..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "ファイルを選択" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "ファイル、又は目的地のディレクトリーを選択" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "書庫へ追加" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "新しい書庫名前:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "フォーマット:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tのアーカイブフォーマットは tar.gz です" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tのアーカイブフォーマットは zip です" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tのアーカイブフォーマットは 7z です" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tのアーカイブフォーマットは tar.bz2 です" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\tのアーカイブフォーマットは tar.gz です" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tのアーカイブフォーマットは tar です" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tのアーカイブフォーマットは tar.Z です" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tのアーカイブフォーマットは gz です" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tのアーカイブフォーマットは bz2 です" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "7z\tのアーカイブフォーマットは 7z です" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tのアーカイブフォーマットは Z です" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "設定" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "現在のテーマ" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "設定" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "ゴミ箱を経由して削除する(安全削除)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "ゴミ箱を経由せずコマンドを許可する(永久削除)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "レイアウトが自動的に保存する" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "シングルクリックでファイルを開く" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "シングルクリックでファイルを開く" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "ファイルとディレクトリーリストするときキャプションを表示する" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "ファイルリストを相対的にリサイズする" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "ファイルリストの上にパスリンカを表示する" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " フォルダ:" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "ルートディレクトリ" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "ファイルリストをスムーズでスクロールする" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "マウス加速度:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "ルートモード" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "ルートモード" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "suで認証する(ルートのパスワードを使用)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "sudoで認証する(ユーザーのパスワードを使用)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "ダイアログ(&D)" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "確認" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "コピー・移動・名前の変更・シムリンクを確認する" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "ドラッグアンドドロップを確認する" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "削除されます" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "内容が空ではないディレクトリーの削除を確認する" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "上書きを確認する" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "削除されます" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "プロパティ" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "警告メッセージ" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "マウントポイントが応答していないとき" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "マウント・アンマウントの結果メッセージを表示する" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "ルートとして実行しているとき" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "プログラム(&P)" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "既定のプログラム:" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "テキストビューアー:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "テキストエディター:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "アクセス権" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "イメージエディター:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "書庫マネージャ:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "テキストビューアー:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "イメージビューアー:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "ターミナルプログラム:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "マウント" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "アンマウント" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "テーマ(&T)" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "色のテーマ" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "カスタムの色" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "ダブルクリックすると色がカスタマイ出来る" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "ベース色" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "枠線の色" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "背景色" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "ベース色" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "選択の背景色" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "選択の前傾色" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "ファイルリストの背景色" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "ファイルリストの圧巻色" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "ファイルリストの圧巻色" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "枠線の色" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "ベース色" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "枠線の色" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "コントロール" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "アイコンテーマパス" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tパスを選択..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "フォント(&F)" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "フォント" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "ノーマルフォント:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " 選択..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "テキストフォント:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "アイコンテーマディレクトリーかアイコンファイルを選択してください" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "ノーマルフォントの変更" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "テキストフォントの変更" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "ファイルを作成:" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "フォルダを作成:" #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "コピー(&C)\tCtrl-C\t選択をクリップボードにコピーする。(Ctrl-C)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "切り取り(&T)\tCtrl-X\t選択をクリップボードに切り取る。(Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tクリップボードから貼り付け(Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "ファイルを開く(&O)...\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "すべて選択(&A)" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "すべて選択を解除(&D)\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "選択を逆にする(&I)\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "ツールバー(&T)\t\tツールバーを表示" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tサムネイルを表示する" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "新しいウィンドー(&W)\tF3" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "印刷" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "検索" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "検索する文字列:" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "検索" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "左パネル(&L)" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "シムリンクを作成:" #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "プロパティ" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "ゴミ箱へ移動" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "ゴミ箱から削除されます" #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "フォルダを削除:" #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "ファイルを作成:" #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "新しいルートウィンドー(&R)\tShift-F3" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "コマンドを実行" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "\tXFEを実行(F3)" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "ファイルシステムをマウント中..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "ファイルシステムをアンマウント中..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "左パネル(&L)" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "トリーとパネル(&R)\tCtrl-F2" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "パネル2個(&P)\tCtrl-F3" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "トリーとパネル2個(&E)\tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tロケーションバーを消去する\tロケーションバーを消去します" #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "名前の変更" #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "ブックマークの追加" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "パネルを同期する\tCtrl-Y" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "ゴミ箱へ移動" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "ゴミ箱を空にする" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "表示:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "編集:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "\t隠しファイルを表示する(Ctrl-F6)" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "ファイル日時:" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "行へ移動" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "新しいフォルダを作成..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "%s をファイルに保存しますか?" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "行へ移動" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "元に戻す(&U)\tCtrl-Z\t元に戻す。(Ctrl-Z)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "元に戻す(&U)\tCtrl-Z\t元に戻す。(Ctrl-Z)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "置換" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "折り返し(&W)\tCtrl-K\t折り返しを行う。(Ctrl-K)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "行番号を表示(&L)\tCtrl-L\t行番号を表示する。(Ctrl-T)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "重ね打ち(&O)\t\t重ね打ちを行う。" #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "重ね打ち(&O)\t\t重ね打ちを行う。" #. Confirmation message #: ../src/Preferences.cpp:1088 #, fuzzy msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "本当にゴミ箱を空にされますか?\n" "\n" "すべてアイテムが永久に削除されます!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "再起動" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "テキストの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "スクロールモードの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "テーマの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "パースリンカーの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "ボタンスタイルの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "ノーマルフォントの変更は、再起動の後で有効になります。\n" "今X File Explorerが再起動されますか?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "テキストの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "スキップ(&S)" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "すべてスキップ(&L)" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "ソース:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "変更日時:" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "ターゲット:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "実行" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "コンソールモード" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "閉じる(&C)" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "左パネル(&L)" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\t選択されているファイルをクリップボードにコピー(Ctrl-C)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\t選択されているファイルをクリップボードに切り取り(Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\t選択されているファイルのプロパティを表示(F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\t選択されているファイルを永久に削除(Shift-Del)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "詳細リスト(&U)" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "大/小文字を区別しない(&G)" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 #, fuzzy msgid "&Autosize" msgstr "オートサイズ" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "パッケージに検索" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "ルートディレクトリ" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "フロム:" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " 個アイテム" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "印刷" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "フォルダへ:" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "新規フォルダ(&F)..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "テキストフォント:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "印刷" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "サイズ合計:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "変更日時:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "変更日時:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "ユーザー:" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "ファイル日時:" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "グループ:" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "ファイル日時:" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "ファイルシステム:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "ファイル:" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "ファイル日時:" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "アクセス権:" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "アクセス権" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "ファイルを表示する:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "ファイルを表示する:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "シムリンクを作成:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "シムリンクを作成:" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "再帰的に" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "ファイルシステムをアンマウント中..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "検索する文字列:" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "検索" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "\tパスを選択..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "シムリンクを作成:" #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #: ../src/XFileExplorer.cpp:678 #, fuzzy msgid "Launch Xfe" msgstr "\tXFEを実行(F3)" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tパネルを一つを表示する(Ctrl-F1)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tトリーとパネルを表示する(Ctrl-F2)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tパネルを二つ表示する(Ctrl-F3)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tトリーとパネルを二つ表示する(Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tロケーションバーを消去する\tロケーションバーを消去します" #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\t指定場所を開く\t指定場所を開きます。" #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "新規フォルダ(&F)..." #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "ホーム(&M)" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "再読込(&R)\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "コピー(&Y)..." #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "シムリンク(&K)..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "プロパティ" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "ファイル(&F)" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "すべて選択(&A)" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "すべて選択を解除(&D)\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "選択を逆にする(&I)\tCtrl-I" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "設定(&R)" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "ジェネラルツールバー(&G)" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "ツールのツールバー(&T)" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "パネルツールバー(&P)" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "ロケーションバー(&L)" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "ステータスバー(&S)" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "左パネル(&L)" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "トリーとパネル(&R)\tCtrl-F2" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "パネル2個(&P)\tCtrl-F3" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "トリーとパネル2個(&E)\tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "ブックマークの追加" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "ブックマークの消去(&C)" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "ブックマーク(&B)" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "フィルター(&F)..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "サムネイル(&T)" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "大きいアイコン(&B)" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "種類(&Y)" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "日時(&A)" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "ユーザー(&E)" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "グループ(&O)" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "フォルダ" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "左パネル(&L)" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "フィルター(&F)" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "フォルダ" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "右パネル(&R)" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "新しいウィンドー(&W)\tF3" #: ../src/XFileExplorer.cpp:1064 #, fuzzy msgid "New &root window" msgstr "新しいルートウィンドー(&R)\tShift-F3" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "コマンドを実行" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "ターミナルプログラム:" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "パネルを同期する\tCtrl-Y" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "パネルを切り替え(&I)\tCtrl-P" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "ルートディレクトリ" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "検索(&S)" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "アンマウント" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "ツール(&T)" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "ゴミ箱へ移動" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "サイズ合計:" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "ゴミ箱を空にする" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "ゴミ箱(&R)" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "ヘルプ(&H)" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "X File Explorerについて(&A)" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "注意:ルートとしてXFEを実行しています!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "グローバルxfercファイルが見つかりません!コンフィグファイルを選択してくださ" "い..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFEのコンフィグレーションファイル" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "ヘルプ" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorerのバーション" #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "\n" "\n" "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)\n" "\n" "Based on X WinCommander by Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "X File Explorerについて(&A)" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "パネル(&P)" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "指定コマンドを実行:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "コンソールモード" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "本当にXFEを終了されますか?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " が含まれる" #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "本当にゴミ箱を空にされますか?\n" "\n" "すべてアイテムが永久に削除されます!" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "変更日時:" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "サイズ合計:" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "内容が空ではない %s フォルダを上書きできません" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "%s というファイルを削除できません" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "ファイルの関連性(&F)" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "ファイルの関連性(&F)" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "設定(&P)" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tパッケージファイルを開く(Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "開く(&O)" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "ツールのツールバー(&T)" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "X File Packageについて" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "アンインストール(&U)" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "インストール/アップグレード(&I)" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "記述(&D)" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "ファイルリスト(&L)" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "は単純なRPM・DEBのパッケージマネージャです。\n" "\n" "Copyright (C) 2002-2008 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "X File Packageについて" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPMソースパッケージ" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPMパッケージ" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEBパッケージ" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "ドキュメントを開く" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "パッケージがロードされていません" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "パッケージフォーマットは不明です" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "パッケージをインストール/アップグレード" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "パッケージをアンインストール" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM パッケージ]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB パッケージ]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "問い合わせされた %s が失敗しました!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "ファイルをローディングの間にエラーが発生しました" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "開けなかったファイル: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "使用法: xfp [オプション] [パッケージ] \n" "\n" " [オプション] は以下の通りです:\n" "\n" " -h, --help この使い方を表示して終了。\n" " -v, --version バージョンを表示して終了。\n" "\n" " [パッケージ] はXFPが起動時の読み込みRPMかDEBパッケージのパスです。\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF イメージ" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP イメージ" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM イメージ" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX イメージ" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO イメージ" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB イメージ" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM イメージ" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA イメージ" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM イメージ" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG イメージ" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG イメージ" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF イメージ" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "イメージ(&I)" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "開く:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "イメージを開く" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "印刷" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "行へ移動" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "行へ移動" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "印刷" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "履歴の消去(&C)\t\t最近使ったファイルの履歴を消去する。" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "履歴の消去(&C)\t\t最近使ったファイルの履歴を消去する。" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "XFEを終了されています" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "" "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tサムネイルを表示する" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tアイコン表示\tフォルダの内容を大きいアイコンで表示します。" #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tリスト表示\tフォルダの内容を小さいアイコンで表示します。" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "詳細リスト(&L)" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\t詳細表示\tフォルダの内容を詳細リスト表示します。" #: ../src/XFileImage.cpp:739 #, fuzzy msgid "View icons row-wise." msgstr "アイコンを列で表示(&R)\t\tアイコンを列に表示する。" #: ../src/XFileImage.cpp:740 #, fuzzy msgid "View icons column-wise." msgstr "アイコンを行で表示(&C)\t\tアイコンを行に表示する。" #: ../src/XFileImage.cpp:741 #, fuzzy msgid "Autosize icon names." msgstr "オートサイズ(&)\t\tアイコン名前をオートサイズする。" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "ツールバー(&T)\t\tツールバーを表示。" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "詳細リスト(&F)" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "ファイルリストの圧巻色" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tアイコン表示\tフォルダの内容を大きいアイコンで表示します。" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "ファイル日時:" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "ファイルリスト(&F)\t\tファイルリストを表示。" #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "" "開く時にウィンドウにフィット(&W)\t\tイメージを開く時にウィンドウにフィットす" "る。" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "X File Imageについて" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "X File Imageについて" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "X File Imageについて" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "イメージをローディングの間にエラーが発生しました" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "サポートされてないタイプ: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "イメージをロードできませんでした、おそらくファイルが壊れています" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "テキストの変更は、再起動の後で有効になります。\n" "X File Explorerが再起動されますか?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "イメージを開く" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "印刷コマンド: \n" "(ex: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "使用法: xfi [オプション] [イメージ] \n" "\n" " [オプション] は以下の通りです:\n" "\n" " -h, --help この使い方を表示して終了。\n" " -v, --version バージョンを表示して終了。\n" "\n" " [イメージ] はXFIが起動時の読み込みファイルのパスです。\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWriteの設定" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "エディター(&E)" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "テキスト" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "折り返し余白:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "タブ幅:" #: ../src/WriteWindow.cpp:212 #, fuzzy msgid "Strip carriage returns:" msgstr "改行記号の除去:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "色(&C)" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "行" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "背景:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "テキスト:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "選択されているテキスト背景:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "選択されているテキスト:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "圧巻されているテキスト背景:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "圧巻されているテキスト:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "カーソル:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "背景にある行番号:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "前景にある行番号:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "検索(&S)" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "ウィンドウ(&W)" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " 行:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " 列:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " 行:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "新しいフォルダを作成..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "ドキュメントを開く" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "保存(&S)" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "ドキュメントを保存" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "閉じる(&O)" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\t閉じる(Ctrl-W)\tドキュメントを閉じる。(Ctrl-W)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "ドキュメントを上書き" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "終了(&Q)" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "X File Writeについて" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "コピー(&C)\tCtrl-C\t選択をクリップボードにコピーする。(Ctrl-C)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "切り取り(&U)" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "切り取り(&T)\tCtrl-X\t選択をクリップボードに切り取る。(Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "貼り付け(&P)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tクリップボードから貼り付け(Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "元に戻す(&U)" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "元に戻す(&U)\tCtrl-Z\t元に戻す。(Ctrl-Z)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "やり直す(&R)" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "検索" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "選択の背景色" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search forward for selected text." msgstr "前方に検索(&F)\tCtrl-G\t前方に文字列を検索する。(Ctrl-G, F3)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "折り返し(&W)\tCtrl-K\t折り返しを行う。(Ctrl-K)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "折り返し(&W)\tCtrl-K\t折り返しを行う。(Ctrl-K)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers" msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers." msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "新しいファイル(&F)..." #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "%s をファイルに保存しますか?" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "名前を付けて保存(&A)...\t\t名前を付けて保存する。" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "保存されてないドキュメント" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "履歴の消去(&C)\t\t最近使ったファイルの履歴を消去する。" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "元に戻す(&U)" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "やり直す(&R)" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to &saved" msgstr "保存状態に戻す(&S)\t\t保存状態に戻す。" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "ドキュメントを保存" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "切り取り(&T)" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tクリップボードから貼り付け(Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "所有者の変更がキャンセルされました!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "所有者の変更がキャンセルされました!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "行へ移動" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "すべて選択(&A)" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "ステータスバー(&S)" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "ステータスライン(&S)\t\tステータスラインを表示する。" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "検索(&S)" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "検索する文字列:" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "置換(&R)" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "置換(&R)...\tCtrl-R\t文字列を検索して、置換する。(Ctrl-R)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "検索する文字列:" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "折り返し(&W)\tCtrl-K\t折り返しを行う。(Ctrl-K)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "行番号へ移動(&G):" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "行番号を表示(&L)\tCtrl-L\t行番号を表示する。(Ctrl-T)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "重ね打ち(&O)\t\t重ね打ちを行う。" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "フォント(&F)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "テキストフォントの変更" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "設定(&R)" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "他の設定(&M)...\t\t他の設定を変更する。" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "X File Writeについて" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "X File Writeについて" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "ファイルが大きすぎます: %s(%d バイト)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "読込できないファイル: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "ファイルを保存の間にエラーが発生しました" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "ファイルが大きすぎます: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "ファイル:%s が切り詰められました。" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "無題" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "無題 %d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "X File Writeについて" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "フォントの変更" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "テキストファイル" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Cソースファイル" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ソースファイル" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ヘッダーファイル" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTMLファイル" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHPファイル" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "保存されてないドキュメント" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "%s をファイルに保存しますか?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "ドキュメントを保存" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "ドキュメントを上書き" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "既存ドキュメント: %s を上書きされますか?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr "(変更済み)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "読込のみ" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "上書き" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "挿入" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "ファイルが変更されました" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "%s\t別なプログラムで変更されました。ディスクから再読込されますか?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "置換" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "行へ移動" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "行番号へ移動(&G):" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "使用法: xfw [オプション] [ファイル1] [ファイル2] [ファイル3]...\n" "\n" " [オプション] は以下の通りです:\n" "\n" " -h, --help この使い方を表示して終了。\n" " -v, --version バージョンを表示して終了。\n" "\n" " [ファイル1] [ファイル2] [ファイル3]... はXFWが起動時の読み込みファイル" "のパスです。\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "ルートモード" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "レディ" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "置換(&R)" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "すべて置換(&P)" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "検索する文字列:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "置換する文字列" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "正確に(&A)" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "大文字と小文字を区別しない(&I)" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "正規表現(&X)" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "後方に(&B)" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " XFE, X File Explorer File Manager\n" " \n" " Copyright (C) 2002-2008 Roland Baudin\n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " "Software Foundation; either version 2, or (at your option) any later " "version.\n" " \n" " \n" " This program is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " "FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " "more details.\n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, written by " "Maxim Baranov.\n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a directory tree\n" " and one panel, c) two panels and d) a directory tree and two panels\n" " - Panels synchronization and switching\n" " - Integrated text editor (X File Write, xfw)\n" " - Integrated text viewer (X File View, xfv)\n" " - Integrated image viewer (X File Image, xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, xfp)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (trash can directory is " "~/.xfe/trash)\n" " - Auto save registry\n" " - Double click or single click files and directories navigation\n" " - Right mouse click pop-up menu in tree list and file list\n" " - Change file(s) attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for directory navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Control themes (flat or rounded gradient)\n" " - Create/Extract archives (tar, zip, gzip, bzip2, lzh, rar compress " "formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - and much more...\n" " \n" " \n" " ホットキー:\n" " =-=-=-=-=-=\n" " \n" " o ヘルプ   - F1\n" " o 新規ファイル - F2\n" " o 新規ウィンドウ - F3\n" " o 新規ルートウィンドウ - Shift-F3\n" " o 表示   - return\n" " o 編集   - F4\n" " o コピー - Ctrl-c\n" " o 指定場所にコピー - F5, Ctrl-k\n" " o 切り取り - Ctrl-x\n" " o 貼り付け - Ctrl-v\n" " o 移動   - F6, Ctrl-d\n" " o 指定場所にシムリンク - Ctrl-s\n" " o 名前の変更 - Ctrl-n\n" " o 新規フォルダ - F7\n" " o 開く - Ctrl-o\n" " o ゴミ箱へ移動 - F8, del\n" " o 削除 - Shift-del\n" " o ゴミ箱を空にする - Ctrl-del\n" " o ゴミ箱へ行く - Ctrl-F8\n" " o 親に行く - backspace\n" " o 戻る - Ctrl-backspace\n" " o 進む - Shift-backspace\n" " o プロパティ - F9\n" " o パネル一つ - Ctrl-F1\n" " o トリーとパネル一つ - Ctrl-F2\n" " o パネル二つ - Ctrl-F3\n" " o トリーとパネル二つ - Ctrl-F4\n" " o パネルを同時する       - Ctrl-y\n" " o 大きいアイコン - F10\n" " o 小さいアイコン - F11\n" " o 詳細リスト - F12\n" " o 隠しフォルダ - Ctrl-F5\n" " o 隠しファイル - Ctrl-F6\n" " o サムネイル付リービュー - Ctrl-F7\n" " o 実行 - Ctrl-e\n" " o ホームに戻る - Ctrl-h\n" " o ターミナル - Ctrl-t\n" " o 再読込 - Ctrl-r\n" " o すべて選択 - Ctrl-a\n" " o すべて選択を解除 - Ctrl-z\n" " o 選択を逆にする - Ctrl-i\n" " o ブックマークの追加 - Ctrl-b\n" " o マウント(Linuxのみ) - Ctrl-m\n" " o アンマウント(Linuxのみ) - Ctrl-u\n" " o ファイルパネルコンテキストメニューを開く - Shift-F10\n" " o 終了 - Ctrl-q, Ctrl-w\n" "\n" " \n" " Drag and Drop operations :\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed) to a directory or a file panel optionally opens a " "dialog that allows to select the file operation : copy, move, link or " "cancel.\n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " From version 0.98 and above, the configuration scheme was changed. It is " "now independent of the FOX registry and should be more simple and " "intuitive.\n" " \n" " You can perform any Xfe customization (layout, file associations, ...) " "without editing any file by hand. However, you may want to understand the " "configuration principles, because some customizations can easily be done by " "editing the configurations files.\n" " Be careful to quit Xfe before hand editing any configuration file, " "otherwise changes could not be taken into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /usr/" "local/share/xfe or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " The local configuration files for Xfe, Xfw, Xfv, Xfi, Xfp are located in " "the ~/.xfe directory. They are named xferc, xfwrc, xfvrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file ~/.xfe/xferc which does not exists yet. If " "the system-wide configuration file is not found (in case of an unusal " "install place), a dialog asks the user to select the right place. It is thus " "easier to customize Xfe (this is particularly true for the file " "associations) by hand editing because all the local options are located in " "the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending on your installation.\n" " You can easily change the icon theme path in Preferences->Themes->Icon " "theme path.\n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse\n" " on the folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the selected " "folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder\n" " to expand it\n" " \n" " Copy/Paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog, press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report bugs to Roland Baudin .\n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 18 languages. To translate Xfe to your language, " "open with a software like poedit, kbabel or gtranslator the xfe.pot file in " "the po directory of the source tree and fill it with your translated " "strings, and then send it back to me.\n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have done some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " [Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful patches,\n" " tests and advices.]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "%s というファイルを削除できません" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "%s というファイルを削除できません" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "ルートディレクトリ" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "コマンドを実行" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "%s ディレクトリーが閉じられません\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "バイト" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "ファイルコピー" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "%s というファイルを削除できません" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "ルートディレクトリ" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "ファイルの所有者" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "イメージビューアー:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "テキストエディター:" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "パッケージに検索" #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "互換性があるパッケージマネージャ(RPMかDPKG)が見つかりませんでした!" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tパネルを二つ表示する(Ctrl-F3)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "フォルダ" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "フォルダ" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "上書きを確認する" #~ msgid "P&roperties..." #~ msgstr "プロパティ(&P)..." #, fuzzy #~ msgid "&Properties..." #~ msgstr "プロパティ(&P)..." #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "X File Writeについて" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "コマンドを実行" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #~ msgid "Delete: " #~ msgstr "削除:" #~ msgid "File: " #~ msgstr "ファイル:" #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "X File Explorerについて" #, fuzzy #~ msgid "&Right panel " #~ msgstr "右パネル(&R)" #, fuzzy #~ msgid "&Left panel " #~ msgstr "左パネル(&L)" #, fuzzy #~ msgid "Error " #~ msgstr "エラー" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Execute command " #~ msgstr "コマンドを実行" #, fuzzy #~ msgid "Command log " #~ msgstr "コマンドログ" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "内容が空ではない %s フォルダを上書きできません" #~ msgid "Non-existing file: %s" #~ msgstr "存在がないファイル:%s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "%s に名前を変更できません" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "マウス加速度:" #~ msgid "Mouse" #~ msgstr "マウス" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "変更日時:" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "変更日時:" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "" #~ "あるアイコンがロードできませんので、アイコンパスを確認してください!" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\t戻る\t前のフォルダに戻る。" #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\t進む\t次のフォルダに進む。" #, fuzzy #~ msgid "Go up one folder" #~ msgstr "フォルダをマウント:" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\t親フォルダを開く\t親フォルダを開く。" #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tホームに戻る\tホームに戻る。" #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tワーキングフォルダに戻る\tワーキングフォルダに戻る。" #, fuzzy #~ msgid "Show icons" #~ msgstr "ファイルを表示する:" #, fuzzy #~ msgid "Show list" #~ msgstr "ファイルを表示する:" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tリスト表示\tフォルダの内容を小さいアイコンで表示します。" #, fuzzy #~ msgid "Show details" #~ msgstr "\tサムネイルを表示する" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "使用法: xfv [オプション] [ファイル名1] [ファイル名2] [ファイル名3]...\n" #~ "\n" #~ " [オプション] は以下の通りです:\n" #~ "\n" #~ " -h, --help この使い方を表示して終了。\n" #~ " -v, --version バージョンを表示して終了。\n" #~ "\n" #~ " [ファイル名1] [ファイル名2] [ファイル名3]...はXFVが起動時の読み込み" #~ "ファイルのパスです。\n" #~ "\n" #~ msgid "Col:" #~ msgstr "行:" #~ msgid "Line:" #~ msgstr "列:" #, fuzzy #~ msgid "Open document." #~ msgstr "ドキュメントを開く" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "XFEを終了されています" #~ msgid "Find" #~ msgstr "検索" #, fuzzy #~ msgid "Find string again." #~ msgstr "\t検索(Ctrl-F)\tドキュメントに文字列を検索する。(Ctrl-F)" #, fuzzy #~ msgid "&Find..." #~ msgstr "検索(&F)" #, fuzzy #~ msgid "Find a string in a document." #~ msgstr "\t検索(Ctrl-F)\tドキュメントに文字列を検索する。(Ctrl-F)" #, fuzzy #~ msgid "Display status bar." #~ msgstr "ステータスバー(&S)\t\tステータスバーを表示する." #, fuzzy #~ msgid "&About X File View" #~ msgstr "X File Viewについて" #, fuzzy #~ msgid "About X File View." #~ msgstr "X File Viewについて" #~ msgid "About X File View" #~ msgstr "X File Viewについて" #~ msgid "Error Reading File" #~ msgstr "ファイルを読込の間にエラーが発生しました" #~ msgid "Unable to load entire file: %s" #~ msgstr "全体を読込できないファイル: %s" #~ msgid "&Find" #~ msgstr "検索(&F)" #~ msgid "Not Found" #~ msgstr "見つかりません" #~ msgid "String '%s' not found" #~ msgstr "検索文字列 '%s' が見つかりません" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "テキストビューアー:" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "Ignore case" #~ msgstr "大/小文字を区別しない(&G)" #, fuzzy #~ msgid "In directory:" #~ msgstr "ルートディレクトリ" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "ルートディレクトリ" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "ゴミ箱から削除されます" #, fuzzy #~ msgid "File size at least:" #~ msgstr "ファイルとフォルダ" #, fuzzy #~ msgid "File size at most:" #~ msgstr "ファイルの関連性(&F)" #, fuzzy #~ msgid " Items" #~ msgstr " 個アイテム" #, fuzzy #~ msgid "Search results - " #~ msgstr "検索する文字列:" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tアイコン表示\tフォルダの内容を大きいアイコンで表示します。" #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tリスト表示\tフォルダの内容を小さいアイコンで表示します。" #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\t詳細表示\tフォルダの内容を詳細リスト表示します。" #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tサムネイルを表示する" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tサムネイルを表示しない" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\t選択されているファイルをクリップボードにコピー(Ctrl-C)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\t選択されているファイルをクリップボードに切り取り(Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\t選択されているファイルのプロパティを表示(F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\t選択されているファイルをゴミ箱へ移動(Del.F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\t選択されているファイルを永久に削除(Shift-Del)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "" #~ "隠しファイル(&H)\tCtrl-F6\t隠しファイルとディレクトリを表示する。(Ctrl-F6)" #, fuzzy #~ msgid "Search files..." #~ msgstr "\tファイルを選択..." #~ msgid "Dir&ectories first" #~ msgstr "ディレクトリ最初(&E)" #~ msgid "&Directories first" #~ msgstr "ディレクトリーが最初で(&D)" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "ルートディレクトリ" #, fuzzy #~ msgid "Go to working directory" #~ msgstr "ルートディレクトリ" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\t戻る\t前のフォルダに戻る。" #, fuzzy #~ msgid "Go to next directory" #~ msgstr "ルートディレクトリ" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "%s というファイルを削除できません" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "ルートディレクトリ" #~ msgid "Directory name" #~ msgstr "ディレクトリ名前" #~ msgid "Single click directory open" #~ msgstr "シングルクリックでディレクトリーを開く" #~ msgid "Confirm quit" #~ msgstr "終了を確認する" #~ msgid "Quitting Xfe" #~ msgstr "XFEを終了されています" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "ツールバー(&T)\t\tツールバーを表示" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "ツールバー(&T)\t\tツールバーを表示する。" #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr " 選択されているアイテムがゴミ箱へ移動されますか?" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " 選択されているアイテムが永久に削除されますか?" #, fuzzy #~ msgid "&Execute" #~ msgstr "実行" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tのアーカイブフォーマットは rar です" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tのアーカイブフォーマットは lzh です" #, fuzzy #~ msgid "arj\tArchive format is arj" #~ msgstr "tar\tのアーカイブフォーマットは tar です" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "%s というソースはターゲットと同じいです" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "コピーの間にエラーが発生しました!" #~ msgid "File list: Unknown package format" #~ msgstr "ファイルリスト:パッケージフォーマットは不明です" #~ msgid "Description: Unknown package format" #~ msgstr "記述:パッケージフォーマットは不明です" #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "エラーが発生しました! \n" #~ "注意:ルートモードのためにインストールされているxtermが必要です。" #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires the selection of a valid terminal " #~ "program in the Preferences menu." #~ msgstr "" #~ "エラーが発生しました! \n" #~ "注意:ルートモードのためにインストールされているターミナルが必要です。" #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "エラーが発生しました! \n" #~ "注意:ルートモードのためにインストールされているターミナルが必要です。" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr " の内容が空ではありませんが、移動されますか?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "削除を確認する" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "フロム:" #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "内容が空ではない %s フォルダを上書きできません" #~ msgid "Move folder " #~ msgstr "フォルダを移動" #~ msgid "File " #~ msgstr "ファイル" #~ msgid "Can't copy folder " #~ msgstr "フォルダをコピーできません" #~ msgid ": Permission denied" #~ msgstr " : 権限がありません" #~ msgid "Can't copy file " #~ msgstr "ファイルをコピーできません" #~ msgid "Installing package: " #~ msgstr "パッケージをインストール中:" #~ msgid "Uninstalling package: " #~ msgstr "パッケージをアンインストール中:" #~ msgid " items from: " #~ msgstr "フロム:" #~ msgid " Move " #~ msgstr " 選択されている" #~ msgid " selected items to trash can? " #~ msgstr " 個アイテムがゴミ箱へ移動されますか?" #~ msgid " Definitely delete " #~ msgstr " 選択されている" #~ msgid " selected items? " #~ msgstr " 個アイテムが永久に削除されますか?" #~ msgid " is not empty, delete it anyway?" #~ msgstr " の内容が空ではありませんが、削除されますか?" #~ msgid "X File Package Version " #~ msgstr "X File Packageのバーション" #~ msgid "X File Image Version " #~ msgstr "X File Imageのバーション" #~ msgid "X File Write Version " #~ msgstr "X File Writeのバーション" #~ msgid "X File View Version " #~ msgstr "X File Viewのバーション" #, fuzzy #~ msgid "Restore folder " #~ msgstr "フォルダを移動" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr " 個アイテムがゴミ箱へ移動されますか?" #, fuzzy #~ msgid "Go up" #~ msgstr "グループ" #, fuzzy #~ msgid "Go home" #~ msgstr "ホーム(&M)" #, fuzzy #~ msgid "Go work" #~ msgstr "ワーク(&W)" #, fuzzy #~ msgid "Full file list" #~ msgstr "詳細リスト(&L)" #, fuzzy #~ msgid "Execute a command" #~ msgstr "コマンドを実行" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "ブックマークの追加" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tパネルを再読込(Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "ターミナルプログラム:" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "フォルダがもうゴミ箱に入っています! 永久に削除されますか?" #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "ファイルがもうゴミ箱に入っています! 永久に削除されますか?" #, fuzzy #~ msgid "Deleted from" #~ msgstr "削除:" #, fuzzy #~ msgid "Deleted from: " #~ msgstr "フォルダを削除:" xfe-1.42/po/bs.po0000644000175100017510000061630712746115274010555 00000000000000# Translation of xfe.po to Bosnian # msgid "" msgstr "" "Project-Id-Version: xfe 1.32.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2009-11-19 15:52+0100\n" "Last-Translator: Samir Ribi, Bajrami Emran, Balagija Jasmina, Bilalovi, Omar " "Cogo Emir\n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Korišćenje: xfe [opcije] [početnidir] \n" "\n" " [opcije] mogu biti bilo koje od sljedećih:\n" "\n" " -h, --help Prikazuje pomoć i izlazi.\n" " -v, --version Prikazuje informacije o verziji i izlazi.\n" " -i, --iconic Pokreni ikonski.\n" " -m, --maximized Pokreni uvećano.\n" "\n" " [početnidir] je staza do početnog direktorija kojeg vi želite\n" " da otvorite pri pokretanju.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Greška pri učitavanju ikona" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Nije moguće učitavanje nekih ikona. Provjerite stazu za ikone!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Korisnik" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Čitanje" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Pisanje" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Izvršavanje" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grupa " #: ../src/Properties.cpp:66 msgid "Others" msgstr "Ostali" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Vlasnik " #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Naredba" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Označi" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekruzivno" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Skini oznaku" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Dodaj označeno" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Samo direktorije" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Samo vlasnika" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Samo datoteke" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Svojstva" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Prihvati" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Odustani" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Opće" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Dozvole" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Povezivanje datoteke" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Ekstenzija:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Opis:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Otvori:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tOdaberi datoteku..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Pogled:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Uredi:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Otpakuj:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalacija / Nadogradnja:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Velika ikona:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Mini ikona:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Ime" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Upozorenje: naziv datoteke nije kodiran sa UTF-8!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Datotečni sistem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Direktorij" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Znakovni uređaj" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blok uređaj" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Imenovana cijev" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Soket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Izvršna" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Neispravan link" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Link prema " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Tačka montiranja" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Vrsta montiranja:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Korišten:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Slobodno:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Datotečni sistem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Lokacija:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tip:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Ukupna veličina:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Link prema:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Neispravan link prema:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Vrijeme datoteke" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Zadnja izmjena:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Zadnja promjena:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Zadnji pristup:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "Datum brisanja: " #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, fuzzy, c-format msgid "%s (%lu bytes)" msgstr "%s (%llu bajtova)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bajtova)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Veličina:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Izbor:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Višestruke vrste" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr " Stavke" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Datoteke i direktoriji" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Svojstva" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Upozorenje " #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Otkazana je operacije premještanja datoteka!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Greška" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Ne može zapisivati u %s: Dozvola odbijena" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Direktorij %s ne postoji" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Preimenuj datoteku" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Vlasnik datoteke" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Promjena vlasnika otkazana!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Dozvole datoteke" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Promjena dozovola datoteci otkazana!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod u %s neuspio: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " u jednoj odabranoj stavci" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Otkazana promjena dozvola datoteci/datotekama" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Izaberite izvršnu datoteku" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Sve datoteke" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG slike" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF slike" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP slike" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Odaberite ikonu" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Datoteke i direktoriji" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Kopiraj ovdje" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Premjesti ovdje" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Link ovdje" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Odustani" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopiranje datoteke" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Premještanje datoteke" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Datoteka symlink" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopiraj" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, fuzzy, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" " datoteke/folderi.\n" "Iz: " #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Premjesti" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, fuzzy, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" " datoteke/folderi.\n" "Iz: " #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Simlink" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Za:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Dogodila se greška pri premještanju datoteke!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Otkazana je operacije premještanja datoteka!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Dogodila se greška pri kopiranju daoteke!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Operacija kopiranja otkazana" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Tačka montiranja %s ne reagira ..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Link prema folderu" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Folderi" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Prikaži skrivene direktorije" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "&Skrivene datoteke" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bajtova u rootu" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "&Desni panel" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "Dozvola za:%s je odbijena." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Novi &direktorij..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "&Skrivene datoteke" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 #, fuzzy msgid "Ignore c&ase" msgstr "I&gnoriši velika/mala slova" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Obrnuti poredak" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "P&roširi stablo" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Skrat&i stablo" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "&Panel" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "M&ontiraj" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Demon&tiraj" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Dodaj u arhivu ..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopiraj" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Izre&ži" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Umetni" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Preime&nuj ..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Ko&piraj u ..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Premjesti u ..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Simlin&k u ..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Pre&mjesti u smeće" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Izbriši iz kante za smeće" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Obriši" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "O&sobine" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Stvori arhivu" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopiraj" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Preimenuj" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Preimenuj" #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopiraj u" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Premjesti" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Simlink" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr " stavki iz: " #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s nije direktorij" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Dogodila se greška pri operaciji symlink!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Symlink operacija otkazana!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Definitivno brisanje direktorija" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Potvrdi brisanje" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Brisanje datoteke" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " nije prazan. Da li ste sigurni da želite da obrišete?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " je zaštićen od pisanja, definitivno želite izbrisati?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Operacija brisanja direktorija je otkazana!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "Ne mogu premjestiti direktorij %s u kantu za smeće: Dozvola odbijena" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Potvrdi smeće" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Premjesti u smeće" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " je zaštićena od pisanja, želite da premjestite u smeće?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Greška prilikom premještanja u kantu za smeće!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Otkazana operacija premještanja u kantu za smeće" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Izbriši iz kante za smeće" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Potvrdi brisanje" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 #, fuzzy msgid "An error has occurred during the restore from trash operation!" msgstr "Greška prilikom premještanja u kantu za smeće!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Operacija premještanja datoteke u smeće otkazana!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Napravi novi direktorij:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Novi direktorij:" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Izvrši naredbu" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Montiraj" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Demontiraj" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " datotečni sistem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr " direktorij:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operacija otkazana!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " u korijenu" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Izvor:" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Cilj:" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Datum izmjene :" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Datum izmjene :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Obriši:" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "Od :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Izmjena dozvola ..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Datoteka :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Promjena vlasnika..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Montirnje datotečnog sistema..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Montiranje direktorija:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Demontiranje datotečnog sistema ..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Demontiranje direktorija :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " već postoji. Prepišite?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Potvrdi prepisivanje" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Ne može se kopirati datoteka" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Ne može se kopirati datoteka" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Izvor : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Cilj : " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Ne može se izbrisati direktorij %s: Dozvola odbijena" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "Ne može zapisivati u %s: Dozvola odbijena" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Ne može prepisati direktorij koji nije prazan %s" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "Ne može prepisati direktorij koji nije prazan %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Izvor %s ne postoji" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, fuzzy, c-format msgid "Destination %s is identical to source" msgstr "Izvor %s je identičan sa odredištem" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Obriši direktorij" #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "Od : " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Ne može se obrisati datoteka" #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Ne može se obrisati datoteka" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Datoteka ili direktorij %s već postoji" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Ne možete preimenovati ciljati na %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Chown neuspjelo u %s: %s" #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Ne mogu stvoriti simboličku vezu na višestruki izbor!" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Folder : " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Otpakuj arhivu" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Dodaj u arhivu" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Naredba nije uspjela : %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Uspjeh" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Direktorij %s je uspješno montiran." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Direktorij %s je uspješno nemontiran." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalacija / nadogradnja paketa" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Instaliranje paketa:" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Deinstaliraj paketa" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "Deinstaliranje paketa:" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Naziv datoteke:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&U redu" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "&Filter datoteka:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Samo za čitanje" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tIdi na\tPremjesti u prethodni direktorij." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tIdi naprijed \tPomjeri na sljedeći direktorij." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr "Korijenski direktorij" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr " direktorij:" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tIdi na radni direktorij\tNazad na radni direktorij." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Novi direktorij:" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Veli&ke ikone" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "&Male ikone" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "Pu&na lista datoteka" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Prikaži skrivene direktorije" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "&Skrivene datoteke" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tPrikaži sličice" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tSakrij sličice" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Napravi novi direktorij..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Napravi novi direktorij..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nova datoteka" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Datoteka ili direktorij %s već postoji" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Idi na &početni" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Idi na radni" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nova &datoteka..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Novi direkt&orij..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "&Skrivene datoteke" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "S&ličice" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Veli&ke ikone" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Male ikone" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Pu&na lista datoteka" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Redovi" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "&Kolone" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Ime" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ve&ličina" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Vrsta" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Ek&stenzija" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Korisnik" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Grupa " #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Folderi" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Suprotni poredak" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Porodica:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Težina:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Ve&ličina:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Skup znakova:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Bilo koji" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Zapadno-evropski" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Istočno-evropski" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Južno-evropski" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Severno-evropski" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Ćirilica" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arapski" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Grčki" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebrejski" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turski" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordijske" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltički" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Keltski" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ruski" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Centralno-evropski (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ruski (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Grčki (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turski (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebrejski (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arapski (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltički (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnam (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Tajlandski (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "Unicode" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Postavi Širinu:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra kondenzirano" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra kondenzirano" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Kondenzirano" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Polu kondenzirano" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normalno" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Polu prošireno" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Prošireno" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Ekstra prošireno" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra prošireno" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Oblik:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fiksno" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Skalabilno:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Svi Fontovi:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Pregled:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "\tPokreni Xfe kao root (Shift-F3)" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Ne" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Da" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Izađi" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Spremi" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Da za &sve" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Unesite korisničku lozinku:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Unesite root lozinku:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 #, fuzzy msgid "An error has occurred!" msgstr "Dogodila se greška pri operaciji symlink!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Ime:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Veličina u root:" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Tip:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Datum izmjene :" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Korisnik: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Grupa:" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Dozvole: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum brisanja: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Veličina: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Veličina" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Vrsta" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Ekstenzija" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Datum izmjene" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Dozvole" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Nije moguće učitati sliku" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum brisanja" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Potvrdi brisanje" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Bilješke komandi" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Premjesti direktorij " #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Ne može zapisivati u %s: Dozvola odbijena" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "Ne mogu premjestiti direktorij %s u kantu za smeće: Dozvola odbijena" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr " Pomjeri odabranu stavku u kantu za smeće?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "je zaštićena od pisanja, premjestiti ipak u smeće?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Operacija premještanja datoteke u smeće otkazana!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr " odabrane stavke u kantu za smeće? " #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Definitivno brisanje direktorija" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Definitivno izbrisati sve odabrane stavke? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " je zaštićena od pisanja, ipak izbrisati?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Otkazana operacija brisanja datoteke!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Napravite novu datoteku:" #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Postavljanje dozvola:%s" #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "Postavljanje dozvola:%s" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Napravite novu datoteku:" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "Simlink" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "Izvor %s ne postoji" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Otvori odabranu datoteku (e) s:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Otvori S" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "P&ridruži" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Prikaži datoteke:" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Nova &datoteka..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "&Simbolička veza ..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<er..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Pu&na lista datoteka" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Dozvole" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Nova &datoteka..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Montiraj" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Otvori &s ..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Otvori" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "E&kstraktuj u direktorij" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Izdvoji ovdje" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "I&zdovoji u ..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Prikaz" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instaliranje/Ažu&riranje" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "De&instaliranje" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Izmijeni" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "&Zamijeni" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Upit &paketa" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Opis" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr "Korijenski direktorij" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopiraj &u ..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "Premjesti u smeće" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Izbriši iz kante za smeće" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Izvor:" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Svojstva" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr "\tIzaberi odredište ..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Sve datoteke" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalacija/nadogradnja paketa" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Deinstalacija paketa" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, fuzzy, c-format msgid "Error: Fork failed: %s\n" msgstr "Račvanje procesa nije uspjelo:%s \n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Nije pronađen kompatibilan upravljač paketima (rpm ili dpkg) !" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " spada u paket : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informacije" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " spada u paket : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " odabranih podataka" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bajtova" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr " u jednoj odabranoj stavci" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr " Stavke" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr " Stavke" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Veza" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "- Filter:" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Ograničenje broja oznaka postignuto. Zadnja oznaka bit će izbrisana..." #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "&Obriši zabilješke" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Želite li zaista zatvoriti Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "Zatv&ori" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Ne može se obrisati datoteka" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Ne može se obrisati datoteka" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> KOMANDA OBUSTAVLJENA <<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> KRAJ KOMANDE <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tIzaberi odredište ..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr "Odaberite ikonu" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr "\tIzaberi odredište ..." #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Dodaj u arhivu" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Ime nove arhive:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormat arhive je tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip \tFormat arhive je zip" #: ../src/ArchInputDialog.cpp:65 #, fuzzy msgid "7z\tArchive format is 7z" msgstr "gz\tFormat arhive je gz" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2 \tFormat arhive je tar.bz2" #: ../src/ArchInputDialog.cpp:67 #, fuzzy msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.gz\tFormat arhive je tar.gz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormat arhive je tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormat arhive je tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormat arhive je gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormat arhive je bz2" #: ../src/ArchInputDialog.cpp:72 #, fuzzy msgid "xz\tArchive format is xz" msgstr "gz\tFormat arhive je gz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormat arhive je Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Postavke" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Trenutne teme" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opcije" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Koristi kantu za brisanje datoteka (sigurno brisanje)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Uključi naredbu da se zaobiđe kanta za smeće (stalno brisanje)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Automatsko spremanje rasporeda" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 #, fuzzy msgid "Single click folder open" msgstr "Jednim klikom otvara se datoteka" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Jednim klikom otvara se datoteka" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tPrikaži detalje \tPrikaži detaljni popis direktorija." #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " direktoriju :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr "Korijenski direktorij" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Brzina skrola miša:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Root režim" #: ../src/Preferences.cpp:222 #, fuzzy msgid "Allow root mode" msgstr "Root režim" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Autentifikacija pomoću su (koristi root lozinku)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Autentifikacija pomoću sudo (koristi korisničku lozinku)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dijalozi" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Potvrde" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Potvrdite kopiranje/premještanje/preimenovanje/simlink" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Potvrdi povlačenje i ispuštanje" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Potvrdi brisanje" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Potvrdi brisanje nepraznih direktorija" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Potvrdi prepisivanje" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Potvrdi brisanje" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Svojstva" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Upozorenja" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Upozori kada tačke montiranja ne reaguju" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Prikaži poruke u uspjehu montiranja/demontiranja" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Upozori ako se izvodi kao root" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programi" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Terminalski program:" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Podrazumijevani preglednik tekst:" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Podrazumijevani uređivač teksta:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Dozvole datoteke" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Podrazumijevani uređivač slika:" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Podrazumijevani preglednik slika:" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "Podrazumijevani arhiver:" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Pregled:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "&Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Montiraj" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Demontiraj" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Teme" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Teme boja" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Vlastite boje" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Osnovna boja" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Boja ivice" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Boja pozadine" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Osnovna boja" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Boja pozadine izbora" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Prednja boja izbora" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Boja pozadine popisa datoteka" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Boja isticanja popisa datoteka" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Boja isticanja popisa datoteka" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Boja ivice" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Boja ivice" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Fontovi" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Staza tema ikona" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tIzbor staze..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fontovi" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fontovi" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normalni Font:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Izaberi..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Font teksta:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr "Odaberite direktorij teme ikona ili datoteku s ikonom" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Promijeni Normalna slova" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Promijeni tekst font" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "Vlastite boje" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tUmetni iz međuspremnika (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "Otvori S" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Aplikacija" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "Odaberi &sve" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "&Deselektiraj sve \tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "&Okreni izbor\tCtrl-I" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "Novi &prozor\tF3" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Ispiši" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Traži" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "Traži ikone u" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "Traži" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "&Lijevi panel" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Svojstva" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "Premjesti u smeće" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Izbriši iz kante za smeće" #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Obriši direktorij" #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Napravite novu datoteku:" #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Izvrši naredbu" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Montirnje datotečnog sistema..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Demontiranje datotečnog sistema ..." #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "D&rvo i panel \tCtrl-F2" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "D&rvo i dva panela \tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "&Lokacijska traka" #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "Preimenuj" #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tIdi\tIdi na lokaciju." #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tIdi\tIdi na lokaciju." #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "" #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "&Dodaj zabilješku \tCtrl-B" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "&Desni panel" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "Isprazni kantu" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Isprazni kantu" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Pogled:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Uredi:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Prikaži skrivene direktorije" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Vrijeme datoteke" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Napravi novi direktorij:" #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "Snimi %s u datoteku?" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Idi na liniju" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "Zadnja promjena:" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "Datoteka je promijenjena" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "Zamijeni" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "" "&Prijelom Riječi \tCtrl-K\tUključi/Isključi opciju prijeloma riječi. (Ctrl-K)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "&Idi na liniju broj:" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "" #. Confirmation message #: ../src/Preferences.cpp:1088 #, fuzzy msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Da li zaista želite isprazniti kantu?\n" "\n" "Svi podaci će biti definitivno izbrisani!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Restart" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font će biti promijenjen po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Boje će biti promijenjene poslije ponovnog starta.\n" "Ponovo startati X File Explorer sada?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tema će biti promijenjena po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tema će biti promijenjena po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font će biti promijenjen po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normalni font će biti promijenjen po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Tekst font će biti promijenjen po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Preskoči" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Preskoči S&ve" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Izvor:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Datum izmjene :" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Cilj:" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Izvršavanje" #: ../src/ExecuteBox.cpp:40 #, fuzzy msgid "Execute in Console &Mode" msgstr "Konzolni režim" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Zatvori" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "&Lijevi panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tKopiraj odabrane datoteke u međuspremnik (Ctrl-C)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tIzreži odabrane datoteke u međuspremnik (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tPomjeri odabrane datoteke u smeće (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tObriši odabrane datoteke (Shift-Del)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Pu&na lista datoteka" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnoriši velika/mala slova" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Upit &paketa" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr "Korijenski direktorij" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr " stavki iz: " #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr " Stavke" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Ispiši" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr "\tPrikaži skrivene datoteke \tPrikaži skrivene datoteke i direktorije." #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Premjesti direktorij " #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Novi &direktorij..." #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Font teksta:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Ispiši" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Ukupna veličina:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Zadnja izmjena:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Zadnja izmjena:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Korisnik: " #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Vrijeme datoteke" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grupa:" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Vrijeme datoteke" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Datotečni sistem:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Datoteka :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Vrijeme datoteke" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Dozvole: " #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Dozvole datoteke" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Prikaži datoteke:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Prikaži datoteke:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Napravite novu datoteku:" #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Napravite novu datoteku:" #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Rekruzivno" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Demontiranje datotečnog sistema ..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Traži ikone u" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "Traži" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Izaberi stazu" #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Napravite novu datoteku:" #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr " odabrane stavke u kantu za smeće? " #: ../src/XFileExplorer.cpp:678 #, fuzzy msgid "Launch Xfe" msgstr "\tPokreni Xfe (F3)" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tPrikaži jedan panel (Ctrl-F1)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tPrikaži stablo i panel (Ctrl-F2)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tPrikaži dva panela (Ctrl-F3)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tPrikaži stablo i dva panela (Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "&Povezivanje datoteke" #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tIdi\tIdi na lokaciju." #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Novi &direktorij..." #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Idi na &početni" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "&Osvježi \tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "&Kopiraj &u ..." #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Simlin&k u ..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Svojstva" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Datoteka" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "Odaberi &sve" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "&Deselektiraj sve \tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "&Okreni izbor\tCtrl-I" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "P&ostavke" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "&Opća alatna traka" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "Ala&tna traka\t\tPrikaži alatnu traku" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Panel alatna traka" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Lokacijska traka" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Statusna traka" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "&Lijevi panel" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "D&rvo i panel \tCtrl-F2" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "Dva &panela\tCtrl-F3" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "D&rvo i dva panela \tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "&Desni panel" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "&Desni panel" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "&Dodaj zabilješku \tCtrl-B" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Obriši zabilješke" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Zabilješke" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filter ..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Sličice" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "Velike &ikone" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&ip" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "&Datum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Korisnik" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Grupa " #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Folderi" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Lijevi panel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Folderi" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Desni panel" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "Novi &prozor\tF3" #: ../src/XFileExplorer.cpp:1064 #, fuzzy msgid "New &root window" msgstr "Novi &root prozor \tShift-F3" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Izvrši naredbu" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "&Desni panel" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr "Korijenski direktorij" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Traži" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Demontiraj" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Alati" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "Premjesti u smeće" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "&Smeće" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Isprazni kantu" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "S&meće" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Pomoć" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&O X File Exploreru" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Izvršava se Xfe kao root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Nema globalne xferc datoteke! Molimo odaberite konfiguracijsku datoteku ..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE konfiguracijska datoteka" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Ne može prepisati direktorij koji nije prazan %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Ne može prepisati direktorij koji nije prazan %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Ne može prepisati direktorij koji nije prazan %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Pomoć" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Verzija" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "&O X File Exploreru" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Izvršiti naredbu:" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "Konzolni režim" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Želite li zaista zatvoriti Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " u " #: ../src/XFileExplorer.cpp:3939 #, fuzzy msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "Da li zaista želite isprazniti kantu?\n" "\n" "Svi podaci će biti definitivno izbrisani!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Ukupna veličina:" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Izvor %s nije čitljiv" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "&Povezivanje datoteke" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "&Povezivanje datoteke" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Postavke" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tOtviri paket datoteku (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "&Otvori" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "&Alati" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "O X File Paketu" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Deinstaliraj" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalacija/Nadogradnja" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Opis" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Lista datoteka" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "O X File Paketu" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM Izvorni paketi" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM paketi" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "Deb paketi" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Otvori dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Nijedan paket nije učitan " #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Paket nepoznatog formata" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalacija/Unaprijeđenje Paketa" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Deinstaliraj Paket" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM paket] \n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[Deb paket] \n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Upit %s nije uspio!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Pogrška pri učitavanju datoteke" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Dokument se ne može otvoriti:%s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Upotreba: xfp [opcije] [paket] \n" "\n" " [opcije] može biti bilo šta od sljedećeg:\n" "\n" " -h, --pomoć Štampaj(ovaj) pomoć ekran i izađi.\n" " -v, --verzija Štampaj informaciju o verziji i izađi.\n" "\n" " [paket] je put do rpm ili deb paketa koji želite otvoriti na startu.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF Slika" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP Slika" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM slika" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX Slika" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO Slika" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB Slika" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM Slika" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA Slika" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM Slika" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG Slika" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG Slika" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF Slika" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Slika" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Otvori:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Otvori sliku" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Ispiši" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Ne može se premjestiti datoteka" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Idi na liniju" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Ispiši" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "&Izbriši Nedavne Dokumente" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "&Izbriši Nedavne Dokumente" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "Zatvaranje Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr "" "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. (Ctrl-" "F6)" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tPrikaži sličice" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tPrikaži ikone \tPrikaži direktorij sa velikim ikonama." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tPrikaži listu \tPrikaži direktorij sa malim ikonama." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Pu&na lista datoteka" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tPrikaži detalje \tPrikaži detaljni popis direktorija." #: ../src/XFileImage.cpp:739 #, fuzzy msgid "View icons row-wise." msgstr "&Redovi ikona \t\tVidi po redovima." #: ../src/XFileImage.cpp:740 #, fuzzy msgid "View icons column-wise." msgstr "&Kolone ikona\t\tVidi po kolonama." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Ala&tna traka\t\tPrikaži alatnu traku." #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "&Lista datoteka" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "&Lista datoteka\t\tPrikaži listu datoteka." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Boja isticanja popisa datoteka" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tPrikaži ikone \tPrikaži direktorij sa velikim ikonama." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Vrijeme datoteke" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "" #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 #, fuzzy msgid "Zoom to fit window when opening an image." msgstr "" "Stani u &prozor pri otvaranju \t\tZumiraj da stane u prozor pri otvaranju " "slike." #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "O X File Image" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Greška pri učitavanju slike" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Nepodržani tip:%s" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Nije moguće učitati cijeli dokument:%s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Tekst font će biti promijenjen po ponovnom startu.\n" "Ponovo startovati X File Explorer sad?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Otvori sliku" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Komanda za štampanje: \n" "(primjer: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Upotreba: xfi [Opcije] [Slika] \n" "\n" " [Opcije] može biti bilo šta od sljedećeg:\n" "\n" " -h, --help Štampaj (ovaj) pomoć ekran i izađi.\n" " -v, --version Štampaj informaciju o verziji i izađi.\n" "\n" " [Slika] je put do slike-dokumenta koji želite otvoriti na startu.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Postavke" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Uređivač" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Tekst" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Margina prijeloma:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Veličina tabulatora:" #: ../src/WriteWindow.cpp:212 #, fuzzy msgid "Strip carriage returns:" msgstr "Skini nove redove:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Boje" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Linije" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Pozadina:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Tekst:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Odabrana tekst pozadina:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Odabrani tekst:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Označena tekst pozadina:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Označeni tekst:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Pokazivač:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Pozadina linijskih brojeva:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Prednji plan linijskih brojeva:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Traži" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Prozor" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Linije:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Kol:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Linija:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Napravi novi direktorij..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "Otvori dokument" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "&Spremi" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Snimi dokument" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "Zatv&ori" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tZatvori (Ctrl-W)\tZatvori dokument. (Ctrl-W)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Prebriši Dokument" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "&Izađi" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "O X File Write " #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "&Kopiraj\tCtrl-C\tKopiraj izbor u međuspremnik. (Ctrl-C)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Izre&ži" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "&Izreži\tCtrl-X\tIzreži izbor u međuspremnik. (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "&Umetni" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tUmetni iz međuspremnika (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Vrati" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "&Vrati\tCtrl-Z \tPoništi posljednju promjenu. (Ctrl-Z)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "&Ponovi" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "Traži" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Boja pozadine izbora" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 #, fuzzy msgid "Search selection forward" msgstr "Prednja boja izbora" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search forward for selected text." msgstr "" "Traži izbor &sprijeda \tCtrl-G \tTraži sprijeda izabrani tekst. (Ctrl-G, F3) " #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers" msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Hide line numbers." msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Nova &datoteka..." #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "Snimi %s u datoteku?" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "Snimi &kao... \t \tSpasi dokument u drugu datoteku." #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Nespremljeni Dokument" #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Izbriši Nedavne Dokumente" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Vrati" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Ponovi" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to &saved" msgstr "Vrati na &snimljenu\t\tVrati na snimljenu verziju." #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Vrati na &snimljenu\t\tVrati na snimljenu verziju." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "&Izreži" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tUmetni iz međuspremnika (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "Promjena vlasnika otkazana!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "Promjena vlasnika otkazana!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Idi na liniju" #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Odaberi &sve" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "&Statusna traka" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "&Statusna linija \t \tPrikaži statusnu liniju." #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Traži" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "Traži za:" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "&Zamijeni" #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "Traži za:" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "" "&Prijelom Riječi \tCtrl-K\tUključi/Isključi opciju prijeloma riječi. (Ctrl-K)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "&Idi na liniju broj:" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "&Precrtavanje\t\tUključi/Isključi opciju precrtavanja ." #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "&Fontovi" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Promijeni tekst font" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "P&ostavke" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "&Dodatne postavke... \t \tPromjeni druge opcije." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "O X File Write " #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "O X File Write " #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Datoteka je prevelika: %s (%d bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Dokument se ne može pročitati:%s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Pogreška pri spašavanju datoteke" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Datoteka je prevelika:%s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Dokument: %s skraćen." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "Neimenovano" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "Neimenovan %d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "O X File Write " #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Promjena fonta" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Tekst datoteke" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C Izvorne datoteke" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C ++ Izvorne datoteke" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ datoteke zaglavlja" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML datoteke" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP datoteke" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Nespremljeni Dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Snimi %s u datoteku?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Snimi dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Prebriši Dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Prebriši postojeći dokument: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (promjenjen)" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Samo za čitanje" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Datoteka je promijenjena" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "promijenjena je drugim programom. Učitajte ovu datoteku s diska? " #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Zamijeni" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Idi na liniju" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Idi na liniju broj:" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Upotreba : xfw [opcije] [dokument1] [dokument2] [dokument3]...\n" "\n" " [opcije] može biti bilo koja od sljedećih:\n" "\n" " -h, --pomoć Štampaj (ovaj) pomoć ekran i izađi..\n" " -v, --verzija Štampaj informaciju o verziji i izađi.\n" "\n" " [dokument1] [dokument2] [dokument3] su putevi do datoteka koje želite " "otvoriti na startu.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Root režim" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Spreman." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Zamijeni" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Za&mijeni Sve" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Traži za:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Zamijeni sa:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "T&ačno" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "&Zanemari velika/mala slova" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "I&zraz" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Unazad" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" " \n" " XFE, X File Explorer File Manager\n" " \n" " Copyright (C) 2002-2007 Roland Baudin\n" " \n" " \n" " \n" " \n" " \n" " \n" " \n" " Ovaj program je besplatan i slobodan softver; možete ga you can " "redistribuirati i/ili modifikovati pod istim uvjetima GNU Generalne Javne " "License kao sto je objavljeno od Fondacije slobodnognog softvera ili verziju " "2, ili (na svoju ruku) bilo koju kasniju verziju.\n" " \n" " \n" " Ovaj program se šalje u nadi da će biti koristan ,ali bez ikakve garancije;" "čak bez garancije za upotrebljivosti ili spremnosti za određenu svrhu. " "Pogledati GNU Generalnu Javnu Licencu za više detalja.\n" " \n" " \n" " Opis\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (xfe) je lakši menadžer datoteka za X11, Napisan koristeći " "FOX.\n" " Neovisan je o desktopu i lako se može preraditi.\n" " Ima stilove Commandera ili Explorera i vrlo je brz i mal.\n" " Xfe je baziran na popularnom, ali napuštenom X Win Commander, kojeg je " "napisao Maxim Baranov.\n" " \n" " \n" " Mogućnosti\n" " =-=-=-=-=\n" " \n" " - Vrlo brzo grafičko oruženje\n" " - Commander/Explorer okruženje sa četiri režima za menadžer datoteka : a) " "jedan panel, b) drvo direktorija\n" " i jedan panel, c) dva panela i d) drvo direktorija i dva panela\n" " - Integrisani tekst editor (X File Write, xfw)\n" " - Integrisani program za prikaz teksta (X File View, xfv)\n" " - Integrisani program za prikaz slika (X File Image, xfi)\n" " - Integrisani program za prikaz (rpm ili deb) paketa/instaler/deinstaler " "(X File Package, xfp)\n" " - UTF-8 podrška\n" " - Kopirajte/Režite/Umećite datoteke sa i na vaš omiljeni desktop (GNOME/" "KDE/XFCE)\n" " - Vucite i ispuštajte datoteke sa i na vaš omiljeni desktop\n" " - Root režim sa autorizacijom od su ili sudo\n" " - Statusna linija\n" " - Pridruživanje datoteka\n" " - Opcionalna kanta za smeće za operacije sa brisanjem datoteka " "(direktorij kante za smeće je ~/.xfe/trash)\n" " - Automatski spremač registrija\n" " - Navigacija Duplim klikom i jednostrukim klik za datoteke i direktorije\n" " - Iskačući meni na desni klik u listu drva i listu datoteka\n" " - Promjena atributa datoteka\n" " - Montiranje i demontiranje uređaja (samo Linux)\n" " - upozorenja kada tačke montiranje ne odgovaraju (samo Linux)\n" " - Alatne trake\n" " - Zabilješke Bookmarks\n" " - Lista historije za navigaciju direktorija\n" " - Teme boja (GNOME, KDE, Windows...)\n" " - Teme ikona (Xfe, GNOME, XFCE, Windows...)\n" " - Kreiranje/Ekstrakcija arhiva (tar, zip, gzip, bzip2, lzh, rar formati " "za kompresiju su podržani)\n" " - Savjeti s svojstvima datoteka\n" " - Trake napredka i dijalozi za duge operacije datoteka\n" " - Prikaz slika sa umanjenim slikama\n" " - i mnogo više...\n" " \n" " \n" " Key bindings:\n" " =-=-=-=-=-=\n" " \n" " o Pomoć - F1\n" " o Nova datoteka - F2\n" " o Novi prozor - F3\n" " o Novi korjenski prozor - Shift-F3\n" " o Prikaži - return\n" " o Modifikuj - F4\n" " o Kopiraj - Ctrl-c\n" " o Kopiraj u - F5, Ctrl-k\n" " o Izreži - Ctrl-x\n" " o Zalijepi - Ctrl-v\n" " o Premjesti - F6, Ctrl-d\n" " o Simbolički link - Ctrl-s\n" " o Preimenuj - Ctrl-n\n" " o Novi direktorij - F7\n" " o Otvori - Ctrl-o\n" " o Premjesti u smeće - F8, del\n" " o Obriši - Shift-del\n" " o Isprazni kantu za smeće - Ctrl-del\n" " o Idi u smeće - Ctrl-F8\n" " o Idi gore - backspace\n" " o Idi nazad - Ctrl-backspace\n" " o Idi naprijed - Shift-backspace\n" " o Opcije - F9\n" " o Jedan panel - Ctrl-F1\n" " o Drvo i jedan panel - Ctrl-F2\n" " o Dva panela - Ctrl-F3\n" " o Drvo i dva panela - Ctrl-F4\n" " o Velike ikone - F10\n" " o Male ikone - F11\n" " o Detaljni prikaz - F12\n" " o Skrivene mape - Ctrl-F5\n" " o Skrivene datoteke - Ctrl-F6\n" " o Prikaz sa malim slikama - Ctrl-F7\n" " o Izvrši - Ctrl-e\n" " o Idi kući - Ctrl-h\n" " o Terminal - Ctrl-t\n" " o Osvježi - Ctrl-r\n" " o Označi sve - Ctrl-a\n" " o Ukini označavanje svega - Ctrl-z\n" " o Invertuj označavanje - Ctrl-i\n" " o Dodaj zabilješku - Ctrl-b\n" " o Montiraj (samo Linux) - Ctrl-m\n" " o Demontiraj (samo Linux) - Ctrl-u\n" " o Otvori ploču datoteka meni konteksta - Shift-F10\n" " o Izađi - Ctrl-q, Ctrl-w\n" " \n" " \n" " Operacije prevlačenja i ispuštanja :\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" " \n" " Vučenjem datoteke ili grupe ili datoteka (pomjeranjem miša dok se lijevo " "dugme drži) u direktorij ili ploču datoteka opcionalno otvara dijalog koji " "dozvoljava da se izvedu operacije nad datotekama: kopiraj, premjesti, linkuj " "ili odustani.\n" " \n" " \n" " Konfiguracija\n" " =-=-=-=-=-=-=\n" " \n" " Od verzije 0.98 i preko, šema konfiguracije je promjenjena. Sada je " "neovisna o FOX registriju i trebala bi biti jednostavnija i više " "intiutivna.\n" " \n" " Možete izvesti bilo koju Xfe modifikaciju (layout, file associations, ...) " "bez ručnog editovanja datoteka.Ipak,možda bi ste željeli da shvatite " "principe modifikovanja,jer neka modifikovanja se mogu lako uraditi " "modifikovanjem konfiguracije datoteka.\n" " Pazite da izađete iz Xfe prije ručnog editovanja bilo koje konfiguracije " "datoteke, inače promjene bi mogle da ne budu uračunate.\n" " \n" " Sistemska konfiguracija datoteke xferc se nalazi u /usr/share/xfe, /usr/" "local/share/xfe ili /opt/local/share/xfe, u datom poretku prvenstva.\n" " \n" " Lokalne datoteke konfiguracije za Xfe, Xfw, Xfv, Xfi, Xfp se nalaze u ~/." "xfe directory. Zovu se xferc, xfwrc, xfvrc, xfirc i xfprc.\n" " \n" " Na prvom pokretanju Xfe, sistemska konfiguracija se premješta u lokalnu " "konfiguraciju datotekele ~/.xfe/xferc koja još ne postoji. Ako sistemska " "konfiguracija nije pronađena (u slučaju neobičnog mjesta instalacije), " "dijalog pita korisnika da odabere pravo mjesto. Tako je lakše modifikovati " "Xfe (ovo je djelimično tačno za pridruživanje datoteka) ručno jer sve " "lokalne opcije se nalaze u istoj datoteci.\n" " \n" " Početne PNG ikone se nalaze u /usr/share/xfe/icons/xfe-theme ili /usr/local/" "share/xfe/icons/xfe-theme, ovisno o vašoj instalaciji.\n" " Možete lako promjeniti put teme ikone u Opcije->Teme->Put teme ikone.\n" " \n" " \n" " Upute\n" " =-=-=\n" " \n" " Lista datoteka\n" " - Označite datoteku i desni klik da se otvori kontekst meni za označene " "datoteke \n" " - Ctrl + desni klik da se otvori kontekst meni na ploči datoteke\n" " - Kada se vuče datoteka/mapa u mapu,drži miš\n" " na mapi da se otvori\n" " \n" " Drvo lista\n" " - Označi mapu i desni klik da se otvori kontekst meni na označenoj mapi\n" " - Kada se vuče datoteka/mapa u mapu, drži miš na mapi\n" " da se proširi\n" " \n" " Kopiraj/Umetni imena datoteka\n" " - Označi datoteku i Ctrl-c da se kopira ime u spremnik. Onda u dijalogu " "Ctrl-v da se umetne\n" " ime datoteke.\n" " - U dijalogu za operaciju datoteka, označi ime datoteke u liniji koja " "sadrži izvorno ime i zalijepi direktno\n" " u destinaciju koristeći srednje dugme miša. Zadim modifikuj ga da " "zadovoljava tvoje potrebe.\n" " \n" " \n" " Greške\n" " =-=-=\n" " \n" " Molim vas prijavite greške Roland Baudinu .\n" " \n" " \n" " Prijevodi\n" " =-=-=-=-=-=-=\n" " \n" " Xfe je dostupan na 19 jezika. Da prevedete Xfe na svoj jezik,otvorite sa " "softverom kao što je poedit, kbabel ili gtranslator xfe.pot datoteku u po " "direktoriju izvornog drveta i popunite svoje rečenice, i pošaljite meni.\n" " \n" " \n" " Zakrpe\n" " =-=-=-=\n" " \n" " Ako ste napravili interesantnu zakrpu programa, pošaljite mi je, Probaću da " "je uključim u slijedećem izdanju...\n" " \n" " [Mnoge pohvale Maxim Baranovu za X Win Commander i svim ljudima koji su " "dali korisne pečeve,\n" " testove i savjete.]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Ne može se izbrisati direktorij" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Ne može se izbrisati direktorij" #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr "Ne može se izbrisati direktorij %s" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Izvrši naredbu" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Nije moguće kopiranje direktorija " #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bajtova" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Kopiranje datoteke" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Ne može se izbrisati direktorij %s" #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr "Ne može se izbrisati direktorij %s" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Vlasnik datoteke" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Podrazumijevani preglednik slika:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "&Uređivač" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Upit &paketa" #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "Nije pronađen kompatibilan upravljač paketima (rpm ili dpkg) !" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tPrikaži dva panela (Ctrl-F3)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Direktorij" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Direktorij" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Potvrdi prepisivanje" #~ msgid "P&roperties..." #~ msgstr "S&vojstva ..." #, fuzzy #~ msgid "&Properties..." #~ msgstr "S&vojstva ..." #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "O X File Write " #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Ne može se izbrisati direktorij" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Ne može se izbrisati direktorij" #~ msgid "Folder:" #~ msgstr "Direktorij:" #, fuzzy #~ msgid "Extr&act to folder" #~ msgstr "Iz&dvoji u direktorij" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Izvrši naredbu" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Ne može se izbrisati direktorij" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Ne može prepisati direktorij koji nije prazan %s" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Ne može prepisati direktorij koji nije prazan %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Ne može prepisati direktorij koji nije prazan %s" #, fuzzy #~ msgid "Delete: " #~ msgstr "Obriši : " #, fuzzy #~ msgid "File: " #~ msgstr "Datoteka : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "O X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Desni panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "&Lijevi panel" #, fuzzy #~ msgid "Error " #~ msgstr "Pogreška 3" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Ne može se izbrisati direktorij" #, fuzzy #~ msgid "Execute command " #~ msgstr "Izvrši naredbu" #, fuzzy #~ msgid "Command log " #~ msgstr "Bilješke komandi" #~ msgid "Non-existing file: %s" #~ msgstr "Nepostojeća datoteka: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Ne možete preimenovati ciljati na %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Brzina skrola miša:" #~ msgid "Mouse" #~ msgstr "Miš" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Datum izmjene :" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Datum izmjene :" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Nije moguće učitavanje nekih ikona. Provjerite stazu za ikone!" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tIdi na\tPremjesti u prethodni direktorij." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tIdi naprijed \tPomjeri na sljedeći direktorij." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Montiranje direktorija:" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tIdi jedan direktorij naviše \tPomjeri se do viših direktorija" #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tIdi na početni direktorij\tNazad na početni direktorij." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tIdi na radni direktorij\tNazad na radni direktorij." #, fuzzy #~ msgid "Show icons" #~ msgstr "Prikaži datoteke:" #, fuzzy #~ msgid "Show list" #~ msgstr "Prikaži datoteke:" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tPrikaži listu \tPrikaži direktorij sa malim ikonama." #, fuzzy #~ msgid "Show details" #~ msgstr "\tPrikaži sličice" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Upotreba­: xfv [Opcije] [dokument1] [dokument2] [dokument3]...\n" #~ "\n" #~ " [options] može biti bilo koja od sljedećih:\n" #~ "\n" #~ " -h, --pomoć Štampaj ovaj pomoć ekran i izađi.\n" #~ " -v, --verzija Štampaj informacije o verziji i izađi.\n" #~ "\n" #~ " [dokument1] [dokument2] [dokument3]... su put(putevi) do " #~ "dokumenta(dokumenata) koje želite otvoritina startu.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Kol:" #~ msgid "Line:" #~ msgstr "Linija:" #, fuzzy #~ msgid "Open document." #~ msgstr "Otvori dokument" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "Zatvaranje Xfe" #~ msgid "Find" #~ msgstr "Pronađi" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Pronađi" #, fuzzy #~ msgid "Find a string in a document." #~ msgstr "\tNađi niz znakova (Ctrl-F)\tNađi niz znakova u dokumentu. (Ctrl-F)" #, fuzzy #~ msgid "Display status bar." #~ msgstr "&Statusna traka\t \tPrikaži ili sakrij statusnu traku." #, fuzzy #~ msgid "&About X File View" #~ msgstr "O X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "O X File View" #~ msgid "About X File View" #~ msgstr "O X File View" #~ msgid "Error Reading File" #~ msgstr "Pogreška pri čitanju datoteke" #~ msgid "Unable to load entire file: %s" #~ msgstr "Nije moguće učitati cijeli dokument:%s" #~ msgid "&Find" #~ msgstr "&Pronađi" #~ msgid "Not Found" #~ msgstr "Nije nađeno" #~ msgid "String '%s' not found" #~ msgstr "Niz znakova '%s' nije nađen" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Tekst datoteke" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "Ignore case" #~ msgstr "I&gnoriši velika/mala slova" #, fuzzy #~ msgid "In directory:" #~ msgstr "Korijenski direktorij" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr "Korijenski direktorij" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Izbriši iz kante za smeće" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Datoteke i direktoriji" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Povezivanje datoteke" #, fuzzy #~ msgid " Items" #~ msgstr " Stavke" #, fuzzy #~ msgid "Search results - " #~ msgstr "Traži ikone u" #, fuzzy #~ msgid "Show hidden files and folders" #~ msgstr "" #~ "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. " #~ "(Ctrl-F6)" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tPrikaži ikone \tPrikaži direktorij sa velikim ikonama." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tPrikaži listu \tPrikaži direktorij sa malim ikonama." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tPrikaži detalje \tPrikaži detaljni popis direktorija." #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tPrikaži sličice (Ctrl-F7)" #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tSakrij sličice (Ctrl-F7)" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\tKopiraj odabrane datoteke u međuspremnik (Ctrl-C)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\tIzreži odabrane datoteke u međuspremnik (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tPrikaži svojstva odabrane datoteke (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tPomjeri odabrane datoteke u smeće (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\tObriši odabrane datoteke (Shift-Del)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "" #~ "&Skrivene datoteke\tCtrl-F6 \tPrikaži skrivene datoteke i direktorije. " #~ "(Ctrl-F6)" #, fuzzy #~ msgid "Search files..." #~ msgstr "\tOdaberi datoteku..." #~ msgid "Dir&ectories first" #~ msgstr "P&rvo direktoriji" #~ msgid "&Directories first" #~ msgstr "&Directorije prvo" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Ne može se izbrisati direktorij %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Ne može se izbrisati direktorij %s" #, fuzzy #~ msgid "Go to working directory" #~ msgstr "Korijenski direktorij" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr " direktoriju :" #, fuzzy #~ msgid "Go to next directory" #~ msgstr "Korijenski direktorij" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Ne može se izbrisati direktorij %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Ne može se izbrisati direktorij %s" #, fuzzy #~ msgid "Directory name" #~ msgstr "Lista direktorijaa" #~ msgid "Single click directory open" #~ msgstr "Jednim klikom otvara se direktorij" #~ msgid "Confirm quit" #~ msgstr "Potvrdi izlaz" #~ msgid "Quitting Xfe" #~ msgstr "Zatvaranje Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "Ala&tna traka\t\tPrikaži alatnu traku" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "&Alatna-traka \t \tPrikaži ili sakrij alatnu-traku." #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr " Pomjeri odabranu stavku u kantu za smeće?" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " Definitivno izbrisati odabranu stavku?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Izvršavanje" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Ne može prepisati direktorij koji nije prazan %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tFormat arhive je rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tFormat arhive je lzh" #, fuzzy #~ msgid "arj\tArchive format is arj" #~ msgstr "tar\tFormat arhive je tar" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Izvor %s je identičan sa odredištem" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "Dogodila se greška pri kopiranju daoteke!" #, fuzzy #~ msgid "File list: Unknown package format" #~ msgstr "Lista datoteka: Paket nepoznatog formata" #, fuzzy #~ msgid "Description: Unknown package format" #~ msgstr "Opis: Paket nepoznatog formata" #~ msgid "%d items including %d folder(s) and %d file(s)" #~ msgstr "%d stavki uključujući %d direktorij(e) i %d datoteka" #~ msgid "Chmod failed in %s : %s" #~ msgstr "Chmod neuspjelo u %s:%s" #~ msgid "Chown failed in %s : %s" #~ msgstr "Chown neuspjelo u %s : %s" #~ msgid " &OK " #~ msgstr "&U redu" #~ msgid "\tShow hidden folders (Ctrl-F5)" #~ msgstr "\tPrikaži skrivene direktorije (Ctrl-F5)" #~ msgid "\tHide hidden folders (Ctrl-F5)" #~ msgstr "\tSakrij skrivene direktorije (Ctrl-F5)" #~ msgid "Folder %s does'nt exist" #~ msgstr "Direktorij %s ne postoji" #~ msgid " is not empty, move it anyway to trash can?" #~ msgstr " nije prazna, premjesti u kantu za smeće?" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Direktorij je već u smećuu! Definitivno želite obrisati direktorij" #~ msgid "Delete from trash can" #~ msgstr "Izbriši iz kante za smeće" #~ msgid "Cannot close directory %s\n" #~ msgstr "Nije moguće zatvaranje direktorija %s \n" #~ msgid "TRASH" #~ msgstr "Smeće" #~ msgid " : Permission denied" #~ msgstr " : Dozvola odbijena" #~ msgid "File " #~ msgstr "Datoteka " #~ msgid "Delete folder :" #~ msgstr "Obriši direktorij :" #~ msgid "Cannot delete file %s" #~ msgstr "Ne mogu obrisati datoteku %s" #~ msgid "\tNew folder\tCreate new folder." #~ msgstr "\tNovi direktorij\tNapravi novi direktorij" #~ msgid "\tHide hidden Files\tHide hidden files and folders." #~ msgstr "\tSakrij skrivene datoteke \tSakri skrivene datoteke i direktorij." #~ msgid " \tLaunch Xfe as root (Shift-F3)" #~ msgstr "\tPokreni Xfe kao root (Shift-F3)" #~ msgid "\tShow hidden files (Ctrl-F6)" #~ msgstr "\tPrikaži skrivene datoteke (Ctrl-F6)" #~ msgid "\tHide hidden files (Ctrl-F6)" #~ msgstr "\tSakrij skrivene datoteke (Ctrl-F6)" #~ msgid " Move " #~ msgstr " Premjesti " #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "Datoteka je već u smeću! Definitivno obrisati datoteku " #~ msgid " Definitely delete " #~ msgstr " Definitivno brisanje " #~ msgid " selected items? " #~ msgstr " odabrane stavke?" #~ msgid "Select directory" #~ msgstr "Odaberite direktorij" #~ msgid " (broken link)" #~ msgstr " (pokidana veza)" #~ msgid "Programs" #~ msgstr "Programi" #~ msgid "Foreground color" #~ msgstr "Prednja boja" #~ msgid "File list foreground color" #~ msgstr "Prednja boja popisa datoteka" #~ msgid "Color Dialog" #~ msgstr "Dijalog boja" #~ msgid "\tGo back (Ctrl-Backspace)" #~ msgstr "\tIdi nazad (Ctrl-Backspace)" #~ msgid "\tGo forward (Shift-Backspace)" #~ msgstr "\tIdi naprijed (Shift-Backspace)" #~ msgid "\tGo up (Backspace)" #~ msgstr "\tIdi gore (Backspace)" #~ msgid "\tGo home (Ctrl-H)" #~ msgstr "\tIdi na početak (Ctrl-H)" #~ msgid "\tPanel refresh (Ctrl-R)" #~ msgstr "\tOsvježi panel (Ctrl-R)" #~ msgid "\tCreate new file (F2)" #~ msgstr "\tKreiraj novu datoteku (F2)" #~ msgid "\tCreate new folder (F7)" #~ msgstr "\tKreiraj novi direktorij (F7)" #~ msgid "\tExecute command (Ctrl-E)" #~ msgstr "\tIzvrši naredbu (Ctrl-E)" #~ msgid "\tTerminal (Ctrl-T)" #~ msgstr "\tTerminal (Ctrl-T)" #~ msgid "\tMount (Ctrl-M)" #~ msgstr "\tMontiraj (Ctrl-M)" #~ msgid "\tUnmount (Ctrl-U)" #~ msgstr "\tDemontiraj (Ctrl-U)" #~ msgid "\tBig icons (F10)" #~ msgstr "\tVelike ikone (F10)" #~ msgid "\tSmall icons (F11)" #~ msgstr "\tMale ikone (F11)" #~ msgid "\tFull file list (F12)" #~ msgstr "\tPuna lista datoteka (F12)" #~ msgid "\tClear Location bar\tClear Location bar." #~ msgstr "\tOčisti Lokacijsku traku \tOčisti Lokacijsku traku." #~ msgid "New &file...\tF2" #~ msgstr "Nova &datoteka...\tF2" #~ msgid "New fo&lder...\tF7" #~ msgstr "Novi d&irektorij... \tF7" #~ msgid "Go &home\tCtrl-H" #~ msgstr "Idi na &početak\tCtrl-H" #~ msgid "&Open...\tCtrl-O" #~ msgstr "O&tvori... \tCtrl-O" #~ msgid "Re&name...\tCtrl-N" #~ msgstr "Preime&nuj...\tCtrl-N" #~ msgid "&Copy to...\tCtrl-K" #~ msgstr "&Kopiraj u...\tCtrl-K" #~ msgid "&Move to...\tCtrl-D" #~ msgstr "&Premjesti u...\tCtrl-D" #~ msgid "&Symlink to...\tCtrl-S" #~ msgstr "&Simbolička veza u...\tCtrl-S" #~ msgid "Mo&ve to trash\tDel" #~ msgstr "Pre&mjesti u smeće\tDel" #~ msgid "&Delete\tShift-Del" #~ msgstr "&Izbriši\tShift-Del" #~ msgid "&Properties...\tF9" #~ msgstr "&Svojstva...\tF9" #~ msgid "&Quit\tCtrl-Q" #~ msgstr "&Izlaz\tCtrl-Q" #~ msgid "&Copy\tCtrl-C" #~ msgstr "&Kopiraj\tCtrl-C" #~ msgid "C&ut\tCtrl-X" #~ msgstr "Iz&reži\tCtrl-X" #~ msgid "&Paste\tCtrl-V" #~ msgstr "&Umetni\tCtrl-V" #~ msgid "&Select all\tCtrl-A" #~ msgstr "&Izaberi sve\tCtrl-A" #~ msgid "&One panel\tCtrl-F1" #~ msgstr "Jedan &panel \tCtrl-F1" #~ msgid "Ti&me" #~ msgstr "Vrije&me" #~ msgid "E&xecute command...\tCtrl-E" #~ msgstr "Iz&vrši naredbu ... \tCtrl-E" #~ msgid "&Terminal\tCtrl-T" #~ msgstr "&Terminal\tCtrl-T" #~ msgid "&Mount\tCtrl-M" #~ msgstr "&Montiraj\tCtrl-M" #~ msgid "&Unmount\tCtrl-U" #~ msgstr "&Demontiraj\tCtrl-U" #~ msgid "&Go to trash\tCtrl-F8" #~ msgstr "&Idi u smeće\tCtrl-F8" #~ msgid "&Empty trash can\tCtrl-Del" #~ msgstr "&Isprazni kantu\tCtrl-Del" #~ msgid "&Help\tF1" #~ msgstr "&Pomoć\tF1" #~ msgid "" #~ "\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)\n" #~ "\n" #~ "Based on X WinCommander by Maxim Baranov\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)\n" #~ "\n" #~ "Bazirano na X WinCommander autora Maxim Baranov\n" #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working xterm installed on your " #~ "system." #~ msgstr "" #~ "Nastala greška! \n" #~ "Znajte da root režim zahtijeva xterm instaliran na vaš sistem." #~ msgid "\tQuit Xfp (Ctrl-Q)" #~ msgstr "\tNapusti Xfp (Ctrl-Q)" #~ msgid "&Open file...\tCtrl-O" #~ msgstr "&Otvori datoteku... \tCtrl-O" #~ msgid "&About X File Package\tF1" #~ msgstr "& O X File paketu\tF1" #~ msgid "X File Package Version " #~ msgstr "X File Paket Verzija" #~ msgid "" #~ " is a simple rpm or deb package manager.\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ " je jednostavni rpm ili deb menadžerski paket.\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgid "\tOpen Image (Ctrl-O)\tOpen image file. (Ctrl-O)" #~ msgstr "\tOtvori sliku(Ctrl-O)\tOtvori datoteku s slikom. (Ctrl-O)" #~ msgid "\tPrint image (Ctrl-P)\tPrint image file. (Ctrl-P)" #~ msgstr "\tŠtampaj sliku (Ctrl-P) \tŠtampaj datoteku s slikom. (Ctrl-P)" #~ msgid "\tQuit Xfi (Ctrl-Q)\tQuit Xfi. (Ctrl-Q)" #~ msgstr "\tNapusti Xfi (Ctrl-Q) \t Napusti Xfi. (Ctrl-Q)" #~ msgid "\tZoom in (Ctrl+)\tZoom in image. (Ctrl+)" #~ msgstr "\tUvećaj (Ctrl +) \tUvećaj sliku. (Ctrl +)" #~ msgid "\tZoom out (Ctrl-)\tZoom out image. (Ctrl-)" #~ msgstr "\tUmanji(Ctrl-) \tZUmanji sliku. (Ctrl-)" #~ msgid "\tZoom 100%(Ctrl-I)\tZoom 100%image. (Ctrl-I)" #~ msgstr "\tVeličina 100%(Ctrl-ja)\tVeličina 100%.(Ctrl-I)" #~ msgid "\tZoom to fit window (Ctrl-W)\tZoom to fit window. (Ctrl-W)" #~ msgstr "" #~ "\tZumiraj da stane u prozor (Ctrl-W) \tZumiraj da stane u prozor.(Ctrl-W)" #~ msgid "\tRotate left (Ctrl-L)\tRotate left image. (Ctrl-L)" #~ msgstr "\tRotiraj lijevo (Ctrl-L) \tRotiraj lijevo sliku. (Ctrl-L)" #~ msgid "\tRotate right (Ctrl-R)\tRotate right image. (Ctrl-R)" #~ msgstr "\tRotiraj desno (Ctrl-R) \tRotiraj desno sliku. (Ctrl-R)" #~ msgid "\tMirror horizontally (Ctrl-H)\tMirror image horizontally. (Ctrl-H)" #~ msgstr "" #~ "\tReflektiraj horizontalno (Ctrl-H)\tReflektiraj sliku horizontalno.(Ctrl-" #~ "H)" #~ msgid "\tMirror vertically (Ctrl-V)\tMirror image vertically. (Ctrl-V)" #~ msgstr "" #~ "\tReflektiraj vertikalno (Ctrl-V)\tReflektiraj sliku vertikalno. (Ctrl-V)" #~ msgid "\tBig icons (F10)\tDisplay directory with big icons. (F10)" #~ msgstr "" #~ "\tVelike ikone (F10) \tPrikaži direktorij sa velikim ikonama. (F10)" #~ msgid "\tSmall icons (F11)\tDisplay directory with small icons. (F11)" #~ msgstr "\tMale ikone (F11) \tPrikaži direktorij sa malim ikonama. (F11)" #~ msgid "\tFull file list (F12)\tDisplay detailed directory listing. (F12)" #~ msgstr "" #~ "\tPuna dokument lista (F12) \tPrikaži detaljan popis direktorija. (F12)" #~ msgid "&Open...\tCtrl-O\tOpen image file. (Ctrl-O)" #~ msgstr "&Otvori... \tCtrl-O\tOtvori datoteku s slikom. (Ctrl-O)" #~ msgid "&Print image...\tCtrl-P\tPrint image file. (Ctrl-P)" #~ msgstr "Štam&paj sliku...\tCtrl-P\tŠtampaj datoteku s slikom. (Ctrl-P)" #~ msgid "&Clear recent files\t\tClear recent files." #~ msgstr "&Izbriši nedavne datoteke \t\tIzbriši nedavne datoteke." #~ msgid "&Quit\tCtrl-Q\tQuit Xfi. (Ctrl-Q)" #~ msgstr "&Izađi\tCtrl-Q \tIzađi Xfi. (Ctrl-Q)" #~ msgid "Zoom &in\tCtrl+\tZoom in image. (Ctrl+)" #~ msgstr "Uvećaj (Ctrl +) \tUvećaj sliku. (Ctrl +)" #~ msgid "Zoom &out\tCtrl-\tZoom out image. (Ctrl-)" #~ msgstr "Um&anji (Ctrl -)\tUmanji sliku. (Ctrl -)" #~ msgid "Zoo&m 100%\tCtrl-I\tZoom image to 100%. (Ctrl-I)" #~ msgstr "Veličina 100%\tCtrl-I\tVeličina 100%. (Ctrl-I)" #~ msgid "Zoom to fit &window\tCtrl-F\tZoomto fit window. (Ctrl-F)" #~ msgstr "" #~ "Zumiraj da stane u &prozor\tCtrl-F \tZumiraj da stane u prozor. (Ctrl-F)" #~ msgid "Rotate &right\tCtrl-R\tRotate right. (Ctrl-R)" #~ msgstr "Rotiraj &desno \tCtrl-R\tRotiraj desno. (Ctrl-R)" #~ msgid "Rotate &left\tCtrl-L\tRotate left. (Ctrl-L)" #~ msgstr "Rotiraj &lijevo\tCtrl-L\tRotiraj lijevo. (Ctrl-L)" #~ msgid "Mirror &horizontally\tCtrl-H\tMirror horizontally. (Ctrl-H)" #~ msgstr "" #~ "Reflektiraj &horizontalno\tCtrl-H\tReflektiraj horizontalno. (Ctrl-H)" #~ msgid "Mirror &vertically\tCtrl-V\tMirror vertically. (Ctrl-V)" #~ msgstr "Reflektiraj &vertikalno\tCtrl-V\tReflektiraj vertikalno. (Ctrl-V)" #~ msgid "&Thumbnails\tCtrl-F7\tShow image thumbnails. (Ctrl-F7)" #~ msgstr "S&ličice\tCtrl-F7 \tPrikaži umanjene slike. (Ctrl-F7)" #~ msgid "&Big icons\tF10\tDisplay directory with big icons (F10)." #~ msgstr "&Velike ikone\tF10\tPrikaži direktorij sa velikim ikonama (F10)." #~ msgid "&Small icons\tF11\tDisplay directory with small icons (F11)." #~ msgstr "&Male ikone\tF11\tPrikaži direktorij sa malim ikonama (F11)." #~ msgid "&Full file list\tF12\tDisplay detailed directory listing (F12)." #~ msgstr "" #~ "&Puna lista datoteka\tF12\tPrikaži detaljan popis direktorija (F12)." #~ msgid "&About X File Image\tF1\tAbout X File Image (F1)." #~ msgstr "&X O X File Image\tF1 \tO X File Image (F1)." #~ msgid "X File Image Version " #~ msgstr "X File Image verzija" #~ msgid "" #~ " is a simple image viewer.\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ " je jednostavni preglednik slika.\n" #~ "\n" #~ "Autorska Prava (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgid "\tNew (Ctrl-N)\tCreate new document. (Ctrl-N)" #~ msgstr "\tNovi (Ctrl-N)\tKreiraj novi dokument. (Ctrl-N)" #~ msgid "\tOpen (Ctrl-O)\tOpen document file. (Ctrl-O)" #~ msgstr "\tOtvori (Ctrl-O)\tOtvori dokument. (Ctrl-O)" #~ msgid "\tSave (Ctrl-S)\tSave document. (Ctrl-S)" #~ msgstr "\tSpasi (Ctrl-S)\tSpasi dokument. (Ctrl-S)" #~ msgid "\tPrint (Ctrl-P)\tPrint document. (Ctrl-P)" #~ msgstr "\tŠtampaj (Ctrl-P)\tŠtampaj dokument. (Ctrl-P)" #~ msgid "\tQuit (Ctrl-Q)\tQuit X File Write. (Ctrl-Q)" #~ msgstr "\tIzađi (Ctrl-Q)\tNapusti X File Write. (Ctrl-Q)" #~ msgid "\tCopy (Ctrl-C)\tCopy selection to clipboard. (Ctrl-C)" #~ msgstr "\tKopiraj (Ctrl-C) \tKopiraj izbor u međuspremnik. (Ctrl-C)" #~ msgid "\tCut (Ctrl-X)\tCut selection to clipboard. (Ctrl-X)" #~ msgstr "\tIzreži (Ctrl-X) \tIzreži izbor u međuspremnik. (Ctrl-X)" #~ msgid "\tPaste (Ctrl-V)\tPaste clipboard. (Ctrl-V)" #~ msgstr "\tUmetni (Ctrl-V)\tUmetni iz međuspremnika. (Ctrl-V)" #~ msgid "\tGoto line (Ctrl-L)\tGoto line number. (Ctrl-L)" #~ msgstr "\tIdi na liniju (Ctrl-L) \tIdi na broj linije. (Ctrl-L)" #~ msgid "\tUndo (Ctrl-Z)\tUndo last change. (Ctrl-Z)" #~ msgstr "\tVrati (Ctrl-Z) \tVrati posljednju promjenu. (Ctrl-Z)" #~ msgid "\tRedo (Ctrl-Y)\tRedo last undo. (Ctrl-Y)" #~ msgstr "\tPonovi (Ctrl-D) \tPonovi zadnju vraćenu naredbu. (Ctrl-S)" #~ msgid "\tSearch (Ctrl-F)\tSearch text. (Ctrl-F)" #~ msgstr "\tTraži (Ctrl-F) \tTraži tekst. (Ctrl-F)" #~ msgid "" #~ "\tSearch selection backward (Shift-Ctrl-G, Shift-F3)\tSearch backward for " #~ "selected text. (Shift-Ctrl-G, Shift-F3)" #~ msgstr "" #~ "\tTraži izbor unazad (Shift-Ctrl-G, Shift-F3)\tTraži unazad izabrani " #~ "tekst. (Shift-Ctrl-G, Shift-F3)" #~ msgid "" #~ "\tSearch selection forward (Ctrl-G, F3)\tSearch forward for selected " #~ "text. (Ctrl-G, F3)" #~ msgstr "" #~ "\tHTraži izbor unaprijed(Ctrl-G, F3)\tTraži unaprijed odabrani tekst›. " #~ "(Ctrl-G, F3)" #~ msgid "\tWord wrap on (Ctrl-K)\tWord wrap on. (Ctrl-K)" #~ msgstr "" #~ "\tPrijelom riječi uključen (Ctrl-K) \tPrijelom riječi uključen. (Ctrl-K)" #~ msgid "\tWord wrap off (Ctrl-K)\tWord wrap off. (Ctrl-K)" #~ msgstr "" #~ "\tPrijelom riječi isključen (Ctrl-K) \tPrijelom riječi isključen. (Ctrl-K)" #~ msgid "\tShow line numbers (Ctrl-T)\tShow line numbers. (Ctrl-T)" #~ msgstr "" #~ "\tPrikaži brojeve linija (Ctrl-T) \tPrikaži brojeve linija. (Ctrl-T)" #~ msgid "\tHide line numbers (Ctrl-T)\tHide line numbers. (Ctrl-L)" #~ msgstr "\tSakrij brojeve linija (Ctrl-T) \tSakrij brojeve linija. (Ctrl-L)" #~ msgid "&New\tCtrl-N\tCreate new document. (Ctrl-N)" #~ msgstr "&Novi\tCtrl-N\tKreiraj novi dokument. (Ctrl-N)" #~ msgid "&Open...\tCtrl-O\tOpen document file. (Ctrl-O)" #~ msgstr "&Otvori ... \tCtrl-O \tOtvori dokument. (Ctrl-O)" #~ msgid "&Save\tCtrl-S\tSave changes to file. (Ctrl-S)" #~ msgstr "&Sniemi \tCtrl-S \tSpasi promjene na datoteci. (Ctrl-S)" #~ msgid "&Close\tCtrl-W\tClose document. (Ctrl-W)" #~ msgstr "&Zatvori \tCtrl-W \tZatvori dokument. (Ctrl-W)" #~ msgid "&Print...\tCtrl-P\tPrint document. (Ctrl-P)" #~ msgstr "&Štampaj... \tCtrl-P\tŠtampaj dokument. (Ctrl-P)" #~ msgid "&Quit\tCtrl-Q\tQuit X File Write. (Ctrl-Q)" #~ msgstr "&Izađi \tCtrl-Q\tNapusti X File Write. (Ctrl-Q)" #~ msgid "&Redo\tCtrl-Y\tRedo last undo. (Ctrl-Y)" #~ msgstr "&Ponovi\tCtrl-Y \tPonovi zadnju poništenu naredbu. (Ctrl-D)" #~ msgid "&Paste\tCtrl-V\tPaste from clipboard. (Ctrl-V)" #~ msgstr "&Umetni\tCtrl-V \tUmetni iz međuspremnika. (Ctrl-V)" #~ msgid "Lo&wer-case\tCtrl-U\tChange to lower case. (Ctrl-U)" #~ msgstr "Ma&la slova \tCtrl-U\tPrebaci na mala slova. (Ctrl-U)" #~ msgid "Upp&er-case\tShift-Ctrl-U\tChange to upper case. (Shift-Ctrl-U)" #~ msgstr "" #~ "Velika &slova \tShift-Ctrl-U \tPrebaci na velika slova. (Ctrl-Shift-U)" #~ msgid "&Goto line...\tCtrl-L\tGoto line number. (Ctrl-L)" #~ msgstr "&Idi na linihju ... \tCtrl-L \tIdi na broj linije. (Ctrl-L)" #~ msgid "&Search...\tCtrl-F\tSearch for a string. (Ctrl-F)" #~ msgstr "&Traži ... \tCtrl-F \tTraži Niz znakova. (Ctrl-F)" #~ msgid "&Replace...\tCtrl-R\tSearch for a string. (Ctrl-R)" #~ msgstr "&Zamijeni ... \tCtrl-R \tZamijeni Niz znakova. (Ctrl-R)" #~ msgid "" #~ "Search sel. &backward\tShift-Ctrl-G\tSearch backward for selected text. " #~ "(Shift-Ctrl-G, Shift-F3)" #~ msgstr "" #~ "Traži izbor &unazad\tShift-Ctrl-G\tTraži izabrani tekst unazad. (Shift-" #~ "Ctrl-G, Shift-F3)" #~ msgid "&Lines numbering\tCtrl-T\tToggle lines numbering mode. (Ctrl-T)" #~ msgstr "" #~ "&Brojanje linija\tCtrl-T \tUključi/Isključi opciju brojanja linija. (Ctrl-" #~ "T)" #~ msgid "&Font...\t\tChange text font." #~ msgstr "&Font ... \t\tPromjeni font texta." #~ msgid "&About X File Write...\tF1\tAbout X File Write. (F1)" #~ msgstr "&O X File Write... \tF1 \tO X File Write. (F1)" #~ msgid "X File Write Version " #~ msgstr "X File Write verzija" #~ msgid "" #~ " is a simple text editor.\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ " je je jednostavni urednik teksta.\n" #~ "\n" #~ "Autorska prava (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgid "\tOpen document (Ctrl-O)\tOpen document file. (Ctrl-O)" #~ msgstr "\tOtvori dokument (Ctrl-O)\tOtvori dokument. (Ctrl-O)" #~ msgid "\tPrint document (Ctrl-P)\tPrint document file. (Ctrl-P)" #~ msgstr "\tŠtampaj dokument (Ctrl-P)\tŠtampaj dokument. (Ctrl-P)" #~ msgid "\tQuit Xfv (Ctrl-Q)\tQuit Xfv. (Ctrl-Q)" #~ msgstr "\tNapusti Xfv (Ctrl-Q)\tNapusti Xfv. (Ctrl-Q)" #~ msgid "\tFind again (Ctrl-G)\tFind again. (Ctrl-G)" #~ msgstr "\tNađi ponovo (Ctrl-G)\tNađi ponovo. (Ctrl-G)" #~ msgid "&Open file...\tCtrl-O\tOpen document file. (Ctrl-O)" #~ msgstr "&Otvori datoteku ... \tCtrl-O \tOtvori dokument datoteku. (Ctrl-O)" #~ msgid "&Print file...\tCtrl-P\tPrint document file. (Ctrl-P)" #~ msgstr "Š&tampaj datoteku ... \tCtrl-P \tŠtampaj datoteku. (Ctrl-P)" #~ msgid "&Quit\tCtrl-Q\tQuit Xfv. (Ctrl Q)" #~ msgstr "&Izađi\tCtrl-Q \tNapusti Xfv. (Ctrl Q)" #~ msgid "&Find a string...\tCtrl-F\tFind a string in a document. (Ctrl-F)" #~ msgstr "" #~ "&Nađi niz znakova... \tCtrl-F \tNađi niz znakova u dokumentu. (Ctrl-F)" #~ msgid "Find &again\tCtrl-G\tFind again. (Ctrl-G)" #~ msgstr "Nađi &ponovo \tCtrl-G \tNađi ponovo. (Ctrl-G)" #~ msgid "&About X File View\tF1\tAbout X File View. (F1)" #~ msgstr "&O X File View\tF1\tO X File View. (F1)" #~ msgid "X File View Version " #~ msgstr " X File View verzija" #~ msgid "" #~ " is a simple text viewer.\n" #~ "\n" #~ "Copyright (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgstr "" #~ " je jednostavni tekst editor.\n" #~ "\n" #~ "Autorska prava (C) 2002-2007 Roland Baudin (roland65@free.fr)" #~ msgid "Modified Date" #~ msgstr "Modifikovan Datum" #~ msgid "&Save Settings\t\tSave settings now." #~ msgstr "&Spremi postavke \t\tSpremi postavke sada." #~ msgid "Select a program file" #~ msgstr "Odaberite programsku datoteku" #~ msgid "Select Icon" #~ msgstr "Odaberite Ikonu" #~ msgid "Always ask before file operation" #~ msgstr "Uvijek pitati prije operacije nad datotekom" #~ msgid "\tQuit (Ctrl-Q, Ctrl-W)" #~ msgstr "\tIzlaz (Ctrl-Q, Ctrl-W)" #~ msgid "&Hidden folders\tCtrl-F5" #~ msgstr "&Skriveni direktoriji \tCtrl-F5" #~ msgid "Can't move folder " #~ msgstr "Ne može se premjestiti direktorij" #~ msgid " to trash can : Permission denied" #~ msgstr "u kantu za smeće : Dozvola odbijena" #~ msgid "\tCopy selected files to the specified destination (Ctrl-K, F5)" #~ msgstr "\tKopiraj odabrane datoteke na navedeno odredište (Ctrl-K, F5)" #~ msgid "Proportional font:" #~ msgstr "Proporcionalan font:" #~ msgid "Select an icon file to set the icon path" #~ msgstr "Odaberite ikonu datoteke za postavljanje puta ikone" #~ msgid "X File Query Version " #~ msgstr "X File Query verzija" #~ msgid "About X File Query" #~ msgstr "O X File Query" #~ msgid " Move to trash can selected item ? " #~ msgstr " Premjestiti u kantu za smeće odabranu stavku? " #~ msgid " Move to trash can all selected items ? " #~ msgstr " Premjestiti u kantu za smeće sve odabrane stavke? " #~ msgid "%s" #~ msgstr "%s" #~ msgid "New file name:" #~ msgstr "Naziv nove datoteke:" #~ msgid "&Options" #~ msgstr "&Opcije" #~ msgid "New folder name:" #~ msgstr "Naziv nove mape:" #~ msgid "" #~ "Create new archive: (e.g. archive.tar.gz)\n" #~ "=>Supported formats : tar, tgz, tbz2, taz, zip, rar, lzh" #~ msgstr "" #~ "Stvoriti novu arhivu: (npr archive.tar.gz)\n" #~ "=>Podržani formati : tar, tgz, tbz2, taz, zip, rar, lzh" #~ msgid "Archive creation cancelled!" #~ msgstr "Stvaranje arhive otkazano!" #~ msgid "" #~ "Create new archive: (e.g. archive.tar.gz)\n" #~ "=>Supported formats : tar, tgz, tbz2, taz, gz, bz2, Z, zip, rar, lzh" #~ msgstr "" #~ "Stvoriti novu arhivu: (npr archive.tar.gz)\n" #~ "=>Podržani formati : tar, tgz, tbz2, taz, gz, bz2, Z, zip, rar, lzh" #~ msgid "&Mix directories" #~ msgstr "&Miješati direktorije" #~ msgid "R&everse order" #~ msgstr "O&brnuti poredak" #~ msgid "M&ix directories" #~ msgstr "M&iješati direktorije" #~ msgid "11111Link to " #~ msgstr "11111Link na" #~ msgid "Pr&operties" #~ msgstr "Sv&ojstva" #~ msgid "Termin&al" #~ msgstr "Termin&al" #~ msgid "\tGo to trash can (Ctrl-F8)" #~ msgstr "\tIdi u kantu za smeće (Ctrl-F8)" #~ msgid "Co&lors" #~ msgstr "Bo&je" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file] \n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file] is the path to the file you want to open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "\n" #~ "Upotreba­: xfv [options] [file] \n" #~ "\n" #~ " [options] mogu biti bilo što od sljede?eg­:\n" #~ "\n" #~ " -h, --pomoć Štampaj (ovaj) pomoć ekran i izađi..\n" #~ " -v, --verzija Štampaj informaciju o verziji i izađi.\n" #~ "\n" #~ " [file] je put do datoteke koju želite otvoriti na pokretanju.\n" #~ "\n" #~ msgid "Proper&ties" #~ msgstr "Svo&jstva" #~ msgid " uninstalled successfully." #~ msgstr " deinstalirano uspješno." #~ msgid "S&mall icons" #~ msgstr "M&ale ikone" #~ msgid "&Size" #~ msgstr "&Veličina" #~ msgid "&Rpm query" #~ msgstr "&RPM upit" #~ msgid "Rename..." #~ msgstr "Preimenuj ..." #~ msgid "Text viewer for non associated files:" #~ msgstr "Tekst preglednik za nepridružene datoteke:" #~ msgid "Text editor for non associated files:" #~ msgstr "Uređivač teksta za nepridružene datoteke:" xfe-1.42/po/ca.po0000644000175100017510000052654612746115274010541 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Xfe 0.60\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2007-02-13 09:52+0100\n" "Last-Translator: muzzol \n" "Language-Team: muz_all_alone_team \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Usage message #: ../src/main.cpp:257 #, fuzzy msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "Forma d'ús: xfe [dirinici] [opcions] \n" "\n" " [dirinici] és la ruta al directori inicial on es vol obrir al\n" " començament.\n" "\n" " [opcions] poden ser qualsevol de les següents:\n" "\n" " --help Mostra (aquesta) pantalla d'ajuda i surt.\n" " --version Mostra la informació de la versió i surt.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 #, fuzzy msgid "Error loading icons" msgstr "Error en carregar l'arxiu" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Usuari" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Llegir" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Escriure" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Executar" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grup" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Altres" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Propietari" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Ordre" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Estableix els marcats" #: ../src/Properties.cpp:113 #, fuzzy msgid "Recursively" msgstr "Directoris recursius" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Neteja els marcats" #: ../src/Properties.cpp:116 #, fuzzy msgid "Files and folders" msgstr "Directoris ocults" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Afegeix els marcats" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Només directoris" #: ../src/Properties.cpp:119 #, fuzzy msgid "Owner only" msgstr "Propietari" #: ../src/Properties.cpp:120 #, fuzzy msgid "Files only" msgstr "Només directoris" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Accepta" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Cancel·la" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&General" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "&Permisos" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Associacions de fitxers" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Extensió:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Descripció:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Obrir:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 #, fuzzy msgid "\tSelect file..." msgstr "Seleccioneu..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Visualitza:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editar:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extreure:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instal·lar/Actualitzar:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Icona Gran:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Icona petita:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Nom" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Sistema de fitxers (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Directori" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Dispositiu de caràcter" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Dispositiu de bloc" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Conducte designat" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Connector (socket)" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 #, fuzzy msgid "Executable" msgstr "Executar" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Document" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Enllaç trencat" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Enllaç a " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Punt de muntatge" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Tipus de muntatge:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Usat:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Lliure:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Sistema de fitxers:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Ubicació:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tipus:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 #, fuzzy msgid "Total size:" msgstr "Total: %s" #: ../src/Properties.cpp:690 #, fuzzy msgid "Link to:" msgstr "Enllaç a " #: ../src/Properties.cpp:695 #, fuzzy msgid "Broken link to:" msgstr "Enllaç trencat a " #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tNeteja la barra d'ubicació\tNeteja la barra d'ubicació." #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Data fitxer" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Última modificació:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Últim canvi:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Últim accés:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "Trieu icona" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Mida:" #: ../src/Properties.cpp:960 #, fuzzy msgid "Selection:" msgstr "Trieu icona" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 #, fuzzy msgid "Multiple types" msgstr "Tipus de muntatge:" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr "0 Octets" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Directoris ocults" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tMostra els atributs de l'arxiu seleccionat (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tMostra els atributs de l'arxiu seleccionat (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Permissos del fitxer" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Advertència" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "S'ha cancel·lat l'operació de moviment de fitxers!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "S'ha cancel·lat l'eliminació d'un directori!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "S'ha cancel·lat l'eliminació d'un directori!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Error" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "No es pot escriure a %s : S'ha denegat el permís" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, fuzzy, c-format msgid "Folder %s doesn't exist" msgstr "El directori %s no existeix" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Reanomena fitxer" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Propietari del fitxer" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "S'ha cancel·lat el canvi de propietari!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "Chmod a %s ha fallat: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "Chmod a %s ha fallat: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod a %s ha fallat: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Permissos del fitxer" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "S'ha cancel·lat el canvi de permisos!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "Chmod a %s ha fallat: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "Obre els arxius seleccionats amb :" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "No es poden canviar els permissos del(s) fitxer(s)!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 #, fuzzy msgid "Select an executable file" msgstr " el directori :" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Tots els fitxers" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "Imatges PNG" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "Imatges GIF" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "Imatges BMP" #: ../src/Properties.cpp:1971 #, fuzzy msgid "Select an icon file" msgstr " el directori :" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Directoris ocults" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 #, fuzzy msgid "Copy here" msgstr "Copiar" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 #, fuzzy msgid "Move here" msgstr "Mou" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 #, fuzzy msgid "Link here" msgstr "Enllaç" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 #, fuzzy msgid "Cancel" msgstr "&Cancel·la" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Còpia el fitxer" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Mou el fitxer" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 #, fuzzy msgid "File symlink" msgstr "Arxiu " #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Copiar" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Moure" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 #, fuzzy msgid "Symlink" msgstr "Enllaç simbòlic" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "A:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "S'ha cancel·lat l'operació de moviment de fitxers!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "S'ha cancel·lat l'operació de còpia de fitxers!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "" #: ../src/DirList.cpp:2007 #, fuzzy msgid "Link to Folder" msgstr "Enllaç a " #: ../src/DirPanel.cpp:449 #, fuzzy msgid "Folders" msgstr "Directori" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Mostra els directoris ocults" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "Directoris ocults" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 #, fuzzy msgid "0 bytes in root" msgstr "0 Octets" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr "S'ha denegat el permís a: %s" #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 #, fuzzy msgid "New &folder..." msgstr "Directori nou" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 #, fuzzy msgid "&Hidden folders" msgstr "Directoris ocults" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 #, fuzzy msgid "&Reverse order" msgstr "Directoris recursius" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 #, fuzzy msgid "E&xpand tree" msgstr "Expandeix l'arbre" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 #, fuzzy msgid "Collap&se tree" msgstr "Col·lapsa l'arbre" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "Vista de panell" #: ../src/DirPanel.cpp:767 #, fuzzy msgid "M&ount" msgstr "Muntar" #: ../src/DirPanel.cpp:768 #, fuzzy msgid "Unmoun&t" msgstr "Desmuntar" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 #, fuzzy msgid "&Add to archive..." msgstr "Afegeix a l'arxiu" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 #, fuzzy msgid "&Copy" msgstr "Copiar" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 #, fuzzy msgid "C&ut" msgstr "Tallar" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 #, fuzzy msgid "&Paste" msgstr "Enganxar" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 #, fuzzy msgid "Re&name..." msgstr "Reanomenar" #: ../src/DirPanel.cpp:779 #, fuzzy msgid "Cop&y to..." msgstr "Copiar" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "Moure" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 #, fuzzy msgid "Symlin&k to..." msgstr "Enllaç simbòlic" #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Esborra : " #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 #, fuzzy msgid "&Delete" msgstr "Eliminar" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Error en l'eliminació del fitxer " #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "S'ha cancel·lat l'eliminació d'un directori!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Crea un arxiu" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Copiar" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Reanomenar" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Renomena " #: ../src/DirPanel.cpp:1631 #, fuzzy msgid "Copy to" msgstr "Copiar" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Mou" #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 #, fuzzy msgid "Symlink " msgstr "Enllaç simbòlic" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, fuzzy, c-format msgid "%s is not a folder" msgstr "%s no és un directori" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 #, fuzzy msgid "Symlink operation cancelled!" msgstr "S'ha cancel·lat l'operació de còpia de fitxers!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Error en l'eliminació del fitxer " #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Confirma l'esborrat" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 #, fuzzy msgid "File delete" msgstr "Esborra fitxer" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #, fuzzy msgid "Delete folder operation cancelled!" msgstr "S'ha cancel·lat l'eliminació de directori!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 #, fuzzy msgid "Confirm Trash" msgstr "Confirma sortida" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "S'ha cancel·lat l'operació de moviment de fitxers!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Esborra : " #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Confirma l'esborrat" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Error en l'eliminació del fitxer " #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "S'ha cancel·lat l'operació de moviment de fitxers!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 #, fuzzy msgid "Create new folder:" msgstr "Crea un nou directori..." #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Directori Nou" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "S'ha cancel·lat l'eliminació d'un directori!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Executa el comandament :" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Muntar" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Desmuntar" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " sistema de fitxers..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr "Esborra : " #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " s'ha cancel·lat l'operació!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr "" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Font :" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Destí : " #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Data de modificació" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Data de modificació" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Esborra :" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "Des de :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "S'estan canviant els permisos..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Arxiu :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "S'està canviant el propietari..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "S'està muntant el sistema d'arxius..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Munta el directori :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "S'està desmuntant el sistema d'arxius..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Desmunta el directori :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " ja existeix. Sobreescriure?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Sobreescriure el fitxer?" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Error en l'eliminació del fitxer " #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Font :" #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Destí : " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "No es pot escriure a %s : S'ha denegat el permís" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "No es pot escriure a %s : S'ha denegat el permís" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, fuzzy, c-format msgid "Source %s doesn't exist" msgstr "El directori %s no existeix" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Esborra : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "Des de: " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Error en l'eliminació del fitxer " #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Error en l'eliminació del fitxer " #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Ja existeix l'arxiu o directori %s" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "No s'ha pogut reanomenar al destí %s" #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Crea un nou arxiu..." #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Crea un nou arxiu..." #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Directori" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Extreu arxiu" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Afegeix a l'arxiu" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Ha fallat l'ordre : %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Èxit" #: ../src/File.cpp:2077 #, fuzzy, c-format msgid "Folder %s was successfully mounted." msgstr "El directori %s s'ha muntat amb èxit." #: ../src/File.cpp:2081 #, fuzzy, c-format msgid "Folder %s was successfully unmounted." msgstr "El directori %s s'ha desmuntat amb èxit." #. Make and show command window #: ../src/File.cpp:2092 #, fuzzy msgid "Install/Upgrade package" msgstr "Instal·la/Actualitza paquet RPM..." #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "S'està instal·lant el paquet :" #. Make and show command window #: ../src/File.cpp:2110 #, fuzzy msgid "Uninstall package" msgstr "S'està desinstal·lant el paquet :" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "S'està instal·lant el paquet :" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "Nom de l'arxiu:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Bé" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Filtre d'arxius:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Només lectura" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tVes un directori amunt\tVes al directori mes amunt." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tVes un directori amunt\tVes al directori mes amunt." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr " el directori :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr "Esborra : " #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tVes al directori de treball\tTornal al directori de treball." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Directori Nou" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Icones grans" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "Icones grans" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "\tMostra llistat\tMostra el directori amb icones petites." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Mostra els directoris ocults" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "Mostra els arxius ocults" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tMostra arxius ocults (Ctrl-F5)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tOculta arxius ocults (Ctrl-F5)" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Crea un nou directori..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Crea un nou directori..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nou Fitxer" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, fuzzy, c-format msgid "File or folder %s already exists" msgstr "Ja existeix l'arxiu o directori %s" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 #, fuzzy msgid "Go ho&me" msgstr "Ves al directori d'usuari\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "Nou arxiu" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 #, fuzzy msgid "New f&older..." msgstr "Directori nou" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&Hidden files" msgstr "Mostra els arxius ocults" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 #, fuzzy msgid "Thum&bnails" msgstr "Terminal\tCtrl-T" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 #, fuzzy msgid "B&ig icons" msgstr "Icones grans" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 #, fuzzy msgid "&Small icons" msgstr "Icones grans" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Llistat d'arxius complet" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 #, fuzzy msgid "&Rows" msgstr "Files" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 #, fuzzy msgid "&Columns" msgstr "Columnes" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 #, fuzzy msgid "&Name" msgstr "Nom" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 #, fuzzy msgid "Si&ze" msgstr "Mida" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 #, fuzzy msgid "&Type" msgstr "Tipus" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 #, fuzzy msgid "E&xtension" msgstr "Extensió:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 #, fuzzy msgid "&Date" msgstr "Enganxar" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Usuari" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Grup" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Directori" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 #, fuzzy msgid "Re&verse order" msgstr "Directoris recursius" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 #, fuzzy msgid "&Family:" msgstr "&Fitxer" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 #, fuzzy msgid "Si&ze:" msgstr "Mida:" #. Character set choice #: ../src/FontDialog.cpp:81 #, fuzzy msgid "Character Set:" msgstr "Dispositiu de caràcter" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 #, fuzzy msgid "Greek" msgstr "Lliure:" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 #, fuzzy msgid "Turkish" msgstr "Arxiu " #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 #, fuzzy msgid "Set Width:" msgstr "Obre amb" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 #, fuzzy msgid "Extra condensed" msgstr "No s'ha especificat el comandament d'extracció" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 #, fuzzy msgid "Expanded" msgstr "Expandeir" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 #, fuzzy msgid "Pitch:" msgstr "Ruta" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Cerca" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 #, fuzzy msgid "All Fonts:" msgstr "Font" #: ../src/FontDialog.cpp:147 #, fuzzy msgid "Preview:" msgstr "Visualitza:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "S'està executant l'Xfe com a root!" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&No" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Sí" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Surt" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Desa" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Si a tot" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "Nom" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr "0 Octets" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Tipus:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Data de modificació" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Usuari" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Grup" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Permisos" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "Trieu icona" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 #, fuzzy msgid "Size: " msgstr "Mida:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Mida" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tipus" #: ../src/FileList.cpp:151 #, fuzzy msgid "Extension" msgstr "Extensió:" #: ../src/FileList.cpp:152 #, fuzzy msgid "Modified date" msgstr "Data de modificació" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Permisos" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 #, fuzzy msgid "Unable to load image" msgstr "No es pot carregar l'arxiu sencer: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "Trieu icona" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtre" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Estat" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Confirma l'esborrat" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 #, fuzzy msgid "Command log" msgstr "Ordre" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "S'ha cancel·lat l'eliminació d'un directori!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Munta el directori :" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "No es pot escriure a %s : S'ha denegat el permís" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "S'ha cancel·lat l'operació de moviment de fitxers!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Error en l'eliminació del fitxer " #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr "Esborra Tots els Elements Seleccionats?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "S'ha cancel·lat l'eliminació de directori!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 #, fuzzy msgid "Create new file:" msgstr "Crea un nou arxiu..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Error en l'eliminació del fitxer " #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Crea un nou arxiu..." #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "No es pot escriure a %s : S'ha denegat el permís" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Crea un nou arxiu..." #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "Enllaç simbòlic" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "El directori %s no existeix" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Obre els arxius seleccionats amb :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Obre amb" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "Associació" #: ../src/FilePanel.cpp:4269 #, fuzzy msgid "Show files:" msgstr "Mostra els arxius :" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Nou arxiu" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Nou arxiu" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 #, fuzzy msgid "Fi<er..." msgstr "Filtre" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Llistat d'arxius complet" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Permisos" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Nou arxiu" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 #, fuzzy msgid "&Mount" msgstr "Muntar" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 #, fuzzy msgid "Open &with..." msgstr "Obre amb..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 #, fuzzy msgid "&Open" msgstr "Obrir:" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Error en l'eliminació del fitxer " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 #, fuzzy msgid "&Extract here" msgstr "Extreu arxiu" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 #, fuzzy msgid "E&xtract to..." msgstr "Extreu a..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 #, fuzzy msgid "&View" msgstr "Visualitza" #: ../src/FilePanel.cpp:4514 #, fuzzy msgid "Install/Up&grade" msgstr "Instal·la/Actualitza" #: ../src/FilePanel.cpp:4515 #, fuzzy msgid "Un&install" msgstr "Desinstal·la" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 #, fuzzy msgid "&Edit" msgstr "Edita" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "Trieu icona" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Paquet :" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Descripció" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr " el directori :" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 #, fuzzy msgid "Copy &to..." msgstr "Copiar" #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "\tMostra dos panells (Ctrl-F4)" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Esborra : " #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Font :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Permissos del fitxer" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr "Seleccioneu..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Tots els arxius" #. File object #: ../src/FilePanel.cpp:5375 #, fuzzy msgid "Package Install/Upgrade" msgstr "Instal·la/Actualitza l'RPM" #. File object #: ../src/FilePanel.cpp:5424 #, fuzzy msgid "Package Uninstall" msgstr "Desinstal·la l'RPM" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Error en l'eliminació del fitxer " #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "No s'ha trobat el gestor de paquets de RedHat (RPM) !" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " pertany al paquet RPM : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informació" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " pertany al paquet RPM : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Obre els arxius seleccionats amb :" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 Octets" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr "Obre els arxius seleccionats amb :" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr "0 Octets" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr "0 Octets" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Enllaç" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "Filtre" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Esborra marcadors" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Realment voleu sortir de l'Xfe?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 #, fuzzy msgid "Cl&ose" msgstr "&Tanca" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Error en l'eliminació del fitxer " #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 #, fuzzy msgid "\tSelect destination..." msgstr "Seleccioneu..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr " el directori :" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr " el directori :" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Afegeix a l'arxiu" #: ../src/ArchInputDialog.cpp:47 #, fuzzy msgid "New archive name:" msgstr "Reanomena fitxer" #: ../src/ArchInputDialog.cpp:61 #, fuzzy msgid "Format:" msgstr "Des de :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Preferències" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Tema actual" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Opcions" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:183 #, fuzzy msgid "Auto save layout" msgstr "Desa automàticament la disposició de la vista" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tMostra els detalls\tMostra el llistat detallat de directoris." #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " el directori :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr " el directori :" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr " el directori :" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 #, fuzzy msgid "&Dialogs" msgstr "Diàleg de selecció de color" #: ../src/Preferences.cpp:314 #, fuzzy msgid "Confirmations" msgstr "Conirmació" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "Confirma l'esborrat" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Esborra el directori :" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Confirma sobreescritura" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Confirma l'esborrat" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Permissos del fitxer" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 #, fuzzy msgid "Warnings" msgstr "Advertència" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "" #: ../src/Preferences.cpp:328 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Avisa si s'executa com a root" #. Third tab - Programs #: ../src/Preferences.cpp:374 #, fuzzy msgid "&Programs" msgstr "Programes" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Programa de terminal:" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Visualitzador de text per defecte:" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Editor de text per defecte:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Permissos del fitxer" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Editor de text per defecte:" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Visualitzador de text per defecte:" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "Crea un arxiu" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Visualitzador de text per defecte:" #: ../src/Preferences.cpp:421 #, fuzzy msgid "Audio player:" msgstr "Visualitzador de text per defecte:" #: ../src/Preferences.cpp:427 #, fuzzy msgid "Video player:" msgstr "Visualitzador de text per defecte:" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Muntar" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Desmuntar" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "" #: ../src/Preferences.cpp:458 #, fuzzy msgid "Color theme" msgstr "Tema de color" #: ../src/Preferences.cpp:468 #, fuzzy msgid "Custom colors" msgstr "Colors" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Color de base" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Color del costat" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Color de fons" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Color de base" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Color de fons de la selecció" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Color del primer pla de la selecció" #: ../src/Preferences.cpp:481 #, fuzzy msgid "File list background color" msgstr "Color de fons de la selecció" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Color de fons de la selecció" #: ../src/Preferences.cpp:483 #, fuzzy msgid "File list highlight color" msgstr "Color de fons de la selecció" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Color del costat" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "Color de base" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Color del costat" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Font" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:499 #, fuzzy msgid "\tSelect path..." msgstr "Seleccioneu..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 #, fuzzy msgid "&Fonts" msgstr "Font" #: ../src/Preferences.cpp:506 #, fuzzy msgid "Fonts" msgstr "Font" #: ../src/Preferences.cpp:509 #, fuzzy msgid "Normal font:" msgstr "Canvia la font" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr "Seleccioneu..." #: ../src/Preferences.cpp:515 #, fuzzy msgid "Text font:" msgstr "Canvia la font de text" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " el directori :" #: ../src/Preferences.cpp:697 #, fuzzy msgid "Change Normal Font" msgstr "Canvia la font" #: ../src/Preferences.cpp:721 #, fuzzy msgid "Change Text Font" msgstr "Canvia la font de text" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Crea un nou arxiu..." #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Crea un nou directori..." #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "\tCòpia els arxius seleccionats al porta-retalls (Ctrl-C, F5)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tEnganxa des del porta-retalls (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "Obri l'arxiu\tCtrl-o" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Aplicació" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "Trieu icona" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "Deselecciona tot\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "Inverteix la selecció\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "Barra d'eines\t\tMostra la barra d'eines" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "Mostra els directoris ocults" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tMostra arxius ocults (Ctrl-F5)" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "&Cerca" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Imprimeix l'arxiu" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 #, fuzzy msgid "Search" msgstr "&Cerca" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "Cerca les icones a" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "&Cerca" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Panell esquerra" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Crea un nou arxiu..." #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Permissos del fitxer" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Esborra : " #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Esborra : " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Crea un nou arxiu..." #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Crea un nou directori..." #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute command" msgstr "Executa el comandament :" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "Terminal" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "S'està muntant el sistema d'arxius..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "S'està desmuntant el sistema d'arxius..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "Panell esquerra" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tNeteja la barra d'ubicació\tNeteja la barra d'ubicació." #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "Renomena " #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tVes\tVes a l'ubicació." #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tVes\tVes a l'ubicació." #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\tVes\tVes a l'ubicació." #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "Afegeix un marcador\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "\tMostra dos panells (Ctrl-F4)" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Visualitza:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Editar:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Mostra els directoris ocults" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Data fitxer" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "Línia:" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Crea un nou directori..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "\tObri un document (Ctrl-O)" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Línia:" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "\tSurt de l'Xfv (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "\tSurt de l'Xfv (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "Trieu icona" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "\tCerca una cadena (Ctrl-F)" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Reinicia" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Els colors es canviaran després de reiniciar.\n" "Reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1830 #, fuzzy msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1854 #, fuzzy msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/Preferences.cpp:1862 #, fuzzy msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Salta" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Salta Tots" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Font :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Data de modificació" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Destí : " #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Executar" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Tanca" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Panell esquerra" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tCòpia els arxius seleccionats al porta-retalls (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tMostra els atributs de l'arxiu seleccionat (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 #, fuzzy msgid "F&ull file list" msgstr "Llistat d'arxius complet" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Paquet :" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr " el directori :" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" "fitxers/directoris.\n" "Desde:" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr "0 Octets" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Imprimeix l'arxiu" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " el directori :" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Munta el directori :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Directori nou" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Canvia la font de text" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "Cerca les icones a" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "Cerca les icones a" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "Cerca les icones a" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Imprimeix l'arxiu" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Total: %s" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Última modificació:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Última modificació:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Usuari" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Data fitxer" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grup" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Data fitxer" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Sistema de fitxers:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Arxiu :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Data fitxer" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Permisos" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Permissos del fitxer" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Mostra els arxius :" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Mostra els arxius :" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Crea un nou arxiu..." #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Crea un nou arxiu..." #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Directoris recursius" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "S'està desmuntant el sistema d'arxius..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "Cerca les icones a" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "Cerca les icones a" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Cerca" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr "Seleccioneu..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Crea un nou arxiu..." #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\tEsborra els arxius seleccionats (Del, F8)" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr " el directori :" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tMostra un panell (Ctrl-F4)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tMostra un panell (Ctrl-F4)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tMostra dos panells (Ctrl-F4)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tMostra dos panells (Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tNeteja la barra d'ubicació\tNeteja la barra d'ubicació." #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tVes\tVes a l'ubicació." #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Directori nou" #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Ves al directori d'usuari\tCtrl-H" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "Refresca\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "Copiar" #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Enllaç simbòlic" #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Permissos del fitxer" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Fitxer" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "Trieu icona" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "Deselecciona tot\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "Inverteix la selecció\tCtrl-I" #: ../src/XFileExplorer.cpp:919 #, fuzzy msgid "P&references" msgstr "Preferències" #: ../src/XFileExplorer.cpp:925 #, fuzzy msgid "&General toolbar" msgstr "&General" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "Barra d'eines\t\tMostra la barra d'eines" #: ../src/XFileExplorer.cpp:927 #, fuzzy msgid "&Panel toolbar" msgstr "Mostra la barra d'eines" #: ../src/XFileExplorer.cpp:928 #, fuzzy msgid "&Location bar" msgstr "Ubicació:" #: ../src/XFileExplorer.cpp:929 #, fuzzy msgid "&Status bar" msgstr "Estat" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "Panell esquerra" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "Afegeix un marcador\tCtrl-B" #: ../src/XFileExplorer.cpp:991 #, fuzzy msgid "&Clear bookmarks" msgstr "Esborra marcadors" #: ../src/XFileExplorer.cpp:993 #, fuzzy msgid "&Bookmarks" msgstr "Marcadors" #: ../src/XFileExplorer.cpp:997 #, fuzzy msgid "&Filter..." msgstr "Filtre" #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 #, fuzzy msgid "&Thumbnails" msgstr "Terminal\tCtrl-T" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 #, fuzzy msgid "&Big icons" msgstr "Icones grans" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 #, fuzzy msgid "T&ype" msgstr "Tipus" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "Enganxar" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Usuari" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Grup" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Directori" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 #, fuzzy msgid "&Left panel" msgstr "Panell esquerra" #: ../src/XFileExplorer.cpp:1027 #, fuzzy msgid "&Filter" msgstr "Filtre" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Directori" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 #, fuzzy msgid "&Right panel" msgstr "Panell dret" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "&Cerca" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Executa el comandament :" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "Terminal" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "Mostra dos panells\tCtrl-F4" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr " el directori :" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Cerca" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Desmuntar" #: ../src/XFileExplorer.cpp:1115 #, fuzzy msgid "&Tools" msgstr "Mostra la barra d'eines" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "\tMostra dos panells (Ctrl-F4)" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "Total: %s" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Refresca\tCtrl-R" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 #, fuzzy msgid "T&rash" msgstr "Arxiu " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:1146 #, fuzzy msgid "&About X File Explorer" msgstr "Quant a X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "S'està executant l'Xfe com a root!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Ajuda" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "Quant a X File Explorer" #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "XFE, X File Explorer Versió %s\n" "\n" "Copyright (C) 2002-2003 Roland Baudin (roland65@free.fr)\n" "\n" "Basat en l'X WinCommander de Maxim Baranov\n" "\n" "Catalan translation by muzzol \n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Quant a X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "Vista de panell" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Executa el comandament :" #: ../src/XFileExplorer.cpp:3707 msgid "Console mode" msgstr "" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr " el directori :" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Realment voleu sortir de l'Xfe?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr "" #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Data de modificació" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Total: %s" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "No es pot sobreescriure el directori %s que no està buit" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Associacions de fitxers" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Associacions de fitxers" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 #, fuzzy msgid "&Preferences" msgstr "Preferències" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tObri el paquet (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Obrir:" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "Barra d'eines\t\tMostra la barra d'eines" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "Quant a X File View" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "Desinstal·la" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instal·la/Actualitza" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Descripció" #. Second item is File List #: ../src/XFilePackage.cpp:194 #, fuzzy msgid "File &List" msgstr "Llista de &fitxers" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Query és un gestor simple d'RPM.\n" "\n" "Copyright (C) 2002-2003 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 #, fuzzy msgid "About X File Package" msgstr "Quant a X File View" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Paquets font RPM" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:243 #, fuzzy msgid "DEB packages" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Obre el document" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 #, fuzzy msgid "No package loaded" msgstr "No s'ha carregat cap paquet RPM" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:296 #, fuzzy msgid "Install/Upgrade Package" msgstr "Instal·la/Actualitza paquet RPM..." #. Make and show command window #: ../src/XFilePackage.cpp:346 #, fuzzy msgid "Uninstall Package" msgstr "S'està desinstal·lant el paquet :" #: ../src/XFilePackage.cpp:495 #, fuzzy msgid "[RPM package]\n" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:500 #, fuzzy msgid "[DEB package]\n" msgstr "Paquets RPM" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Ha fallat la petició de %s !" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Error en carregar l'arxiu" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "No es pot obrir l'arxiu: %s" #. Usage message #: ../src/XFilePackage.cpp:641 #, fuzzy msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "Forma d'ús: xfe [dirinici] [opcions] \n" "\n" " [dirinici] és la ruta al directori inicial on es vol obrir al\n" " començament.\n" "\n" " [opcions] poden ser qualsevol de les següents:\n" "\n" " --help Mostra (aquesta) pantalla d'ajuda i surt.\n" " --version Mostra la informació de la versió i surt.\n" "\n" #: ../src/XFileImage.cpp:104 #, fuzzy msgid "GIF Image" msgstr "Imatges GIF" #: ../src/XFileImage.cpp:105 #, fuzzy msgid "BMP Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:106 #, fuzzy msgid "XPM Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:107 #, fuzzy msgid "PCX Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:108 #, fuzzy msgid "ICO Image" msgstr "Imatges GIF" #: ../src/XFileImage.cpp:109 #, fuzzy msgid "RGB Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:110 #, fuzzy msgid "XBM Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:111 #, fuzzy msgid "TARGA Image" msgstr "Imatges GIF" #: ../src/XFileImage.cpp:112 #, fuzzy msgid "PPM Image" msgstr "Imatges BMP" #: ../src/XFileImage.cpp:113 #, fuzzy msgid "PNG Image" msgstr "Imatges PNG" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 #, fuzzy msgid "JPEG Image" msgstr "Imatges PNG" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 #, fuzzy msgid "TIFF Image" msgstr "Imatges GIF" #: ../src/XFileImage.cpp:253 #, fuzzy msgid "&Image" msgstr "Imatges PNG" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Obrir:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Obre el document" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 #, fuzzy msgid "Print" msgstr "Imprimeix l'arxiu" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Imprimeix l'arxiu" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Línia:" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "Línia:" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Imprimeix l'arxiu" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "Arxius font de C" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "Arxius font de C" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "S'està sortint de l'Xfe" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr " el directori :" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tMostra arxius ocults (Ctrl-F5)" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tMostra les icones\tMostra el directori amb icones grans." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tMostra llistat\tMostra el directori amb icones petites." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Llistat d'arxius complet" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tMostra els detalls\tMostra el llistat detallat de directoris." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Barra d'eines\t\tMostra la barra d'eines" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "Llistat d'arxius complet" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "\tMostra llistat\tMostra el directori amb icones petites." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Color de fons de la selecció" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tMostra les icones\tMostra el directori amb icones grans." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Data fitxer" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "\tMostra llistat\tMostra el directori amb icones petites." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "Quant a X File View" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "Quant a X File View" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 #, fuzzy msgid "About X File Image" msgstr "Quant a X File View" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Error Loading Image" msgstr "Error en carregar l'arxiu" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "No es pot carregar l'arxiu sencer: %s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "La font canviarà després de reiniciar.\n" "Voleu reiniciar X File Explorer ara?" #: ../src/XFileImage.cpp:1541 #, fuzzy msgid "Open Image" msgstr "Obre el document" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 #, fuzzy msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "Forma d'ús: xfe [dirinici] [opcions] \n" "\n" " [dirinici] és la ruta al directori inicial on es vol obrir al\n" " començament.\n" "\n" " [opcions] poden ser qualsevol de les següents:\n" "\n" " --help Mostra (aquesta) pantalla d'ajuda i surt.\n" " --version Mostra la informació de la versió i surt.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 #, fuzzy msgid "XFileWrite Preferences" msgstr "Preferències" #. First tab - Editor #: ../src/WriteWindow.cpp:197 #, fuzzy msgid "&Editor" msgstr "Edita" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 #, fuzzy msgid "Text" msgstr "Canvia la font de text" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 #, fuzzy msgid "Tabulation size:" msgstr "Total: %s" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 #, fuzzy msgid "&Colors" msgstr "Colors" #: ../src/WriteWindow.cpp:222 #, fuzzy msgid "Lines" msgstr "Línia:" #: ../src/WriteWindow.cpp:225 #, fuzzy msgid "Background:" msgstr "Color de fons" #: ../src/WriteWindow.cpp:228 #, fuzzy msgid "Text:" msgstr "Canvia la font de text" #: ../src/WriteWindow.cpp:231 #, fuzzy msgid "Selected text background:" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:234 #, fuzzy msgid "Selected text:" msgstr "Trieu icona" #: ../src/WriteWindow.cpp:237 #, fuzzy msgid "Highlighted text background:" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:240 #, fuzzy msgid "Highlighted text:" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:243 #, fuzzy msgid "Cursor:" msgstr "Color del costat" #: ../src/WriteWindow.cpp:246 #, fuzzy msgid "Line numbers background:" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:249 #, fuzzy msgid "Line numbers foreground:" msgstr "Color del primer pla de la selecció" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Cerca" #: ../src/WriteWindow.cpp:610 #, fuzzy msgid "&Window" msgstr "&Cerca" #. Caption before number #: ../src/WriteWindow.cpp:643 #, fuzzy msgid " Lines:" msgstr "Línia:" #. Caption before number #: ../src/WriteWindow.cpp:650 #, fuzzy msgid " Col:" msgstr "Col:" #. Caption before number #: ../src/WriteWindow.cpp:657 #, fuzzy msgid " Line:" msgstr "Línia:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Crea un nou directori..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "\tObri un document (Ctrl-O)" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save" msgstr "&Desa" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Obre el document" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "&Tanca" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tObri un document (Ctrl-O)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Obre el document" #: ../src/WriteWindow.cpp:680 #, fuzzy msgid "Quit" msgstr "&Surt" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "Quant a X File View" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "\tCòpia els arxius seleccionats al porta-retalls (Ctrl-C, F5)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Tallar" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "Enganxar" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tEnganxa des del porta-retalls (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "Línia:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Cerca" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "\tSurt de l'Xfv (Ctrl-Q, F10)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "Llegir" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "&Cerca" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "Mostra la barra d'ubicació" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "Mostra la barra d'ubicació" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Nou arxiu" #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "\tObri un document (Ctrl-O)" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "\tObri un document (Ctrl-O)" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Obre el document" #: ../src/WriteWindow.cpp:782 #, fuzzy msgid "&Clear Recent Files" msgstr "Arxius font de C" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 #, fuzzy msgid "&Undo" msgstr "&Cerca" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 #, fuzzy msgid "&Redo" msgstr "Llegir" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Obre el document" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 #, fuzzy msgid "Cu&t" msgstr "Tallar" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tEnganxa des del porta-retalls (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "S'ha cancel·lat el canvi de propietari!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "S'ha cancel·lat el canvi de propietari!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Línia:" #: ../src/WriteWindow.cpp:854 #, fuzzy msgid "Select &All" msgstr "Trieu icona" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "Estat" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "Barra d'eines\t\tMostra la barra d'eines" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Cerca" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "&Cerca" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "Trieu icona" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "\tObri un document (Ctrl-O)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "&Cerca" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "Color de fons de la selecció" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "\tCerca una cadena (Ctrl-F)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "Font" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Canvia la font de text" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "Preferències" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "Font de text\t\tCanvia la font del text" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Quant a X File View" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "Quant a X File View" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "" #: ../src/WriteWindow.cpp:1094 #, fuzzy, c-format msgid "Unable to read file: %s" msgstr "No es pot obrir l'arxiu: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 #, fuzzy msgid "Error Saving File" msgstr "S'ha produït un error en llegir el fitxer" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1189 #, fuzzy, c-format msgid "File: %s truncated." msgstr "Reanomena fitxer" #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 #, fuzzy msgid "About X File Write" msgstr "Quant a X File View" #: ../src/WriteWindow.cpp:1484 #, fuzzy msgid "Change Font" msgstr "Canvia la font de text" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Arxius de text" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "Arxius font de C" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "Arxius font de C++" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "Arxius de capçalera de C/C++" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 #, fuzzy msgid "HTML Files" msgstr "Arxius de capçalera HTML" #: ../src/WriteWindow.cpp:1532 #, fuzzy msgid "PHP Files" msgstr "Tots els arxius" #: ../src/WriteWindow.cpp:1653 #, fuzzy msgid "Unsaved Document" msgstr "Obre el document" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 #, fuzzy msgid "Save Document" msgstr "Obre el document" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, fuzzy msgid "Overwrite Document" msgstr "Obre el document" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1824 #, fuzzy msgid " (changed)" msgstr "Últim canvi:" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Només lectura" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 #, fuzzy msgid "File Was Changed" msgstr "Últim canvi:" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2115 #, fuzzy msgid "Replace" msgstr "Trieu icona" #: ../src/WriteWindow.cpp:2276 #, fuzzy msgid "Goto Line" msgstr "Línia:" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:138 #, fuzzy msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "Forma d'ús: xfe [dirinici] [opcions] \n" "\n" " [dirinici] és la ruta al directori inicial on es vol obrir al\n" " començament.\n" "\n" " [opcions] poden ser qualsevol de les següents:\n" "\n" " --help Mostra (aquesta) pantalla d'ajuda i surt.\n" " --version Mostra la informació de la versió i surt.\n" "\n" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Munta el directori :" #: ../src/foxhacks.cpp:779 #, fuzzy msgid "Ready." msgstr "Llegir" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "" #: ../src/foxhacks.cpp:808 #, fuzzy msgid "Re&place All" msgstr "Trieu icona" #: ../src/foxhacks.cpp:816 #, fuzzy msgid "Search for:" msgstr "&Cerca" #: ../src/foxhacks.cpp:828 #, fuzzy msgid "Replace with:" msgstr "Trieu icona" #: ../src/foxhacks.cpp:841 #, fuzzy msgid "Ex&act" msgstr "Extreure:" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "" #: ../src/foxhacks.cpp:843 #, fuzzy msgid "E&xpression" msgstr "Extensió:" #: ../src/foxhacks.cpp:844 #, fuzzy msgid "&Backward" msgstr "Color de fons" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Error en l'eliminació del fitxer " #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr " el directori :" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Executa el comandament :" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Esborra el directori :" #: ../src/xfeutils.cpp:917 #, fuzzy msgid "bytes" msgstr "0 Octets" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Còpia el fitxer" #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Error en l'eliminació del fitxer " #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr " el directori :" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Propietari del fitxer" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Visualitzador de text per defecte:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "Editor de text per defecte:" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Paquet :" #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "No s'ha trobat el gestor de paquets de RedHat (RPM) !" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tMostra dos panells (Ctrl-F4)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Directori" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Directori" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Confirma sobreescritura" #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "Quant a X File View" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Executa el comandament :" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Delete: " #~ msgstr "Esborra : " #, fuzzy #~ msgid "File: " #~ msgstr "Arxiu : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Quant a X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Panell dret" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Panell esquerra" #, fuzzy #~ msgid "Error " #~ msgstr "Error" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Execute command " #~ msgstr "Executa el comandament :" #, fuzzy #~ msgid "Command log " #~ msgstr "Ordre" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #~ msgid "Non-existing file: %s" #~ msgstr "Arxiu inexistent: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "No s'ha pogut reanomenar al destí %s" #, fuzzy #~ msgid "Mouse" #~ msgstr "Moure" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Data de modificació" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Data de modificació" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tVes un directori amunt\tVes al directori mes amunt." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tVes un directori amunt\tVes al directori mes amunt." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Munta el directori :" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tVes un directori amunt\tVes al directori mes amunt." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tVes al directori d'usuari\tTorna al directori d'usuari." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tVes al directori de treball\tTornal al directori de treball." #, fuzzy #~ msgid "Show icons" #~ msgstr "Mostra els arxius :" #, fuzzy #~ msgid "Show list" #~ msgstr "Mostra els arxius :" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tMostra llistat\tMostra el directori amb icones petites." #, fuzzy #~ msgid "Show details" #~ msgstr "\tMostra arxius ocults (Ctrl-F5)" #, fuzzy #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "Forma d'ús: xfe [dirinici] [opcions] \n" #~ "\n" #~ " [dirinici] és la ruta al directori inicial on es vol obrir al\n" #~ " començament.\n" #~ "\n" #~ " [opcions] poden ser qualsevol de les següents:\n" #~ "\n" #~ " --help Mostra (aquesta) pantalla d'ajuda i surt.\n" #~ " --version Mostra la informació de la versió i surt.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Col:" #~ msgid "Line:" #~ msgstr "Línia:" #, fuzzy #~ msgid "Open document." #~ msgstr "Obre el document" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "S'està sortint de l'Xfe" #~ msgid "Find" #~ msgstr "Cerca" #, fuzzy #~ msgid "Find again" #~ msgstr "Cerca de nou\tCtrl-G" #, fuzzy #~ msgid "Find string again." #~ msgstr "Cerca de nou\tCtrl-G" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Cerca" #, fuzzy #~ msgid "Find &again" #~ msgstr "Cerca de nou\tCtrl-G" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Barra d'eines\t\tMostra la barra d'eines" #, fuzzy #~ msgid "&About X File View" #~ msgstr "Quant a X File View" #, fuzzy #~ msgid "About X File View." #~ msgstr "Quant a X File View" #~ msgid "About X File View" #~ msgstr "Quant a X File View" #~ msgid "Error Reading File" #~ msgstr "S'ha produït un error en llegir el fitxer" #~ msgid "Unable to load entire file: %s" #~ msgstr "No es pot carregar l'arxiu sencer: %s" #~ msgid "&Find" #~ msgstr "&Cerca" #~ msgid "Not Found" #~ msgstr "No s'ha trobat" #~ msgid "String '%s' not found" #~ msgstr "No s'ha trobat la cadena '%s'" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Visualitzador de text per defecte:" #, fuzzy #~ msgid "In directory:" #~ msgstr " el directori :" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr " el directori :" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Esborra : " #, fuzzy #~ msgid "File size at least:" #~ msgstr "Directoris ocults" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Associacions de fitxers" #, fuzzy #~ msgid " Items" #~ msgstr "0 Octets" #, fuzzy #~ msgid "Search results - " #~ msgstr "Cerca les icones a" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tMostra les icones\tMostra el directori amb icones grans." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tMostra llistat\tMostra el directori amb icones petites." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tMostra els detalls\tMostra el llistat detallat de directoris." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tMostra arxius ocults (Ctrl-F5)" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tOculta arxius ocults (Ctrl-F5)" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\tCòpia els arxius seleccionats al porta-retalls (Ctrl-C, F5)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tMostra els atributs de l'arxiu seleccionat (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tEsborra els arxius seleccionats (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\tRetalla els arxius seleccionats al porta-retalls (Ctrl-X)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr " el directori :" #, fuzzy #~ msgid "Search files..." #~ msgstr "Seleccioneu..." #, fuzzy #~ msgid "Dir&ectories first" #~ msgstr "Llista de directoris" #, fuzzy #~ msgid "&Directories first" #~ msgstr "Llista de directoris" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr " el directori :" #, fuzzy #~ msgid "Go to working directory" #~ msgstr " el directori :" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\tVes un directori amunt\tVes al directori mes amunt." #, fuzzy #~ msgid "Go to next directory" #~ msgstr " el directori :" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " el directori :" #, fuzzy #~ msgid "Directory name" #~ msgstr "Directori" #~ msgid "Confirm quit" #~ msgstr "Confirma sortida" #~ msgid "Quitting Xfe" #~ msgstr "S'està sortint de l'Xfe" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "Barra d'eines\t\tMostra la barra d'eines" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "Barra d'eines\t\tMostra la barra d'eines" #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "\tEsborra els arxius seleccionats (Del, F8)" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr "Esborra Tots els Elements Seleccionats?" #, fuzzy #~ msgid "&Execute" #~ msgstr "Executar" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Confirma esborrat" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ "fitxers/directoris.\n" #~ "Desde:" #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "No es pot sobreescriure el directori %s que no està buit" #, fuzzy #~ msgid "Move folder " #~ msgstr "Munta el directori :" #~ msgid "File " #~ msgstr "Arxiu " #, fuzzy #~ msgid "Can't copy folder " #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid ": Permission denied" #~ msgstr " : S'ha denegat el permís" #, fuzzy #~ msgid "Can't copy file " #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Installing package: " #~ msgstr "S'està instal·lant el paquet :" #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "S'està instal·lant el paquet :" #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ "fitxers/directoris.\n" #~ "Desde:" #, fuzzy #~ msgid " Move " #~ msgstr "Mou" #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tEsborra els arxius seleccionats (Del, F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid " selected items? " #~ msgstr "Obre els arxius seleccionats amb :" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr " està protegit contra escriptura, esborrar-lo de totes maneres?" #, fuzzy #~ msgid "X File Package Version " #~ msgstr "Quant a X File View" #, fuzzy #~ msgid "X File Image Version " #~ msgstr "Quant a X File View" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Preferències" #, fuzzy #~ msgid "X File View Version " #~ msgstr "Permissos del fitxer" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Munta el directori :" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tEsborra els arxius seleccionats (Del, F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Grup" #, fuzzy #~ msgid "Go home" #~ msgstr "Ves al directori d'usuari\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Llistat d'arxius complet" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Executa el comandament :" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Afegeix un marcador\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tRefresca el panell (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminal" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Error en l'eliminació del fitxer " #, fuzzy #~ msgid "Deleted from" #~ msgstr "Esborra : " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Esborra : " xfe-1.42/po/de.po0000644000175100017510000051651012746115274010534 00000000000000# Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2014 Roland Baudin # This file is distributed under the same license as the xfe package. # Joachim Wiedorn , 2011, 2013, 2014. # Roland Baudin , 2013. # msgid "" msgstr "" "Project-Id-Version: Xfe 1.40\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2014-12-27 01:10+0100\n" "Last-Translator: Joachim Wiedorn \n" "Language-Team: de\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Language: de_DE\n" "X-Generator: Poedit 1.5.4\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Aufruf: xfe [optionen] [ordner|datei]\n" "\n" " [optionen] kann Folgendes sein:\n" "\n" " -h, --help Diese Hilfe anzeigen und beenden.\n" " -v, --version Versionsinformation anzeigen und beenden.\n" " -i, --iconic Mit Icons starten.\n" " -m, --maximized Mit maximaler Größe starten.\n" " -p n, --panel n Bestimmte Feldansicht n erzwingen (n=0 => Baum " "und ein Feld,\n" " n=1 => ein Feld, n=2 => zwei Felder, n=3 => " "Baum und zwei Felder).\n" "\n" " [ordner|datei] ist eine Liste von Ordnern oder Dateien, die beim Starten " "geöffnet werden sollen.\n" " Die ersten beiden Ordner werden in den Datei-Feldern angezeigt, die " "anderen werden ignoriert.\n" " Die Anzahl von zu öffnenden Dateien ist nicht begrenzt.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Warnung: Unbekannter Feld-Modus, verwende letzten gespeicherten Feld-Modus\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Fehler beim Laden der Symbole" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" "Einige Symbole konnten nicht geladen werden. Bitte den Symbole-Pfad " "überprüfen!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Benutzer" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Lesen" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Schreiben" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Ausführen" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Gruppe" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Andere" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Spezial" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "UID setzen" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "GID setzen" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Sticky" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Besitzer" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Befehl" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Markieren" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekursiv" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Markierung löschen" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Dateien und Ordner" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Markierung hinzufügen" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Nur Ordner" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Nur Besitzer" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Nur Dateien" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Eigenschaften" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "Ü&bernehmen" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Abbrechen" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Allgemein" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Bere&chtigungen" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Dateiverbindungen" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Endung:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Beschreibung:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Öffnen:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tDatei auswählen..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Ansicht:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editieren:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Extrahieren:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Installieren/Aktualisieren:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Großes Symbol: " #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Kleines Symbol: " #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Name" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Achtung: Dateiname ist nicht UTF-8 kodiert!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Dateisystem (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Ordner" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Zeichenorientiertes Gerät" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blockorientiertes Gerät" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Benannte \"Pipe\"" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Ausführbar" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Ungültige Verknüpfung" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Verknüpfung zu" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Einhängepunkt" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Einhängetyp:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Belegt:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Frei:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Dateisystem:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Adresse:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Gesamtgröße:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Verknüpfen mit :" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Ungültige Verknüpfung mit:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Ursprüngliche Adresse:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Datei Daten" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Letzte Änderung:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Letzte Änderung:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Letzter Zugriff:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Programmstart-Anzeige" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Programmstart-Anzeige für diese Datei deaktivieren" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Löschdatum:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu Bytes)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu Bytes)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Größe:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Auswahl:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Mehrfache Typen" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d Einträge" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d Datei(en), %d Ordner" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Eigenschaften der markierten Datei anzeigen" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Eigenschaften der markierten Datei anzeigen" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Datei-Eigenschaften" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Warnung" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Datei verschieben abgebrochen!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Fehler" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Konnte nicht nach %s schreiben: Zugriff verweigert" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Ordner %s existiert nicht" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Datei umbenennen" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Datei Eigentümer" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Ändern des Eigentümers abgebrochen!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "chown in %s fehlgeschlagen: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "chown in %s fehlgeschlagen" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Spezielle Zugriffsberechtigungen können unsicher sein! Ist dies wirklich Ihr " "Wunsch?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "chmod in %s fehlgeschlagen: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Datei Berechtigungen" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Ändern der Berechtigungen abgebrochen!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "chmod in %s fehlgeschlagen" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "%s in %s markierten Einträgen" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Ändern der Dateiberechtigungen abgebrochen!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Eine ausführbare Datei auswählen" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Alle Dateien" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG Bilder" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF Bilder" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP Bilder" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Symbol-Datei auswählen" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u Datei(en), %u Unterordner" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Hierher kopieren" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Hierher verschieben " #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Hierher verknüpfen" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Abbrechen" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Datei kopieren" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Datei verschieben" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Datei-Verknüpfung" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopieren" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "%s Dateien/Ordner kopieren.\n" "Von: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Verschieben" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "%s Dateien/Ordner verschieben.\n" "Von: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Verknüpfung" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Nach:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Ein Fehler ist während dem Verschieben einer Datei aufgetreten!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Datei verschieben abgebrochen!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Ein Fehler ist während dem Kopiern einer Datei aufgetreten!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Datei kopieren abgebrochen!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Eingehängter Datenträger %s reagiert nicht..." #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Verknüpfung mit Ordner" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Ordner" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Versteckte Ordner anzeigen" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Versteckte Ordner nicht anzeigen" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 Byte im Wurzelverzeichnis" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Anzeigefeld hat den Fokus" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Vertikale Felder" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Zugriff auf %s verweigert." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Neuer &Ordner..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Ve&rsteckte Ordner" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "I&gnoriere Groß-/Kleinschreibung" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "umgekeh&rte Sortierung" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "&Baum aufklappen" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Baum &zuklappen" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "&Anzeigefeld" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "Laufwerk &verbinden" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "Laufwerk &trennen" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "Ein komprimiertes Paket &herstellen..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopieren" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Aus&schneiden" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Einfügen" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "&Umbenennen..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Kopieren &nach..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "&Verschieben nach..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Ve&rknüpfung mit..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "In den &Papierkorb verschieben" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "Aus dem Papierkorb &zurückholen" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Löschen" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "&Eigenschaften" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Kann Ordner %s nicht öffnen: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Kann Ordner %s nicht öffnen" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Archiv erstellen" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopieren " #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "%s Einträge kopieren von: %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Umbenennen" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Umbenennen " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopieren nach" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Verschieben " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "%s Einträge verschieben von: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Verknüpfung" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "%s Einträge verknüpfen von: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s ist kein Ordner" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" "Ein Fehler ist während der Erstellung der symbolischen Verknüpfung " "aufgetreten!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Erstellung der symbolischen Verknüpfung wurde abgebrochen!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Ordner %s endgültig löschen?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Löschen bestätigen" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Datei löschen" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Ordner %s ist nicht leer, trotzdem löschen?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Ordner %s ist schreibgeschützt, trotzdem unbedingt löschen?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Löschen des Ordners - abgebrochen!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Ordner %s in den Papierkorb verschieben?" # JOO: ist das richtig ? #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Papierkorb-Leeren bestätigen" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Verschieben in den Papierkorb" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "" "Ordner %s ist schreibgeschützt, trotzdem in den Papierkorb verschieben?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" "Ein Fehler ist während dem Verschieben einer Datei in den Papierkorb " "aufgetreten!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Verschieben in den Papierkorb - abgebrochen!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Wiederherstellen aus dem Papierkorb" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Ordner %s an ursprünglicher Adresse %s wiederherstellen?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Wiederherstellen bestätigen" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Informationen herstellen ist für %s nicht verfügbar" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" "Übergeordnetes Verzeichnis %s existiert nicht, soll es erstellt werden?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Kann Ordner %s nicht erstellen: %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Kann Ordner %s nicht erstellen" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" "Ein Fehler ist während der Wiederherstellung aus dem Papierkorb aufgetreten!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Abbruch der Wiederherstellung aus dem Papierkorb!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Neuen Ordner erstellen:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Neuer Ordner" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Kann Befehl %s nicht ausführen" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Laufwerk einhängen" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Laufwerk trennen" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " Dateisystem..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " der Ordner:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " Aktion abgebrochen!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " in Wurzelverzeichnis" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Quelle :" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Ziel :" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Kopierte Daten: " #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Verschobene Daten: " #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Löschen :" #: ../src/File.cpp:136 msgid "From:" msgstr "Von :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Ändere Berechtigungen..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Datei :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Ändere Besitzer..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Laufwerk einhängen..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Ordner einhängen:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Laufwerk trennen..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Ordner trennen:" #: ../src/File.cpp:300 #, fuzzy, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Verzeichnis %s existiert schon.\n" "Überschreiben?\n" "=> Achtung, alle Dateien im Verzeichnis gehen auf jeden Fall verloren!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Datei %s existiert bereits.\n" "Überschreiben?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Überschreiben bestätigen" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Kann Datei %s nicht kopieren: %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Kann Datei %s nicht kopieren" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Quelle : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Ziel : " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Kann Datum der Datei %s beim Kopieren nicht erhalten: %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Kann Datum der Datei %s beim Kopieren nicht erhalten" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Kann Ordner %s nicht kopieren: Zugriff verweigert" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Kann Datei %s nicht kopieren: Zugriff verweigert" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Kann Datum beim Kopieren von Ordner %s nicht erhalten: %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Kann Datum der Ordner %s beim Kopieren nicht erhalten" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Quelle %s existiert nicht" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "Ziel %s ist identisch zur Quelle" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Ziel %s ist ein Unterordner der Quelle" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Ordner löschen: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Von : " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Kann Ordner %s nicht löschen: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Kann Ordner %s nicht löschen" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Kann Datei %s nicht löschen: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Kann Datei %s nicht löschen" #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "Datei oder Ordner %s existiert bereits" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr "Kann nicht nach Ziel %s umbenennen: %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Kann Verknüpfung %s nicht erstellen: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Kann Verknüpfung %s nicht erstellen" #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Ordner: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Archiv entpacken" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Zu Archiv hinzufügen" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Fehlgeschlagener Befehl: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Erfolg" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Ordner %s wurde erfolgreich eingehängt." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Ordner %s wurde erfolgreich getrennt." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Pakete installieren/aktualisieren" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Paket installieren: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Deinstalliere Paket" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Paket deinstallieren: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Dateiname:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Date&filter:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Schreibgeschützt" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Zum vorherigen Ordner wechseln" #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Zum nächsten Ordner wechseln" #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Zum übergeordneten Ordner wechseln" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Zum Heimatordner wechseln" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Zum Arbeitsordner wechseln" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Neuer Ordner" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Liste mit großen Symbolen" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Liste mit kleinen Symbolen" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Detaillierte Dateiliste" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Versteckte Dateien anzeigen" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Versteckte Dateien nicht anzeigen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Thumbnails anzeigen" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Thumbnails verstecken" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Neuen Ordner erstellen..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Neue Datei erstellen..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Neue Datei" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Datei oder Ordner %s existiert bereits" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Gehe zum &Heimatordner" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Zum Ar&beitsordner" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Neue &Datei..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Neuer &Ordner..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "Ver&steckte Dateien" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Vorsc&haubilder" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "&Große Symbole" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Kleine Symbole" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "&Lange Dateiliste" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "&Zeilen" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "S&palten" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Automatische Größe" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Name" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "G&röße" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "&Endung" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Benutzer" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "Gru&ppe" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Ordn&er zuerst" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "Sortierung &umkehren" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Familie:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Gewicht:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Stil:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "G&röße:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Zeichensatz:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Beliebig" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "West-Europäisch" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Ost-Europäisch" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Süd-Europäisch" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Nord-Europäisch" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Kyrillisch" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabisch" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Griechisch" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebräisch" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Türkisch" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Skandinavisch" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thai" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltisch" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Irisch" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Russisch" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Zentral-Europäisch (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Russisch (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Latin1 (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Griechisch (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Türkisch (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebräisch (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabisch (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltisch (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamesisch (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thai (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Breite setzen:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Sehr stark verdichtet" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Stark verdichtet" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Verdichtet" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Etwas verdichtet" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normal" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Etwas gedehnt" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Gedehnt" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Stark gedehnt" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Sehr stark gedeht" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Zeichen/Zoll:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fest" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variable" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "Einstellbar:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Alle Schriften:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Voransicht:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Xfe als \"root\" starten" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Nein" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ja" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Beenden" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Speichern" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ja für &Alle" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Bitte User Passwort eingeben:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Bitte \"root\" Passwort eingeben:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Ein Fehler ist aufgetreten!" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Name: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Größe im Wurzelverzeichnis: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Änderungsdatum: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Benutzer: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Gruppe: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Berechtigungen: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Ursprungspfad:" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Löschdatum: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Größe: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Größe" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Endung" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Änderungsdatum" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Berechtigungen" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Konnte Bilddatei nicht laden" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Ursprungspfad" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Löschen Datum" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filter" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Status" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" "Datei %s ist eine ausführbare Textdatei, was soll mit ihr getan werden?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Ausführen bestätigen" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Befehlssprotokoll" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Dateiname ist leer, Ausführung wurde abgebrochen" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "In den Ordner: " #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Kann nicht in den Papierkorb %s schreiben: Zugriff verweigert" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Datei %s in den Papierkorb verschieben?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "%s markierte Dateien in den Papierkorb verschieben?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Datei %s ist schreibgeschützt, trotzdem in den Papierkorb verschieben?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Datei in den Papierkorb verschieben wurde abgebrochen!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Datei %s an urspünglicher Adresse %s wiederherstellen?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "%s markierte Einträge an ursprünglicher Adresse wiederherstellen?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Kann den Ordner %s nicht erstellen: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Datei %s endgültig löschen?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "%s markierte Einträge endgültig löschen?" #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Datei %s ist schreibgeschützt, trotzdem löschen?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Löschen der Datei abgebrochen!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Vergleichen" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "Mit:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Programm %s nicht gefunden. Bitte legen Sie ein Programm für den " "Dateivergleich im Einstellungsdialog fest!" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Neue Datei anlegen:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Kann Datei %s nicht erstellen: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Kann Datei %s nicht erstellen" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Kann keine Berechtigungen in %s setzen: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Kann keine Berechtigungen in %s setzen" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Neue Verknüpfung anlegen :" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Neue Verknüpfung" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Mit dem Symlink verbundene Datei / Ordner auswählen" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Die Verknüpfung Quelle %s existiert nicht" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Öffne die markierte(n) Datei(en) mit :" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Öffnen mit" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "&Zuordnen" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Dateien anzeigen:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Neue &Datei..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Neue &Verknüpfung..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "&Filter..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "&Lange Dateiliste" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "Bere&chtigungen" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "Neue &Datei..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "Laufwerk &einhängen" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Öffnen &mit..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "Ö&ffnen" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Entp&acken in den Ordner " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Hier entpacken" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Ent&packen nach..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "Be&trachten" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "&Installieren/Aktualisieren" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "&Deinstallieren" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Bearbeiten" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Ver&gleichen..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Ver&gleichen" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "&Paketabfrage " #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Skript-Programme" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "Zum Skript-Ordner wechseln" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopieren &nach..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "Verschieben &in den Papierkorb" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "Wiederherstellen &aus dem Papierkorb" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Vergleichen" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Eigenschaften" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Zielordner auswählen" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Alle Dateien" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Paket installieren/aktualisieren" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Paket deinstallieren" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Fehler: Aufteilung misslang: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Kann Skript-Ordner %s nicht erstellen: %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Kann Skript-Ordner %s nicht erstellen" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "RedHat Paket Verwalter (RPM) nicht gefunden!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Datei %s gehört zu keinem Paket." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Information" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Datei %s gehört zum Paket: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Markierter Text:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 Byte" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s in %s markierten Einträgen" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 Eintrag" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " Einträge" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Verknüpfung" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filter: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Lesezeichenlimit erreicht. Das letzte Lesezeichen wird gelöscht..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Löschen von Lesezeichen bestätigen" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Wollen Sie wirklich alle Lesezeichen löschen?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Schließen" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Kann \"Pipes\" nicht duplizieren: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Kann \"Pipes\" nicht duplizieren" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> ABBRUCH DES BEFEHLS <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> ENDE DES BEFEHLS <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tZiel auswählen..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Datei auswählen" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Datei oder Zielordner auswählen" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Komprimieren" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Neuer Paket-Name:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Format:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tPaketformat ist tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tPaketformat ist zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tPaketformat ist 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tPaketformat ist tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tPaketformat ist tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tPaketformat ist tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tPaketformat ist tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tPaketformat ist gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tPaketformat ist bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "7z\tPaketformat ist xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tPaketformat ist Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Einstellungen" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Aktuelles Schema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Optionen" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Benutze Papierkorb für gelöschte Dateien (sicheres Löschen)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Befehl für das Löschen ohne Papierkorb festlegen (endgültiges Löschen)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Layout automatisch speichern" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Fensterposition speichern" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Einfacher Klick zum Öffnen von Ordnern" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Einfacher Klick zum Öffnen von Dateien" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Hinweise in Datei- und Ordnerlisten anzeigen" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Größe der Dateiliste relativ ändern" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Pfad-Linker oberhalb der Dateiliste anzeigen" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Programmstart anzeigen" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Verwendetes Datumsformat in Datei- und Ordnerlisten:\n" "(Tippe 'man strftime' in einem Terminal für Formathilfe)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Modi" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Start-Modus" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Im Heimatordner starten" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Im aktuellen Ordner starten" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Im zuletzt besuchten Ordner starten" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Scroll-Modus" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Sanftes Rollen in Dateilisten und Textfenstern" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Roll-Geschwindigkeit:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "\"Root\" Modus" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "\"Root\" Modus erlauben" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Authentifizierung mittels su (verwendet \"root\" Passwort)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Authentifizierung mittels sudo (verwendet Benutzer-Passwort)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialoge" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Bestätigungen" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Kopieren/verschieben/umbenennen/symlinken bestätigen" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "\"drag and drop\" bestätigen" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Verschieben in / Zurückholen aus dem Papierkorb bestätigen" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Löschen bestätigen" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Löschen von nicht leeren Verzeichnissen bestätigen" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Überschreiben bestätigen" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Ausführen von Textdateien bestätigen" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Datei-Eigenschaften" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Warnungen" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Warnen, wenn aktueller Ordner im Suchfenster gesetzt wird" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Warnen, wenn eingehängte Datenträger nicht reagieren" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Erfolgsmeldungen für Einhängen/Trennen anzeigen" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Warnen, wenn das Datum nicht erhalten werden konnte" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Warnen, falls als \"root\" angemeldet" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programme" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Voreingestellte Programme" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Textbetrachter: " #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Texteditor: " #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Dateivergleich:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Bildeditor: " #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Bildbetrachter: " #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Archivierer: " #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "PDF-Betrachter: " #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Audioprogramm: " #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Videoprogramm: " #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminal:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Laufwerk einhängen" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Laufwerk trennen" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Themen" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Farbschema" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Selbstdefinierte Farben" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Doppelklick um die Farbe zu ändern" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Grundfarbe" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Rahmenfarbe" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Hintergrundfarbe" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Textfarbe" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Auswahl-Hintergrundfarbe" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Auswahl-Textfarbe" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Dateilisten-Hintergrundfarbe" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Dateilisten-Textfarbe" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Dateilisten-Hervorhebungsfarbe" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Fortschrittsbalken-Farbe" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Achtungsmeldung-Farbe" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Farbe Fortschrittsbalken" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Bedienelemente" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standard (klassische Bedienelemente)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (modernes Aussehen)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Pfad zum Symbol-Verzeichnis" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tPfad auswählen..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Schriftarten" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Schriftarten" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Standardschrift:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Auswählen..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Textschriftart:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "Tasten&belegung" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Tastenbelegung" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Tastenbelegung ändern..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Tastenbelegung wiederherstellen..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Symbolthemen-Ordner oder Symbol auswählen" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Standardschriftart ändern" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Textschriftart ändern" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Neue Datei anlegen" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Neuen Ordner anlegen" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "In die Zwischenablage ausschneiden" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Aus der Zwischenablage einfügen" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Datei öffnen" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Anwendung beenden" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Alles auswählen" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Alles abwählen" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Auswahl umkehren" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Hilfe anzeigen" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Versteckte Ordner anzeigen oder verstecken" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Vorschaubilder anzeigen oder verstecken" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Fenster schließen" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Datei drucken" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Suchen" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Rückwärts suchen" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Vorwärts suchen" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Vertikale Felder" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Waagrechte Felder" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Felder Aktualisieren" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Neue Verknüpfung erstellen" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Datei-Eigenschaften" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Dateien in den Papierkorb verschieben" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Dateien aus dem Papierkorb zurückholen" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Dateien löschen " #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Neues Fenster erstellen" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Neues \"root\"-Fenster erstellen" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Befehl ausführen" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Terminal starten" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Laufwerk einhängen (nur unter Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Laufwerk trennen (nur unter Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Ein Feld" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Baum und ein Feld" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Zwei Felder" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Baum und zwei Felder" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Adresseleiste löschen" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Datei umbenennen" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Dateien an die Adresse kopieren" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Dateien an die Adresse verschieben" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Dateien mit der Adresse verknüpfen" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Lesezeichen setzen" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Felder synchronisieren" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Felder vertauschen" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Zum Papierkorb wechseln" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Papierkorb leeren" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Ansicht" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Editieren" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Versteckte Ordner anzeigen oder verstecken" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Dateien filtern" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Bild auf 100% zoomen" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Fensterfüllend zoomen" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Bild links herumdrehen" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Bild rechts herumdrehen" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Bild horizontal spiegeln" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Bild vertikal spiegeln" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Neues Dokument anlegen" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Änderungen in Datei speichern " #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Gehe zur Zeile" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Letzte Änderung zurücknehmen" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Letzte Änderung zurückholen" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Text ersetzen" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Zeilenumbruch ein- oder ausschalten" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Zeilennummern anzeigen oder verstecken" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Kleinschreibung ein- oder ausschalten" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Großschreibung ein- oder ausschalten" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Sollen die ursprünglichen Tastenbelegungen wiederhergestellt werden?\n" "\n" "Alle individuellen Änderungen gehen verloren!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Tastenbelegung wiederherstellen" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Neustart" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Die Tastenbelegungen sind beim nächsten Neustart geändert.\n" "Wollen Sie X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Das Rollverhalten wird bei einem Neustart geändert.\n" "X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Das Thema wird bei einem Neustart geändert.\n" "Wollen Sie X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Pfad-Linker wird bei einem Neustart geändert.\n" "X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Schaltflächen-Stil wird bei einem Neustart geändert.\n" "X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Die Schriftart wird bei einem Neustart geändert.\n" "Wollen Sie X File Explorer jetzt neu starten?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Die Schriftart wird bei einem Neustart geändert.\n" "Wollen Sie X File Explorer jetzt neu starten?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "Über&springen" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "&Alle Überspringen" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Quellgröße:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- Änderungsdatum:" #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Zielgröße:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "Aus&führen" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Im Konsolen&modus ausführen" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Schließen" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Anzeigefeld aktualisieren" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Ausgewählte Dateien in die Zwischenablage kopieren" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Ausgewählte Dateien in die Zwischenablage ausschneiden" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Eigenschaften der markierten Datei anzeigen" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Markierte Datei in den Papierkorb verschieben" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Markierte Datei löschen" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "'%s' wurde als aktueller Ordner gesetzt" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "&Lange Dateiliste" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "&Ignoriere Groß-/Kleinschreibung" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Automatische Größenanpassung" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "&Paketabfrage " #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "Zum über&geordneten Ordner wechseln" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "%s Einträge kopieren" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "%s Einträge verschieben" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "%s Einträge symbolisch verknüpfen" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Bitte den absoluten Pfad angeben!" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "0 Einträge" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Datei finden:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" "Groß-/Kleinschreibung ignorieren\tGroß-/Kleinschreibung im Dateinamen " "ignorieren" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Versteckte Dateien\tVersteckte Dateien und Verzeichnisse anzeigen" #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "In den Ordner: " #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tIn den Ordner..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Text beinhaltet:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" "Groß-/Kleinschreibung ignorieren\tGroß-/Kleinschreibung im Text ignorieren" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Mehr Optionen" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Suchoptionen" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Zurücksetzen\tSuchoptionen zurücksetzen" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Minimale Größe:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Nach kleinster Dateigröße (KBytes) filtern" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Maximale Größe:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Nach größter Dateigröße (KBytes) filtern" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Letzte Änderung vor:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Nach größtem Änderungsdatum (Tage) filtern" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Tage" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Letzte Änderung nach:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Nach kleinstem Änderungsdatum (Tage) filtern" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Benutzer:" #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltern nach Benutzername" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Gruppe:" #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltern nach Gruppenname" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Dateityp:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Datei" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "\"Pipe\"" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltern nach Dateityp" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Berechtigungen:" #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltern nach Berechtigungen (oktal)" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Leere Dateien:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tNur leere Dateien" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Folge symbolischen Verknüpfungen:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "Suche, folge dabei symbolischen Verknüpfungen" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Nicht-Rekursiv:" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNicht rekursiv in Ordnern suchen" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Andere Dateisysteme ignorieren:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNicht in anderen Dateisystemen suchen" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Start\tDie Suche starten (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "&Stopp\tDie Suche beenden (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Suche gestartet - Bitte warten... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Suchergebnisse <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "Input / Output - Fehler" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Suche beendet... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Pfad auswählen" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Neue Verknüpfung anlegen" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Markierte Datei aus dem Papierkorb zurückholen" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Xfe starten" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Dateien und Verzeichnisse suchen..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Einhängen (nur bei Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Trennen (nur bei Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Ein Feld" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Baum und ein Feld" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Zwei Felder" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Baum und zwei Felder" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Adresse löschen" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Zur Adresse wechseln" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Neuer &Ordner..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Zum &Heimatordner wechseln" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Aktualisieren" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Kopieren nach..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Ve&rknüpfung mit..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Eigenschaften" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Datei" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Alles aus&wählen" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Alles a&bwählen" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "Auswahl &umkehren" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "E&instellungen" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "All&gemeine Werkzeugleiste" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "&Werkzeugleiste" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "&Felder-Werkzeugleiste" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Adressleiste" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Statusleiste" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Ein Feld" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Baum und ein Feld" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "&Zwei Felder" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "Ba&um und zwei Felder" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "&Vertikale Felder" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "&Waagrechte Felder" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "Lesezeichen &setzen" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "Lesezeichen &löschen" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Lesezeichen" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filter..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "V&orschaubilder" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Große Symbole" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&yp" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Datum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "&Benutzer" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "&Gruppe" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "Or&dner zuerst" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "Lin&kes Anzeigefeld" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filter" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "Or&dner zuerst" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "&Rechtes Anzeigefeld" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Neues &Fenster" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Neues \"&root\" Fenster" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Befehl &ausführen" #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminal" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "Felder &synchronisieren" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Felder &umschalten" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Zum Skript-Ordner wechseln" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "Dateien &suchen..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "La&ufwerk trennen" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Werkzeuge" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "Zum &Papierkorb wechseln" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "Papierkorb &Größe" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Papierkorb &leeren" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "Pa&pierkorb" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Hilfe" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "Ü&ber X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Führe Xfe als \"root\" aus!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Beginnend mit Xfe 1.32 werden die Konfigurationsdateien jetzt in '%s' " "abgelegt.\n" "Hinweis: Die neuen Konfigurationsdateien können manuell bearbeitet werden um " "alte Einstellungen zu importieren..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Xfe Konfigurationsordner %s kann nicht erstellt werden: %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Xfe Konfigurationsordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" "Keine globale Datei xferc gefunden! Bitte wähle eine Konfigurationsdatei..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "XFE Konfigurationsdatei" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "'info' Papierkorb-Ordner %s kann nicht erstellt werden: %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "'info' Papierkorb-Ordner %s kann nicht erstellt werden" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Hilfe" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Version %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Basierend auf X WinCommander von Maxim Baranov\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Übersetzer\n" "-------------\n" "Argentinisches spanisch: Bruno Gilberto Luciani\n" "Brazilianisches portugiesisch: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnisch: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalanisch: muzzol\n" "Chinesisch: Xin Li\n" "Chinesisch (Taïwan): Wei-Lun Chao\n" "Dänisch: Jonas Bardino, Vidar Jon Bauge\n" "Französisch: Claude Leo Mercier, Roland Baudin\n" "Deutsch: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Griechisch: Nikos Papadopoulos\n" "Italienisch: Claudio Fontana, Giorgio Moscardi\n" "Japanisch: Karl Skewes\n" "Niederländisch: Hans Strijards\n" "Norwegisch: Vidar Jon Bauge\n" "Polnisch: Jacek Dziura, Franciszek Janowski\n" "Portugiesisch: Miguel Santinho\n" "Russisch: Dimitri Sertolov, Vad Vad\n" "Schwedisch: Anders F. Bjorklund\n" "Spanisch: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Spanisch (Kolumbien): Vladimir Támara (Pasos de Jesús)\n" "Tschechisch: David Vachulka\n" "Türkisch: erkaN\n" "Ungarisch: Attila Szervac, Sandor Sipos\n" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "Ü&ber X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "Bedien&feld" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Befehl ausführen: " #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Console mode" msgstr "In der Textkonsole ausführen" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Dateien und Verzeichnisse suchen." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Wollen Sie den Papierkorb wirklich leeren?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " in " #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Alle Einträge gehen endgültig verloren!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Papierkorb Größe: %s (%s Dateien, %s Unterordner)\n" "\n" "Änderungsdatum: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Papierkorb Größe" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "'files' Papierkorb-Ordner %s ist nicht lesbar!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Befehl nicht gefunden: %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Ungültige Dateiverbindung: %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Dateiverbindung nicht gefunden: %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Einstellungen" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Paketdatei öffnen" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "Ö&ffnen..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Werkzeugleiste" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&Über X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Deinstallieren" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Installieren/aktualisieren" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Beschreibung" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Dateiliste" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package Version %s ist ein einfacher rpm- oder deb-Paketmanager.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "Über X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM Quellcode Pakete" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM Pakete" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB Pakete" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Dokument öffnen" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Keine Pakete geladen" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Unbekanntes Paketformat" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Paket installieren/aktualisieren" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Paket deinstallieren" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM Pakete]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB Pakete]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Suche nach %s fehlgeschlagen!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Fehler beim Laden der Datei" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Konnte Datei nicht öffnen: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Aufruf: xfp [option] [paket] \n" "\n" " [option] kann eine von diesen sein:\n" "\n" " --help Diese Hilfe anzeigen und beenden\n" " --version Versionsinformation anzeigen und beenden\n" "\n" " [paket] ist the Pfad zum rpm- oder deb-Paket, das beim Start geöffnet " "werden soll.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF Bild" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP Bild" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM Bild" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX Bild" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO Bild" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB Bild" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM Bild" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA Bild" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM Bild" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG Bild" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG Bild" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF Bild" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "&Bild" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Öffnen" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Bilddatei öffnen." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Drucken" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Bilddatei drucken." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Vergrößern" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Das Bild vergrößern." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Verkleinern" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Das Bild verkleinern." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Zoom 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Bild in Originalgröße darstellen." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "In das Fenster einpassen" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Fensterfüllend vergrößern." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Nach links drehen" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Bild nach links drehen." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Nach rechts drehen" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Bild nach rechts drehen." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Horizonal spiegeln" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Bild horizonal spiegeln." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Vertikal spiegeln" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Bild vertikal spiegeln." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Drucken..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "Dateiliste l&eeren" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Dateiliste leeren." #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Xfi beenden." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Ver&größern" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Ver&kleinern" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "&Originalgröße" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "&Einpassen" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "&Rechts herum drehen" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Rechts herum drehen." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "&Links herum drehen" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Links herum drehen." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "&Horizontal spiegeln" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Horizontal spiegeln." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "&Vertikal spiegeln" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Vertikal spiegeln." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Versteckte Dateien und Verzeichnisse anzeigen." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Mit Vorschaubildern anzeigen." #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Ordner mit großen Symbolen anzeigen." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Ordner mit kleinen Symbolen anzeigen." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "&Detaillierte Dateiliste" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Detaillierte Ordnerliste anzeigen." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Zeileweise Ansicht mit Symbolen." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Spaltenweise Ansicht mit Symbolen." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Automatische Größenanpassung der Symbolnamen." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Felder-Werkzeugleiste anzeigen." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Dateiliste" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Dateiliste anzeigen." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Dateiliste &davor" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Dateiliste vor dem Bilder-Fenster anzeigen." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "Bilder &filtern" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Nur Bilddateien anzeigen." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "&Fensterfüllend öffnen " #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Fenster beim Öffnen eines Bildes anpassen." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&Über X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "Über X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image Version %s ist ein einfacher Bildbetrachter.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "Über X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Fehler beim Laden des Bildes" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Nicht unterstützter Typ: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Konnte das Bild nicht laden, vielleicht ist die Datei beschädigt" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Änderungen werden beim Neustart übernommen.\n" "Wollen Sie X File Image (xfi) jetzt neu starten?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Bild öffnen" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Druckbefehl festlegen: \n" "(z.B. lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Aufruf: xfi [option] [bild-datei] \n" "\n" " [option] kann eine von diesen sein:\n" "\n" " --help Diese Hilfe anzeigen und beenden\n" " --version Versionsinformation anzeigen und beenden\n" "\n" " [bild-datei] ist der Pfad zur Bilddatei, die beim Start geöffnet werden " "soll.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "XFileWrite Einstellungen" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Text" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Zeilenumbruch in Spalte:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Tabulatorbreite:" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Zeilenumbruch (CR) entfernen:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Farben" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Zeilen" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Normaler Text Hintergrund:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Normaler Text:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Markierter Text-Hintergrund:" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Markierter Text:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Hervorgehobener Text-Hintergrund:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Hervorgehobener Text:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Cursor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Zeilennummern-Hintergrund:" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Zeilennummern:" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Suchen" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Fenster" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Zeilen:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Spalte:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Zeile:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Neu" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Neues Dokument anlegen." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Dokument öffnen." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Speichern" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Dokument speichern." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Schließen" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Dokument-Datei schließen." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Dokument drucken." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Beenden" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "X File Write beenden." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopieren der Auswahl in die Zwischenablage." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Ausschneiden" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Ausschneiden der Auswahl in die Zwischenablage." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Einfügen" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Einfügen aus der Zwischenablage." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Gehe zu Zeile Nr." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Rückgängig" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Letzte Änderung zurücknehmen." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Wieder herstellen" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Letztes \"undo\" wiederholen." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Text suchen." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Rückwärts suchen" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Ausgewählten Text rückwärts suchen." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Vorwärts suchen" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Ausgewählten Text vorwärts suchen." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Zeilenumbruch an" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Zeilenumbruch einschalten." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Zeilenumbruch aus" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Zeilenumbruch ausschalten." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Zeilennummern anzeigen" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Zeilennummern anzeigen." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Zeilennummer verstecken" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Zeilennummer verstecken." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Neue Datei..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Änderungen speichern." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Speichern &als..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Dokument als eine andere Datei speichern." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Dokument schließen." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "Dateiliste l&eeren" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Rückgängig" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "&Wieder herstellen" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Zurück zur gespeicherten &Version" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Zurück zur gespeicherten Version des Dokuments." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Aus&schneiden" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Aus der Zwischenablage einfügen." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "&Kleinschreibung" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Zur Kleinschreibung wechseln." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "&Großschreibung" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Zur Großschreibung wechseln." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "Gehe zur &Zeile..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Alles aus&wählen" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&Statusleiste" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Statuszeile anzeigen." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Suchen..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Nach Text suchen." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "E&rsetzen..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Text suchen und ersetzen." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Den Text &rückwärts suchen" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Den Text &vorwärts suchen" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Zeilenumbruch" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Zeilenumbruch ein- oder ausschalten." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Zei&lennummern" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Zeilennummern anzeigen oder verstecken." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Überschreiben" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Zwischen Überschreiben und Einfügen wechseln." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Schriftart..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Textschriftart ändern." #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Weitere Einstellungen..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Weitere Optionen ändern." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "Über X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "Über X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Die Datei ist zu groß: %s (%d Bytes)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Die Datei konnte nicht öffnen werden: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Fehler beim Speichern der Datei" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Die Datei ist zu groß: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Datei: %s abgeschnitten." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "unbekannt" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "unbekannt%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write Version %s ist ein einfacher Texteditor.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "Über X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Textschriftart ändern" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Textdateien" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C Quellcode-Dateien" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ Quellcode-Dateien" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ \"Header\"-Dateien" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML Dateien" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP-Dateien" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Nicht gespeichertes Dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Speichern von %s in die Datei?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Dokument speichern" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Dokument überschreiben" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Überschreiben des vorhandenen Dokuments: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (geändert)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr "Nur-Lese-Modus" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "NUR-LESE-MODUS" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Datei wurde geändert" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "wurde durch ein anderes Programm geändert. Datei neu einlesen?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Ersetzen" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Wechsel in die Zeile" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Wechsel zu Zeile Nr.:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Aufruf: xfw [optionen] [datei1] [datei2] [datei3]...\n" "\n" " [optionen] kann eine von diesen sein:\n" "\n" " -r, --read-only Dateien im Nur-Lese-Modus öffnen.\n" " --help Diese Hilfe anzeigen und beenden.\n" " --version Versionsinformation anzeigen und beenden.\n" "\n" " [datei1] [datei2] [datei3] sind die Pfade zu Dateien, die beim Start " "geöffnet werden sollen.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "\"Root\" Ordner" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Fertig." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Ersetzen" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Al&les ersetzen" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Suchen nach:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Ersetzen durch:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Ex&akt" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "I&gnoriere Groß-/Kleinschreibung" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Aus&druck" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Zurück" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Globale Tastenbelegungen" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Diese Tastenbelegungen gelten gemeinsam für alle Xfe Anwendungen.\n" "Eine markierte Tastenbelegung kann durch Doppelklick geändert werden..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Xf&e Tastenbelegung" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Diese Tastenbelegung gilt nur für X File Explorer.\n" "Die derzeitige Tastenbelegung kann durch Doppelklick geändert werden..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Xf&i Tastenbelegung" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Diese Tastenbelegung gilt nur für X File Image.\n" "Die derzeitige Tastenbelegung kann durch Doppelklick geändert werden..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Xf&w Tastenbelegungen" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Diese Tastenbelegung gilt nur für X File Write.\n" "Die derzeigige Tastenbelegung kann durch Doppelklick geändert werden..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Aktionsname" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Registrierschlüssel" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Tastenbelegung" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Drücken Sie die gewünschte Tastenkombination für diese Aktion: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" "[Drücken Sie die Leertaste, um die Tastenkombination für diese Aktion zu " "deaktivieren]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Tastenbelegungen ändern" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Die Tastenkombination %s wird bereits im globalen Abschnitt verwendet.\n" "\tSie sollten die vorhandene Tastenkombination löschen, bevor Sie diese " "erneut festlegen." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Die Tastenkombination %s wird bereits im Xfe Abschnitt verwendet.\n" "\tSie sollten die vorhandene Tastenkombination löschen, bevor Sie diese " "erneut festlegen." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Die Tastenkombination %s wird bereits im Xfi Abschnitt verwendet.\n" "\tSie sollten die vorhandene Tastenkombination löschen, bevor Sie diese " "erneut festlegen." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Die Tastenkombination %s wird bereits im Xfw Abschnitt verwendet.\n" "\tSie sollten die vorhandene Tastenkombination löschen, bevor Sie diese " "erneut festlegen." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Fehler: Kann den Ordner %s nicht öffnen: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Fehler: Kann den Ordner %s nicht öffnen" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Fehler: Kann das Display nicht öffnen\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Start von %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Fehler: Kann den Befehl %s nicht ausführen" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Fehler: Kann den Ordner %s nicht schließen\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "Byte" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "kopieren" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Fehler: Kann die Gruppenliste nicht lesen: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Fehler: Kann die Gruppenliste nicht lesen" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Dateimanager" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Ein leichter Dateimanager für X Window" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Bildbetrachter" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Ein einfacher Bildbetrachter für Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Texteditor" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Ein einfacher Texteditor für Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Paketmanager" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Ein einfacher Paketmanager für Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Zwei Felder" #~ msgid "Panel does not have focus" #~ msgstr "Anzeigefeld hat den Fokus nicht" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Ordner" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Ordner" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Überschreiben bestätigen" #~ msgid "P&roperties..." #~ msgstr "Ei&genschaften..." #~ msgid "&Properties..." #~ msgstr "Ei&genschaften..." #~ msgid "&About X File Write..." #~ msgstr "Ü&ber X File Write" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Kann Ordner %s nicht öffnen: %s" #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Kann Ordner %s nicht öffnen: %s" #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden: %s" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Kann Befehl %s nicht ausführen" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Kann Ordner %s nicht öffnen" #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "'info' Papierkorb-Ordner %s kann nicht erstellt werden: %s" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "'info' Papierkorb-Ordner %s kann nicht erstellt werden" #~ msgid "Delete: " #~ msgstr "Löschen : " #~ msgid "File: " #~ msgstr "Datei : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "Über X File Explorer" #, fuzzy #~ msgid "&Right panel " #~ msgstr "&Rechtes Anzeigefeld" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Lin&kes Anzeigefeld" #, fuzzy #~ msgid "Error " #~ msgstr "Fehler" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Kann Ordner %s nicht öffnen" #, fuzzy #~ msgid "Execute command " #~ msgstr "Befehl ausführen" #, fuzzy #~ msgid "Command log " #~ msgstr "Befehlssprotokoll" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "'files' Papierkorb-Ordner %s kann nicht erstellt werden: %s" #~ msgid "Non-existing file: %s" #~ msgstr "Datei nicht vorhanden: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Kann nicht nach Ziel %s umbenennen: %s" xfe-1.42/po/tr.po0000644000175100017510000051425512746115274010575 00000000000000# translation of tr.po to Türkçe # translation of de.po to Türkçe # Xfe - X File Explorer, a file manager for X # Copyright (C) 2002-2003 Roland Baudin # This file is distributed under the same license as the xfe package. # Bastian Kleineidam , 2003 # erkaN , 2003 # msgid "" msgstr "" "Project-Id-Version: Xfe 0.54.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2003-06-17 19:02+0200\n" "Last-Translator: erkaN \n" "Language-Team: Türkçe \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 #, fuzzy msgid "Error loading icons" msgstr "Dosya yüklemesinde hata" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Kullanıcı" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Okuma" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Yazma" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Çalıştırma" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Grup" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Diğerleri" #: ../src/Properties.cpp:70 msgid "Special" msgstr "" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Sahibi" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Komut" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "İşaretle" #: ../src/Properties.cpp:113 #, fuzzy msgid "Recursively" msgstr "Altalta dosyalar" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "İşaretlemeyi sil" #: ../src/Properties.cpp:116 #, fuzzy msgid "Files and folders" msgstr "Gizli dosyalar" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "İşaretleme ekle" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Sadece dosyalar" #: ../src/Properties.cpp:119 #, fuzzy msgid "Owner only" msgstr "Sahibi" #: ../src/Properties.cpp:120 #, fuzzy msgid "Files only" msgstr "Sadece dosyalar" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "K&abul" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Vazgeç" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Genel" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "Hakla&r" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "Dosya &Bağlantlıarı" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Sonek:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Tanımlama:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Aç:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 #, fuzzy msgid "\tSelect file..." msgstr " Seç..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Gösterici:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Düzenleyici:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Çalıştırıcı:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Kur/Güncelle:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Büyük ikon:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Küçük ikon:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "İsim" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Dosya sistemi (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Dosya" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Karakter ayğıtları" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blok ayğıtları" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Named Pipe" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Soket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 #, fuzzy msgid "Executable" msgstr "Çalıştırma" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokuman" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Geçersiz bağlantı" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 #, fuzzy msgid "Link to " msgstr "Bağlantı" #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Bağlama noktası" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Bağlama türü:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Kullanılan:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Boş:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Dosya sistemi:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Adres:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Tür:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 #, fuzzy msgid "Total size:" msgstr "Toplam %s" #: ../src/Properties.cpp:690 #, fuzzy msgid "Link to:" msgstr "Bağlantı" #: ../src/Properties.cpp:695 #, fuzzy msgid "Broken link to:" msgstr "Başarısız bağlantı" #: ../src/Properties.cpp:704 #, fuzzy msgid "Original location:" msgstr "\tAdres çubuğunu temizle\tAdres çubuğunu temizle." #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Dosya Tarihi" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Son değişiklik:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Son kayıt:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Son kullanım:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "" #: ../src/Properties.cpp:746 #, fuzzy msgid "Deletion Date:" msgstr "İkon seç" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Boyut:" #: ../src/Properties.cpp:960 #, fuzzy msgid "Selection:" msgstr "İkon seç" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 #, fuzzy msgid "Multiple types" msgstr "Bağlama türü:" #. Number of selected files #: ../src/Properties.cpp:1111 #, fuzzy, c-format msgid "%d items" msgstr "0 Bytes" #: ../src/Properties.cpp:1113 #, fuzzy, c-format msgid "%d files, %d folders" msgstr "Gizli dosyalar" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "\tSeçili dosyanın özniteliklerini göster (F9)" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "\tSeçili dosyanın özniteliklerini göster (F9)" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Dosya hakları" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Uyarı" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Dosya taşınmasından vazgeçildi!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Dosya silme işleminden vazgeçildi!" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Dosya silme işleminden vazgeçildi!" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Hata" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, fuzzy, c-format msgid "Folder %s doesn't exist" msgstr "%s dizini mevcut değil" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "İsmini değiştir " #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Dosya sahibi" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Dosya sahibi değiştiriminden vazgeçildi!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, fuzzy, c-format msgid "Chown in %s failed: %s" msgstr "chmod %s hatalı: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, fuzzy, c-format msgid "Chown in %s failed" msgstr "chmod %s hatalı: %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "chmod %s hatalı: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Dosya hakları" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Hakların değiştiriminden vazgeçildi!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, fuzzy, c-format msgid "Chmod in %s failed" msgstr "chmod %s hatalı: %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr "Seçili dosyayı(ları) bununla aç:" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Dosya haklarının değişiminden vazgeçildi!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 #, fuzzy msgid "Select an executable file" msgstr " Dizin :" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Bütün Dosyalar" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG resimleri" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF resimleri" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP resimleri" #: ../src/Properties.cpp:1971 #, fuzzy msgid "Select an icon file" msgstr " Dizin :" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, fuzzy, c-format msgid "%u files, %u subfolders" msgstr "Gizli dosyalar" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 #, fuzzy msgid "Copy here" msgstr "Kopyala" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 #, fuzzy msgid "Move here" msgstr "Taşı " #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 #, fuzzy msgid "Link here" msgstr "Bağlantı" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 #, fuzzy msgid "Cancel" msgstr "&Vazgeç" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Dosya kopyala " #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Dosya taşı" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 #, fuzzy msgid "File symlink" msgstr "Bu " #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopyala" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Taşı" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 #, fuzzy msgid "Symlink" msgstr "SymLink" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Buraya:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Dosya taşınmasından vazgeçildi!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Dosya kopyalanmasından vazgeçildi!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "" #: ../src/DirList.cpp:2007 #, fuzzy msgid "Link to Folder" msgstr "Bağlantı" #: ../src/DirPanel.cpp:449 #, fuzzy msgid "Folders" msgstr "Dosya" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Gizli dosyaları göster" #: ../src/DirPanel.cpp:470 #, fuzzy msgid "Hide hidden folders" msgstr "Gizli dosyalar" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 #, fuzzy msgid "0 bytes in root" msgstr "0 Bytes" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 msgid "Panel is active" msgstr "" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "İki paneli göster\tCtrl-F4" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " %s erişimi başarısız." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 #, fuzzy msgid "New &folder..." msgstr "Yeni dosya" #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 #, fuzzy msgid "&Hidden folders" msgstr "Gizli dosyalar" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 #, fuzzy msgid "&Reverse order" msgstr "Altalta dosyalar" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 #, fuzzy msgid "E&xpand tree" msgstr "Ağacı aç" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 #, fuzzy msgid "Collap&se tree" msgstr "Ağacı kapat" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 #, fuzzy msgid "Pane&l" msgstr "Panel görünümü" #: ../src/DirPanel.cpp:767 #, fuzzy msgid "M&ount" msgstr "Bağla" #: ../src/DirPanel.cpp:768 #, fuzzy msgid "Unmoun&t" msgstr "Ayır" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 #, fuzzy msgid "&Add to archive..." msgstr "Arşive ekle" #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 #, fuzzy msgid "&Copy" msgstr "Kopyala" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 #, fuzzy msgid "C&ut" msgstr "Kes" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 #, fuzzy msgid "&Paste" msgstr "Yapıştır" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 #, fuzzy msgid "Re&name..." msgstr "İsmini değiştir" #: ../src/DirPanel.cpp:779 #, fuzzy msgid "Cop&y to..." msgstr "Kopyala" #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 #, fuzzy msgid "&Move to..." msgstr "Taşı" #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 #, fuzzy msgid "Symlin&k to..." msgstr "Symlink" #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 #, fuzzy msgid "R&estore from trash" msgstr "Sil : " #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 #, fuzzy msgid "&Delete" msgstr "Sil" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, fuzzy, c-format msgid "Can't enter folder %s: %s" msgstr "Sil : " #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, fuzzy, c-format msgid "Can't enter folder %s" msgstr "Sil : " #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 #, fuzzy msgid "File name is empty, operation cancelled" msgstr "Dosya silme işleminden vazgeçildi!" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "arşiv oluştur" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopyala" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, fuzzy, c-format msgid "Copy %s items from: %s" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "İsmini değiştir" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "İsmini değiştir " #: ../src/DirPanel.cpp:1631 #, fuzzy msgid "Copy to" msgstr "Kopyala" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Taşı " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, fuzzy, c-format msgid "Move %s items from: %s" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 #, fuzzy msgid "Symlink " msgstr "SymLink" #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, fuzzy, c-format msgid "Symlink %s items from: %s" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, fuzzy, c-format msgid "%s is not a folder" msgstr "%s bir dizindeğil" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 #, fuzzy msgid "Symlink operation cancelled!" msgstr "Dosya kopyalanmasından vazgeçildi!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, fuzzy, c-format msgid "Definitively delete folder %s ?" msgstr "Sil : " #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Silmeyi onayla" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 #, fuzzy msgid "File delete" msgstr "Dosya sil" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, fuzzy, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Sil : " #: ../src/DirPanel.cpp:2222 #, fuzzy, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #, fuzzy msgid "Delete folder operation cancelled!" msgstr "Dosya silme işleminden vazgeçildi!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, fuzzy, c-format msgid "Move folder %s to trash can?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 #, fuzzy msgid "Confirm Trash" msgstr "Onaylamayı bitir" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "" #: ../src/DirPanel.cpp:2318 #, fuzzy, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 #, fuzzy msgid "Move to trash folder operation cancelled!" msgstr "Dosya taşınmasından vazgeçildi!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 #, fuzzy msgid "Restore from trash" msgstr "Sil : " #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 #, fuzzy msgid "Confirm Restore" msgstr "Silmeyi onayla" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, fuzzy, c-format msgid "Can't create folder %s : %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, fuzzy, c-format msgid "Can't create folder %s" msgstr "Sil : " #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 #, fuzzy msgid "Restore from trash file operation cancelled!" msgstr "Dosya taşınmasından vazgeçildi!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 #, fuzzy msgid "Create new folder:" msgstr "Yeni dosya oluştur..." #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Yeni dosya" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Dosya silme işleminden vazgeçildi!" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, fuzzy, c-format msgid "Can't execute command %s" msgstr "Komut çalıştır :" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Bağla" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Ayır" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " dosya sistemi..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 #, fuzzy msgid " the folder:" msgstr "Sil : " #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " İşlemden vazgeçildi!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr "" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 #, fuzzy msgid "Source:" msgstr "Kaynak :" #: ../src/File.cpp:106 ../src/File.cpp:121 #, fuzzy msgid "Target:" msgstr "Hedef :" #: ../src/File.cpp:111 #, fuzzy msgid "Copied data:" msgstr "Değiştirme tarihi" #: ../src/File.cpp:126 #, fuzzy msgid "Moved data:" msgstr "Değiştirme tarihi" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 #, fuzzy msgid "Delete:" msgstr "Sil :" #: ../src/File.cpp:136 #, fuzzy msgid "From:" msgstr "Burdan :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Haklar değiştiriliyor..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 #, fuzzy msgid "File:" msgstr "Dosya :" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Sahib değiştiriliyor..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Dosya sistemi bağla..." #: ../src/File.cpp:167 #, fuzzy msgid "Mount the folder:" msgstr "Dizin bağla :" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Dosya sistemini ayır..." #: ../src/File.cpp:174 #, fuzzy msgid "Unmount the folder:" msgstr "Dizini ayır :" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, fuzzy, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr " dosyası önceden mevcut. Üstüne yazılsın mı?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Üstüne yazmayı onayla" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, fuzzy, c-format msgid "Can't copy file %s: %s" msgstr "Sil : " #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, fuzzy, c-format msgid "Can't copy file %s" msgstr "Sil : " #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 #, fuzzy msgid "Source: " msgstr "Kaynak : " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 #, fuzzy msgid "Target: " msgstr "Hedef : " #: ../src/File.cpp:581 #, fuzzy, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/File.cpp:585 #, fuzzy, c-format msgid "Can't preserve date when copying file %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/File.cpp:727 #, fuzzy, c-format msgid "Can't copy folder %s : Permission denied" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/File.cpp:731 #, fuzzy, c-format msgid "Can't copy file %s : Permission denied" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/File.cpp:768 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/File.cpp:772 #, fuzzy, c-format msgid "Can't preserve date when copying folder %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, fuzzy, c-format msgid "Source %s doesn't exist" msgstr "%s dizini mevcut değil" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "" #. Set labels for progress dialog #: ../src/File.cpp:1024 #, fuzzy msgid "Delete folder: " msgstr "Sil : " #: ../src/File.cpp:1030 ../src/File.cpp:1115 #, fuzzy msgid "From: " msgstr "Burdan : " #: ../src/File.cpp:1071 #, fuzzy, c-format msgid "Can't delete folder %s: %s" msgstr "Sil : " #: ../src/File.cpp:1075 #, fuzzy, c-format msgid "Can't delete folder %s" msgstr "Sil : " #: ../src/File.cpp:1136 #, fuzzy, c-format msgid "Can't delete file %s: %s" msgstr "Sil : " #: ../src/File.cpp:1140 #, fuzzy, c-format msgid "Can't delete file %s" msgstr "Sil : " #: ../src/File.cpp:1189 #, fuzzy, c-format msgid "Destination %s already exists" msgstr "%s Dosya veya dizin önceden mevcut" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, fuzzy, c-format msgid "Can't rename to target %s: %s" msgstr " %s ismi değiştirilemiyor " #: ../src/File.cpp:1539 #, fuzzy, c-format msgid "Can't symlink %s: %s" msgstr "Yeni dosya oluştur..." #: ../src/File.cpp:1543 #, fuzzy, c-format msgid "Can't symlink %s" msgstr "Yeni dosya oluştur..." #: ../src/File.cpp:1622 ../src/File.cpp:1819 #, fuzzy msgid "Folder: " msgstr "Dosya" #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "arşiv aç" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Arşive ekle" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, fuzzy, c-format msgid "Failed command: %s" msgstr "Başarısız komut : %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "İşlem başarılı" #: ../src/File.cpp:2077 #, fuzzy, c-format msgid "Folder %s was successfully mounted." msgstr "%s dizini başarıyla bağlandı." #: ../src/File.cpp:2081 #, fuzzy, c-format msgid "Folder %s was successfully unmounted." msgstr "%s dizini başarıyla ayrıldı." #. Make and show command window #: ../src/File.cpp:2092 #, fuzzy msgid "Install/Upgrade package" msgstr "RPM pakedi kur/güncelle..." #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, fuzzy, c-format msgid "Installing package: %s \n" msgstr "Paket kur:" #. Make and show command window #: ../src/File.cpp:2110 #, fuzzy msgid "Uninstall package" msgstr "Paket sil:" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, fuzzy, c-format msgid "Uninstalling package: %s \n" msgstr "Paket kur:" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Dosya ismi:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&Tamam" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Dosya &süzgeci:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Salt okunur" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 #, fuzzy msgid "Go to previous folder" msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 #, fuzzy msgid "Go to next folder" msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 #, fuzzy msgid "Go to parent folder" msgstr " Dizin :" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 #, fuzzy msgid "Go to home folder" msgstr "Sil : " #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 #, fuzzy msgid "Go to working folder" msgstr "\tÇalışma dizinine git\tÇalışma dizinine dön." #: ../src/FileDialog.cpp:169 #, fuzzy msgid "New folder" msgstr "Yeni dosya" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 #, fuzzy msgid "Big icon list" msgstr "Büyük ikonlar" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 #, fuzzy msgid "Small icon list" msgstr "Büyük ikonlar" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 #, fuzzy msgid "Detailed file list" msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Show hidden files" msgstr "Gizli dosyaları göster" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 #, fuzzy msgid "Hide hidden files" msgstr "Gizli dosyalar" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Show thumbnails" msgstr "\tGizli dosyaları göster (Ctrl-F5)" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 #, fuzzy msgid "Hide thumbnails" msgstr "\tGizli dosyaları gizle (Strg-F5)" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Yeni dosya oluştur..." #: ../src/FileDialog.cpp:1019 #, fuzzy msgid "Create new file..." msgstr "Yeni dosya oluştur..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Yeni dosya" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, fuzzy, c-format msgid "File or folder %s already exists" msgstr "%s Dosya veya dizin önceden mevcut" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 #, fuzzy msgid "Go ho&me" msgstr "Ev dizinine git\tCtrl-H" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 #, fuzzy msgid "New &file..." msgstr "Yeni dosya" #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 #, fuzzy msgid "New f&older..." msgstr "Yeni dosya" #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 #, fuzzy msgid "&Hidden files" msgstr "Gizli dosyalar" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 #, fuzzy msgid "Thum&bnails" msgstr "Terminal\tCtrl-T" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 #, fuzzy msgid "B&ig icons" msgstr "Büyük ikonlar" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 #, fuzzy msgid "&Small icons" msgstr "Büyük ikonlar" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 #, fuzzy msgid "Fu&ll file list" msgstr "Uzun dosya listesi" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 #, fuzzy msgid "&Rows" msgstr "Satırlar" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 #, fuzzy msgid "&Columns" msgstr "Sütunlar" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 #, fuzzy msgid "&Name" msgstr "İsim" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 #, fuzzy msgid "Si&ze" msgstr "Boyut" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 #, fuzzy msgid "&Type" msgstr "Tür" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 #, fuzzy msgid "E&xtension" msgstr "Sonek:" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 #, fuzzy msgid "&Date" msgstr "Yapıştır" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 #, fuzzy msgid "&User" msgstr "Kullanıcı" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 #, fuzzy msgid "&Group" msgstr "Grup" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 #, fuzzy msgid "Fold&ers first" msgstr "Dosya" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 #, fuzzy msgid "Re&verse order" msgstr "Altalta dosyalar" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 #, fuzzy msgid "&Family:" msgstr "&Dosya" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 #, fuzzy msgid "Si&ze:" msgstr "Boyut:" #. Character set choice #: ../src/FontDialog.cpp:81 #, fuzzy msgid "Character Set:" msgstr "Karakter ayğıtları" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "" #: ../src/FontDialog.cpp:91 #, fuzzy msgid "Greek" msgstr "Boş:" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "" #: ../src/FontDialog.cpp:93 #, fuzzy msgid "Turkish" msgstr "Bu " #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "" #. Set width #: ../src/FontDialog.cpp:113 #, fuzzy msgid "Set Width:" msgstr "Birlikte aç" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "" #: ../src/FontDialog.cpp:118 #, fuzzy msgid "Extra condensed" msgstr "arşiv komutu bilinmiyor" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "" #: ../src/FontDialog.cpp:123 #, fuzzy msgid "Expanded" msgstr "Açık tut" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "" #. Pitch #: ../src/FontDialog.cpp:129 #, fuzzy msgid "Pitch:" msgstr "Path" #: ../src/FontDialog.cpp:133 #, fuzzy msgid "Fixed" msgstr "Ara" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "" #: ../src/FontDialog.cpp:143 #, fuzzy msgid "All Fonts:" msgstr "Yazıtipi" #: ../src/FontDialog.cpp:147 #, fuzzy msgid "Preview:" msgstr "Gösterici:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 #, fuzzy msgid "Launch Xfe as root" msgstr "Root hakları ile Xfe çalıştır!" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Evet" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Hepsi &için evet" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Name: " msgstr "İsim" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 #, fuzzy msgid "Size in root: " msgstr "0 Bytes" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 #, fuzzy msgid "Type: " msgstr "Tür:" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Modified date: " msgstr "Değiştirme tarihi" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "User: " msgstr "Kullanıcı" #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 #, fuzzy msgid "Group: " msgstr "Grup" #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 #, fuzzy msgid "Permissions: " msgstr "Haklar" #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "" #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 #, fuzzy msgid "Deletion date: " msgstr "İkon seç" #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 #, fuzzy msgid "Size: " msgstr "Boyut:" #: ../src/FileList.cpp:149 msgid "Size" msgstr "Boyut" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Tür" #: ../src/FileList.cpp:151 #, fuzzy msgid "Extension" msgstr "Sonek:" #: ../src/FileList.cpp:152 #, fuzzy msgid "Modified date" msgstr "Değiştirme tarihi" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Haklar" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 #, fuzzy msgid "Unable to load image" msgstr "Bütün dosya yüklenemedi: %s" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 #, fuzzy msgid "Deletion date" msgstr "İkon seç" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Süzgeç" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Durum" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 #, fuzzy msgid "Confirm Execute" msgstr "Silmeyi onayla" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 #, fuzzy msgid "Command log" msgstr "Komut" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Dosya silme işleminden vazgeçildi!" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 #, fuzzy msgid "To folder:" msgstr "Dizin bağla :" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, fuzzy, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, fuzzy, c-format msgid "Move file %s to trash can?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, fuzzy, c-format msgid "Move %s selected items to trash can?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, fuzzy, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 #, fuzzy msgid "Move to trash file operation cancelled!" msgstr "Dosya taşınmasından vazgeçildi!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "" #: ../src/FilePanel.cpp:2610 #, fuzzy, c-format msgid "Restore %s selected items to their original locations?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, fuzzy, c-format msgid "Can't create folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, fuzzy, c-format msgid "Definitively delete file %s ?" msgstr "Sil : " #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, fuzzy, c-format msgid "Definitively delete %s selected items?" msgstr " Bütün seçilenler silinsin mi? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, fuzzy, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Dosya silme işleminden vazgeçildi!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" #: ../src/FilePanel.cpp:3633 #, fuzzy msgid "Create new file:" msgstr "Yeni dosya oluştur..." #: ../src/FilePanel.cpp:3669 #, fuzzy, c-format msgid "Can't create file %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/FilePanel.cpp:3673 #, fuzzy, c-format msgid "Can't create file %s" msgstr "Sil : " #: ../src/FilePanel.cpp:3688 #, fuzzy, c-format msgid "Can't set permissions in %s: %s" msgstr "Yeni dosya oluştur..." #: ../src/FilePanel.cpp:3692 #, fuzzy, c-format msgid "Can't set permissions in %s" msgstr "%s yazılamadı: Erişim engellendi" #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "Create new symbolic link:" msgstr "Yeni dosya oluştur..." #: ../src/FilePanel.cpp:3740 #, fuzzy msgid "New Symlink" msgstr "SymLink" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "" #: ../src/FilePanel.cpp:3774 #, fuzzy, c-format msgid "Symlink source %s does not exist" msgstr "%s dizini mevcut değil" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 #, fuzzy msgid "Open selected file(s) with:" msgstr "Seçili dosyayı(ları) bununla aç:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Birlikte aç" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "&Bağlantı oluştur" #: ../src/FilePanel.cpp:4269 #, fuzzy msgid "Show files:" msgstr "Dosyaları göster:" #. Menu items #: ../src/FilePanel.cpp:4380 #, fuzzy msgid "New& file..." msgstr "Yeni dosya" #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 #, fuzzy msgid "New s&ymlink..." msgstr "Yeni dosya" #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 #, fuzzy msgid "Fi<er..." msgstr "Süzgeç" #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 #, fuzzy msgid "&Full file list" msgstr "Uzun dosya listesi" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 #, fuzzy msgid "Per&missions" msgstr "Haklar" #: ../src/FilePanel.cpp:4423 #, fuzzy msgid "Ne&w file..." msgstr "Yeni dosya" #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 #, fuzzy msgid "&Mount" msgstr "Bağla" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 #, fuzzy msgid "Open &with..." msgstr "Birlikte aç..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 #, fuzzy msgid "&Open" msgstr "Aç:" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 #, fuzzy msgid "Extr&act to folder " msgstr "Sil : " #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 #, fuzzy msgid "&Extract here" msgstr "arşiv aç" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 #, fuzzy msgid "E&xtract to..." msgstr "Buraya aç..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 #, fuzzy msgid "&View" msgstr "Göster" #: ../src/FilePanel.cpp:4514 #, fuzzy msgid "Install/Up&grade" msgstr "Kur/Güncelle" #: ../src/FilePanel.cpp:4515 #, fuzzy msgid "Un&install" msgstr "Sil" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 #, fuzzy msgid "&Edit" msgstr "Düzenle" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 #, fuzzy msgid "Com&pare..." msgstr "İkon seç" #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "" #: ../src/FilePanel.cpp:4540 #, fuzzy msgid "Packages &query " msgstr "Paket :" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 #, fuzzy msgid "Scripts" msgstr "&Tanımlama" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 #, fuzzy msgid "&Go to script folder" msgstr " Dizin :" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 #, fuzzy msgid "Copy &to..." msgstr "Kopyala" #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 #, fuzzy msgid "M&ove to trash" msgstr "\tİki paneli göster (Ctrl-F4)" #: ../src/FilePanel.cpp:4563 #, fuzzy msgid "Restore &from trash" msgstr "Sil : " #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Kaynak :" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Dosya hakları" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 #, fuzzy msgid "Select a destination folder" msgstr " Seç..." #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Bütün dosyalar" #. File object #: ../src/FilePanel.cpp:5375 #, fuzzy msgid "Package Install/Upgrade" msgstr "RPM Kur/Güncelle" #. File object #: ../src/FilePanel.cpp:5424 #, fuzzy msgid "Package Uninstall" msgstr "RPM sil" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, fuzzy, c-format msgid "Can't create script folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, fuzzy, c-format msgid "Can't create script folder %s" msgstr "Sil : " #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 #, fuzzy msgid "No compatible package manager (rpm or dpkg) found!" msgstr "RedHat Paket Yöneticisir (RPM) bulunamadı!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, fuzzy, c-format msgid "File %s does not belong to any package." msgstr " dosyasının ait olduğu RPM Pakedinin ismi : " #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Açıklama" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, fuzzy, c-format msgid "File %s belongs to the package: %s" msgstr " dosyasının ait olduğu RPM Pakedinin ismi : " #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr "Seçili dosyayı(ları) bununla aç:" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 Bytes" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, fuzzy, c-format msgid "%s in %s selected items" msgstr "Seçili dosyayı(ları) bununla aç:" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 #, fuzzy msgid "1 item" msgstr "0 Bytes" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 #, fuzzy msgid " items" msgstr "0 Bytes" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Bağlantı" #: ../src/FilePanel.cpp:6201 #, fuzzy, c-format msgid " - Filter: %s" msgstr "Süzgeç" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Confirm Clear Bookmarks" msgstr "Yerimi sil" #: ../src/Bookmarks.cpp:137 #, fuzzy msgid "Do you really want to clear all your bookmarks?" msgstr "Gerçekten XFE programınından çıkmak istiyor musunuz?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 #, fuzzy msgid "Cl&ose" msgstr "&Kapat" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, fuzzy, c-format msgid "Can't duplicate pipes: %s" msgstr "Sil : " #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 #, fuzzy msgid "Can't duplicate pipes" msgstr "Sil : " #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 #, fuzzy msgid "\tSelect destination..." msgstr " Seç..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 #, fuzzy msgid "Select a file" msgstr " Dizin :" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 #, fuzzy msgid "Select a file or a destination folder" msgstr " Dizin :" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Arşive ekle" #: ../src/ArchInputDialog.cpp:47 #, fuzzy msgid "New archive name:" msgstr "İsmini değiştir " #: ../src/ArchInputDialog.cpp:61 #, fuzzy msgid "Format:" msgstr "Burdan :" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Seçenekler" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Güncel şema" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Ayarlar" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "" #: ../src/Preferences.cpp:183 #, fuzzy msgid "Auto save layout" msgstr "Şemayı otomatik kaydet" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "" #: ../src/Preferences.cpp:187 #, fuzzy msgid "Display tooltips in file and folder lists" msgstr "\tDetayları göster\tDetaylı dizin listesini göster." #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "" #: ../src/Preferences.cpp:208 #, fuzzy msgid "Start in home folder" msgstr " Dizin :" #: ../src/Preferences.cpp:209 #, fuzzy msgid "Start in current folder" msgstr " Dizin :" #: ../src/Preferences.cpp:210 #, fuzzy msgid "Start in last visited folder" msgstr " Dizin :" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 #, fuzzy msgid "&Dialogs" msgstr "Renk kutusu" #: ../src/Preferences.cpp:314 #, fuzzy msgid "Confirmations" msgstr "&Onayla" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "" #: ../src/Preferences.cpp:318 #, fuzzy msgid "Confirm delete" msgstr "Silmeyi onayla" #: ../src/Preferences.cpp:319 #, fuzzy msgid "Confirm delete non empty folders" msgstr "Dizini sil :" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Onaylamanın üstüne yaz" #: ../src/Preferences.cpp:321 #, fuzzy msgid "Confirm execute text files" msgstr "Silmeyi onayla" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Dosya hakları" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 #, fuzzy msgid "Warnings" msgstr "Uyarı" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "" #: ../src/Preferences.cpp:328 msgid "Display mount / unmount success messages" msgstr "" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "ROOT olarak girildiğinde uyar" #. Third tab - Programs #: ../src/Preferences.cpp:374 #, fuzzy msgid "&Programs" msgstr "Programlar" #: ../src/Preferences.cpp:376 #, fuzzy msgid "Default programs" msgstr "Terminal programı:" #: ../src/Preferences.cpp:379 #, fuzzy msgid "Text viewer:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:385 #, fuzzy msgid "Text editor:" msgstr "Metin düzenleyici:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Dosya hakları" #: ../src/Preferences.cpp:397 #, fuzzy msgid "Image editor:" msgstr "Metin düzenleyici:" #: ../src/Preferences.cpp:403 #, fuzzy msgid "Image viewer:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:409 #, fuzzy msgid "Archiver:" msgstr "arşiv oluştur" #: ../src/Preferences.cpp:415 #, fuzzy msgid "Pdf viewer:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:421 #, fuzzy msgid "Audio player:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:427 #, fuzzy msgid "Video player:" msgstr "Metin gösterici:" #: ../src/Preferences.cpp:433 #, fuzzy msgid "Terminal:" msgstr "Terminal" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Bağla" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Ayır" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "" #: ../src/Preferences.cpp:458 #, fuzzy msgid "Color theme" msgstr "Renk şeması" #: ../src/Preferences.cpp:468 #, fuzzy msgid "Custom colors" msgstr "Renkler" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Temel renkler" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Kenar rengi" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Arka plan rengi" #: ../src/Preferences.cpp:478 #, fuzzy msgid "Text color" msgstr "Temel renkler" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Arkaplan renk seçimi" #: ../src/Preferences.cpp:480 #, fuzzy msgid "Selection text color" msgstr "Önplan renk seçimi" #: ../src/Preferences.cpp:481 #, fuzzy msgid "File list background color" msgstr "Arkaplan renk seçimi" #: ../src/Preferences.cpp:482 #, fuzzy msgid "File list text color" msgstr "Arkaplan renk seçimi" #: ../src/Preferences.cpp:483 #, fuzzy msgid "File list highlight color" msgstr "Arkaplan renk seçimi" #: ../src/Preferences.cpp:484 #, fuzzy msgid "Progress bar color" msgstr "Kenar rengi" #: ../src/Preferences.cpp:485 #, fuzzy msgid "Attention color" msgstr "Temel renkler" #: ../src/Preferences.cpp:486 #, fuzzy msgid "Scrollbar color" msgstr "Kenar rengi" #. Controls theme #: ../src/Preferences.cpp:490 #, fuzzy msgid "Controls" msgstr "Yazıtipi" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "" #: ../src/Preferences.cpp:499 #, fuzzy msgid "\tSelect path..." msgstr " Seç..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 #, fuzzy msgid "&Fonts" msgstr "Yazıtipi" #: ../src/Preferences.cpp:506 #, fuzzy msgid "Fonts" msgstr "Yazıtipi" #: ../src/Preferences.cpp:509 #, fuzzy msgid "Normal font:" msgstr "Yazıtipini değiştir" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Seç..." #: ../src/Preferences.cpp:515 #, fuzzy msgid "Text font:" msgstr "Yazıtipini değiştir" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "" #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "" #: ../src/Preferences.cpp:608 #, fuzzy msgid "Select an icon theme folder or an icon file" msgstr " Dizin :" #: ../src/Preferences.cpp:697 #, fuzzy msgid "Change Normal Font" msgstr "Yazıtipini değiştir" #: ../src/Preferences.cpp:721 #, fuzzy msgid "Change Text Font" msgstr "Yazıtipini değiştir" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 #, fuzzy msgid "Create new file" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 #, fuzzy msgid "Create new folder" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:777 #, fuzzy msgid "Copy to clipboard" msgstr "\tSeçili dosyaları ara hafızaya kopyala (Ctrl-C, F5)" #: ../src/Preferences.cpp:781 #, fuzzy msgid "Cut to clipboard" msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 #, fuzzy msgid "Paste from clipboard" msgstr "\tAra hafızadan yapıştır (Ctrl-V)" #: ../src/Preferences.cpp:801 #, fuzzy msgid "Open file" msgstr "Dosya aç\tCtrl-O" #: ../src/Preferences.cpp:805 #, fuzzy msgid "Quit application" msgstr "Uygulama" #: ../src/Preferences.cpp:809 #, fuzzy msgid "Select all" msgstr "İkon seç" #: ../src/Preferences.cpp:813 #, fuzzy msgid "Deselect all" msgstr "Seçimden vazgeç\tCtrl-Z" #: ../src/Preferences.cpp:817 #, fuzzy msgid "Invert selection" msgstr "Seçime geri dön\tCtrl-I" #: ../src/Preferences.cpp:821 #, fuzzy msgid "Display help" msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #: ../src/Preferences.cpp:825 #, fuzzy msgid "Toggle display hidden files" msgstr "Gizli dosyaları göster" #: ../src/Preferences.cpp:829 #, fuzzy msgid "Toggle display thumbnails" msgstr "\tGizli dosyaları göster (Ctrl-F5)" #: ../src/Preferences.cpp:837 #, fuzzy msgid "Close window" msgstr "&Ara" #: ../src/Preferences.cpp:841 #, fuzzy msgid "Print file" msgstr "Dosyayı yazdır" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 #, fuzzy msgid "Search" msgstr "&Ara" #: ../src/Preferences.cpp:849 #, fuzzy msgid "Search previous" msgstr "İkon yolu" #: ../src/Preferences.cpp:853 #, fuzzy msgid "Search next" msgstr "&Ara" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 #, fuzzy msgid "Vertical panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 #, fuzzy msgid "Horizontal panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 #, fuzzy msgid "Refresh panels" msgstr "Sol panel" #: ../src/Preferences.cpp:875 #, fuzzy msgid "Create new symbolic link" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:879 #, fuzzy msgid "File properties" msgstr "Dosya hakları" #: ../src/Preferences.cpp:883 #, fuzzy msgid "Move files to trash" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/Preferences.cpp:887 #, fuzzy msgid "Restore files from trash" msgstr "Sil : " #: ../src/Preferences.cpp:891 #, fuzzy msgid "Delete files" msgstr "Sil : " #: ../src/Preferences.cpp:895 #, fuzzy msgid "Create new window" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:899 #, fuzzy msgid "Create new root window" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute command" msgstr "Komut çalıştır :" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 #, fuzzy msgid "Launch terminal" msgstr "Terminal" #: ../src/Preferences.cpp:912 #, fuzzy msgid "Mount file system (Linux only)" msgstr "Dosya sistemi bağla..." #: ../src/Preferences.cpp:916 #, fuzzy msgid "Unmount file system (Linux only)" msgstr "Dosya sistemini ayır..." #: ../src/Preferences.cpp:920 #, fuzzy msgid "One panel mode" msgstr "Sol panel" #: ../src/Preferences.cpp:924 #, fuzzy msgid "Tree and panel mode" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:928 #, fuzzy msgid "Two panels mode" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:932 #, fuzzy msgid "Tree and two panels mode" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:936 #, fuzzy msgid "Clear location bar" msgstr "\tAdres çubuğunu temizle\tAdres çubuğunu temizle." #: ../src/Preferences.cpp:940 #, fuzzy msgid "Rename file" msgstr "İsmini değiştir " #: ../src/Preferences.cpp:944 #, fuzzy msgid "Copy files to location" msgstr "\tGit\tAdrese git." #: ../src/Preferences.cpp:948 #, fuzzy msgid "Move files to location" msgstr "\tGit\tAdrese git." #: ../src/Preferences.cpp:952 #, fuzzy msgid "Symlink files to location" msgstr "\tGit\tAdrese git." #: ../src/Preferences.cpp:956 #, fuzzy msgid "Add bookmark" msgstr "Yerimine ekle\tCtrl-B" #: ../src/Preferences.cpp:960 #, fuzzy msgid "Synchronize panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:964 #, fuzzy msgid "Switch panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/Preferences.cpp:968 #, fuzzy msgid "Go to trash can" msgstr "\tİki paneli göster (Ctrl-F4)" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "" #: ../src/Preferences.cpp:976 #, fuzzy msgid "View" msgstr "Gösterici:" #: ../src/Preferences.cpp:980 #, fuzzy msgid "Edit" msgstr "Düzenleyici:" #: ../src/Preferences.cpp:988 #, fuzzy msgid "Toggle display hidden folders" msgstr "Gizli dosyaları göster" #: ../src/Preferences.cpp:992 #, fuzzy msgid "Filter files" msgstr "Dosya Tarihi" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "" #: ../src/Preferences.cpp:1007 #, fuzzy msgid "Zoom to fit window" msgstr "Satır:" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "" #: ../src/Preferences.cpp:1033 #, fuzzy msgid "Create new document" msgstr "Yeni dosya oluştur..." #: ../src/Preferences.cpp:1037 #, fuzzy msgid "Save changes to file" msgstr "\tDokuman aç (Ctrl-O)" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 #, fuzzy msgid "Goto line" msgstr "Satır:" #: ../src/Preferences.cpp:1045 #, fuzzy msgid "Undo last change" msgstr "\t Çık (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1049 #, fuzzy msgid "Redo last change" msgstr "\t Çık (Ctrl-Q, F10)" #: ../src/Preferences.cpp:1053 #, fuzzy msgid "Replace string" msgstr "İkon seç" #: ../src/Preferences.cpp:1057 #, fuzzy msgid "Toggle word wrap mode" msgstr "\tMetin bul (Ctrl-F)" #: ../src/Preferences.cpp:1061 #, fuzzy msgid "Toggle line numbers mode" msgstr "\tMetin bul (Ctrl-F)" #: ../src/Preferences.cpp:1065 #, fuzzy msgid "Toggle lower case mode" msgstr "\tMetin bul (Ctrl-F)" #: ../src/Preferences.cpp:1069 #, fuzzy msgid "Toggle upper case mode" msgstr "\tMetin bul (Ctrl-F)" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Tekrar başlatma" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 #, fuzzy msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/Preferences.cpp:1823 #, fuzzy msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Renkler tekrar başlatmadan sonra değişecektir.\n" "X File Explorer tekrar başlasın mı?" #: ../src/Preferences.cpp:1830 #, fuzzy msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/Preferences.cpp:1838 #, fuzzy msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/Preferences.cpp:1846 #, fuzzy msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/Preferences.cpp:1854 #, fuzzy msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/Preferences.cpp:1862 #, fuzzy msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Boşver" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Hepsini &boşver" #: ../src/OverwriteBox.cpp:82 #, fuzzy msgid "Source size:" msgstr "Kaynak :" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 #, fuzzy msgid "- Modified date:" msgstr "Değiştirme tarihi" #: ../src/OverwriteBox.cpp:88 #, fuzzy msgid "Target size:" msgstr "Hedef :" #: ../src/ExecuteBox.cpp:39 #, fuzzy msgid "E&xecute" msgstr "Çalıştırma" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Kapat" #: ../src/SearchPanel.cpp:163 #, fuzzy msgid "Refresh panel" msgstr "Sol panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 #, fuzzy msgid "Copy selected files to clipboard" msgstr "\tSeçili dosyaları ara hafızaya kopyala (Ctrl-C, F5)" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 #, fuzzy msgid "Cut selected files to clipboard" msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 #, fuzzy msgid "Show properties of selected files" msgstr "\tSeçili dosyanın özniteliklerini göster (F9)" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 #, fuzzy msgid "Move selected files to trash can" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 #, fuzzy msgid "Delete selected files" msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 #, fuzzy msgid "F&ull file list" msgstr "Uzun dosya listesi" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "" #: ../src/SearchPanel.cpp:2312 #, fuzzy msgid "&Packages query " msgstr "Paket :" #: ../src/SearchPanel.cpp:2326 #, fuzzy msgid "&Go to parent folder" msgstr " Dizin :" #: ../src/SearchPanel.cpp:3549 #, fuzzy, c-format msgid "Copy %s items" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/SearchPanel.cpp:3565 #, fuzzy, c-format msgid "Move %s items" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/SearchPanel.cpp:3581 #, fuzzy, c-format msgid "Symlink %s items" msgstr "" " Doslar/Dizinler.\n" "Burdan: " #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "" #: ../src/SearchPanel.cpp:4122 #, fuzzy msgid "0 items" msgstr "0 Bytes" #: ../src/SearchWindow.cpp:69 #, fuzzy msgid "Find files:" msgstr "Dosyayı yazdır" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "" #. Hidden files #: ../src/SearchWindow.cpp:77 #, fuzzy msgid "Hidden files\tShow hidden files and folders" msgstr " Dizin :" #: ../src/SearchWindow.cpp:82 #, fuzzy msgid "In folder:" msgstr "Dizin bağla :" #: ../src/SearchWindow.cpp:84 #, fuzzy msgid "\tIn folder..." msgstr "Yeni dosya" #: ../src/SearchWindow.cpp:87 #, fuzzy msgid "Text contains:" msgstr "Yazıtipini değiştir" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "" #. Search options #: ../src/SearchWindow.cpp:95 #, fuzzy msgid "More options" msgstr "İkon yolu" #: ../src/SearchWindow.cpp:96 #, fuzzy msgid "Search options" msgstr "İkon yolu" #: ../src/SearchWindow.cpp:97 #, fuzzy msgid "Reset\tReset search options" msgstr "İkon yolu" #: ../src/SearchWindow.cpp:113 #, fuzzy msgid "Min size:" msgstr "Dosyayı yazdır" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "" #: ../src/SearchWindow.cpp:118 #, fuzzy msgid "Max size:" msgstr "Toplam %s" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "" #. Modification date #: ../src/SearchWindow.cpp:124 #, fuzzy msgid "Last modified before:" msgstr "Son değişiklik:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "" #: ../src/SearchWindow.cpp:129 #, fuzzy msgid "Last modified after:" msgstr "Son değişiklik:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "" #. User and group #: ../src/SearchWindow.cpp:135 #, fuzzy msgid "User:" msgstr "Kullanıcı" #: ../src/SearchWindow.cpp:138 #, fuzzy msgid "\tFilter by user name" msgstr "Dosya Tarihi" #: ../src/SearchWindow.cpp:140 #, fuzzy msgid "Group:" msgstr "Grup" #: ../src/SearchWindow.cpp:143 #, fuzzy msgid "\tFilter by group name" msgstr "Dosya Tarihi" #. File type #: ../src/SearchWindow.cpp:176 #, fuzzy msgid "File type:" msgstr "Dosya sistemi:" #: ../src/SearchWindow.cpp:179 #, fuzzy msgid "File" msgstr "Dosya :" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "" #: ../src/SearchWindow.cpp:185 #, fuzzy msgid "\tFilter by file type" msgstr "Dosya Tarihi" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 #, fuzzy msgid "Permissions:" msgstr "Haklar" #: ../src/SearchWindow.cpp:192 #, fuzzy msgid "\tFilter by permissions (octal)" msgstr "Dosya hakları" #. Empty files #: ../src/SearchWindow.cpp:195 #, fuzzy msgid "Empty files:" msgstr "Dosyaları göster:" #: ../src/SearchWindow.cpp:196 #, fuzzy msgid "\tEmpty files only" msgstr "Dosyaları göster:" #: ../src/SearchWindow.cpp:200 #, fuzzy msgid "Follow symbolic links:" msgstr "Yeni dosya oluştur..." #: ../src/SearchWindow.cpp:201 #, fuzzy msgid "\tSearch while following symbolic links" msgstr "Yeni dosya oluştur..." #: ../src/SearchWindow.cpp:205 #, fuzzy msgid "Non recursive:" msgstr "Altalta dosyalar" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "" #: ../src/SearchWindow.cpp:210 #, fuzzy msgid "Ignore other file systems:" msgstr "Dosya sistemini ayır..." #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "" #: ../src/SearchWindow.cpp:777 #, fuzzy msgid ">>>> Search started - Please wait... <<<<" msgstr "İkon yolu" #: ../src/SearchWindow.cpp:933 #, fuzzy msgid ">>>> Search results <<<<" msgstr "İkon yolu" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "" #: ../src/SearchWindow.cpp:968 #, fuzzy msgid ">>>> Search stopped... <<<<" msgstr "&Ara" #: ../src/SearchWindow.cpp:1142 #, fuzzy msgid "Select path" msgstr " Seç..." #: ../src/XFileExplorer.cpp:632 #, fuzzy msgid "Create new symlink" msgstr "Yeni dosya oluştur..." #: ../src/XFileExplorer.cpp:672 #, fuzzy msgid "Restore selected files from trash can" msgstr "\tSeçili dosyaları sil (Del, F8)" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "" #: ../src/XFileExplorer.cpp:690 #, fuzzy msgid "Search files and folders..." msgstr " Dizin :" #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "" #: ../src/XFileExplorer.cpp:711 #, fuzzy msgid "Show one panel" msgstr "\tTek panel göster (Ctrl-F4)" #: ../src/XFileExplorer.cpp:717 #, fuzzy msgid "Show tree and panel" msgstr "\tTek panel göster (Ctrl-F4)" #: ../src/XFileExplorer.cpp:723 #, fuzzy msgid "Show two panels" msgstr "\tİki paneli göster (Ctrl-F4)" #: ../src/XFileExplorer.cpp:729 #, fuzzy msgid "Show tree and two panels" msgstr "\tİki paneli göster (Ctrl-F4)" #: ../src/XFileExplorer.cpp:768 #, fuzzy msgid "Clear location" msgstr "\tAdres çubuğunu temizle\tAdres çubuğunu temizle." #: ../src/XFileExplorer.cpp:773 #, fuzzy msgid "Go to location" msgstr "\tGit\tAdrese git." #: ../src/XFileExplorer.cpp:787 #, fuzzy msgid "New fo&lder..." msgstr "Yeni dosya" #: ../src/XFileExplorer.cpp:799 #, fuzzy msgid "Go &home" msgstr "Ev dizinine git\tCtrl-H" #: ../src/XFileExplorer.cpp:805 #, fuzzy msgid "&Refresh" msgstr "Tazele\tCtrl-R" #: ../src/XFileExplorer.cpp:825 #, fuzzy msgid "&Copy to..." msgstr "Kopyala" #: ../src/XFileExplorer.cpp:837 #, fuzzy msgid "&Symlink to..." msgstr "Symlink" #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Dosya hakları" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Dosya" #: ../src/XFileExplorer.cpp:900 #, fuzzy msgid "&Select all" msgstr "İkon seç" #: ../src/XFileExplorer.cpp:906 #, fuzzy msgid "&Deselect all" msgstr "Seçimden vazgeç\tCtrl-Z" #: ../src/XFileExplorer.cpp:912 #, fuzzy msgid "&Invert selection" msgstr "Seçime geri dön\tCtrl-I" #: ../src/XFileExplorer.cpp:919 #, fuzzy msgid "P&references" msgstr "Seçenekler" #: ../src/XFileExplorer.cpp:925 #, fuzzy msgid "&General toolbar" msgstr "&Genel" #: ../src/XFileExplorer.cpp:926 #, fuzzy msgid "&Tools toolbar" msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #: ../src/XFileExplorer.cpp:927 #, fuzzy msgid "&Panel toolbar" msgstr "Araç çubuğunu göster" #: ../src/XFileExplorer.cpp:928 #, fuzzy msgid "&Location bar" msgstr "Adres:" #: ../src/XFileExplorer.cpp:929 #, fuzzy msgid "&Status bar" msgstr "Durum" #: ../src/XFileExplorer.cpp:933 #, fuzzy msgid "&One panel" msgstr "Sol panel" #: ../src/XFileExplorer.cpp:937 #, fuzzy msgid "T&ree and panel" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:941 #, fuzzy msgid "Two &panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:945 #, fuzzy msgid "Tr&ee and two panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 #, fuzzy msgid "&Vertical panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 #, fuzzy msgid "&Horizontal panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:963 #, fuzzy msgid "&Add bookmark" msgstr "Yerimine ekle\tCtrl-B" #: ../src/XFileExplorer.cpp:991 #, fuzzy msgid "&Clear bookmarks" msgstr "Yerimi sil" #: ../src/XFileExplorer.cpp:993 #, fuzzy msgid "&Bookmarks" msgstr "Yerimleri" #: ../src/XFileExplorer.cpp:997 #, fuzzy msgid "&Filter..." msgstr "Süzgeç" #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 #, fuzzy msgid "&Thumbnails" msgstr "Terminal\tCtrl-T" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 #, fuzzy msgid "&Big icons" msgstr "Büyük ikonlar" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 #, fuzzy msgid "T&ype" msgstr "Tür" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 #, fuzzy msgid "D&ate" msgstr "Yapıştır" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 #, fuzzy msgid "Us&er" msgstr "Kullanıcı" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 #, fuzzy msgid "Gr&oup" msgstr "Grup" #: ../src/XFileExplorer.cpp:1021 #, fuzzy msgid "Fol&ders first" msgstr "Dosya" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 #, fuzzy msgid "&Left panel" msgstr "Sol panel" #: ../src/XFileExplorer.cpp:1027 #, fuzzy msgid "&Filter" msgstr "Süzgeç" #: ../src/XFileExplorer.cpp:1051 #, fuzzy msgid "&Folders first" msgstr "Dosya" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 #, fuzzy msgid "&Right panel" msgstr "Sağ panel" #: ../src/XFileExplorer.cpp:1058 #, fuzzy msgid "New &window" msgstr "&Ara" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "" #: ../src/XFileExplorer.cpp:1072 #, fuzzy msgid "E&xecute command..." msgstr "Komut çalıştır :" #: ../src/XFileExplorer.cpp:1078 #, fuzzy msgid "&Terminal" msgstr "Terminal" #: ../src/XFileExplorer.cpp:1084 #, fuzzy msgid "&Synchronize panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:1090 #, fuzzy msgid "Sw&itch panels" msgstr "İki paneli göster\tCtrl-F4" #: ../src/XFileExplorer.cpp:1096 #, fuzzy msgid "Go to script folder" msgstr " Dizin :" #: ../src/XFileExplorer.cpp:1098 #, fuzzy msgid "&Search files..." msgstr "&Ara" #: ../src/XFileExplorer.cpp:1111 #, fuzzy msgid "&Unmount" msgstr "Ayır" #: ../src/XFileExplorer.cpp:1115 #, fuzzy msgid "&Tools" msgstr "Araç çubuğunu göster" #: ../src/XFileExplorer.cpp:1120 #, fuzzy msgid "&Go to trash" msgstr "\tİki paneli göster (Ctrl-F4)" #: ../src/XFileExplorer.cpp:1126 #, fuzzy msgid "&Trash size" msgstr "Toplam %s" #: ../src/XFileExplorer.cpp:1128 #, fuzzy msgid "&Empty trash can" msgstr "Tazele\tCtrl-R" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 #, fuzzy msgid "T&rash" msgstr "Bu " #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "&Yardım" #: ../src/XFileExplorer.cpp:1146 #, fuzzy msgid "&About X File Explorer" msgstr "X File Explorer Hakkında" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Root hakları ile Xfe çalıştır!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:2270 #, fuzzy, c-format msgid "Can't create Xfe config folder %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "" #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, fuzzy, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, fuzzy, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Yardım" #: ../src/XFileExplorer.cpp:3201 #, fuzzy, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer Hakkında" #: ../src/XFileExplorer.cpp:3202 #, fuzzy msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "" "XFE, X File Explorer Version %s\n" "\n" "Copyright (C) 2002-2003 Roland Baudin (roland65@free.fr)\n" "\n" "Temeli X WinCommander (Maxim Baranov )\n" "\n" "Çeviri : erkaN K (erkaN@linux-sevenler.de)\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" #: ../src/XFileExplorer.cpp:3235 #, fuzzy msgid "About X File Explorer" msgstr "X File Explorer Hakkında" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 #, fuzzy msgid "&Panel" msgstr "Panel görünümü" #: ../src/XFileExplorer.cpp:3707 #, fuzzy msgid "Execute the command:" msgstr "Komut çalıştır :" #: ../src/XFileExplorer.cpp:3707 msgid "Console mode" msgstr "" #: ../src/XFileExplorer.cpp:3876 #, fuzzy msgid "Search files and folders" msgstr " Dizin :" #. Confirmation message #: ../src/XFileExplorer.cpp:3938 #, fuzzy msgid "Do you really want to empty the trash can?" msgstr "Gerçekten XFE programınından çıkmak istiyor musunuz?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr "" #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" #: ../src/XFileExplorer.cpp:4029 #, fuzzy, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "Değiştirme tarihi" #: ../src/XFileExplorer.cpp:4031 #, fuzzy msgid "Trash size" msgstr "Toplam %s" #: ../src/XFileExplorer.cpp:4038 #, fuzzy, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, fuzzy, c-format msgid "Command not found: %s" msgstr "Sil : " #: ../src/XFileExplorer.cpp:4571 #, fuzzy, c-format msgid "Invalid file association: %s" msgstr "Dosya &Bağlantlıarı" #: ../src/XFileExplorer.cpp:4576 #, fuzzy, c-format msgid "File association not found: %s" msgstr "Dosya &Bağlantlıarı" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 #, fuzzy msgid "&Preferences" msgstr "Seçenekler" #: ../src/XFilePackage.cpp:135 #, fuzzy msgid "Open package file" msgstr "\tPaket dosyasını aç (Ctrl-O)" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 #, fuzzy msgid "&Open..." msgstr "Aç:" #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 #, fuzzy msgid "&Toolbar" msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #. Help Menu entries #: ../src/XFilePackage.cpp:157 #, fuzzy msgid "&About X File Package" msgstr "X File Gösterimi hakkında" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Kaldır" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Kur/Güncelle" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Tanımlama" #. Second item is File List #: ../src/XFilePackage.cpp:194 #, fuzzy msgid "File &List" msgstr "&Dosya listesi" #: ../src/XFilePackage.cpp:226 #, fuzzy, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X Dosya Sorgulaması çok basit bir RPM yöneticisidir.\n" "\n" "Copyright (C) 2002-2003 Roland Baudin (roland65@free.fr)" #: ../src/XFilePackage.cpp:228 #, fuzzy msgid "About X File Package" msgstr "X File Gösterimi hakkında" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "RPM Kaynakkodu Pakedi" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM Paketleri" #: ../src/XFilePackage.cpp:243 #, fuzzy msgid "DEB packages" msgstr "RPM Paketleri" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Dokuman aç" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 #, fuzzy msgid "No package loaded" msgstr "RPM Pakedi yüklenmedi" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "" #. Make and show command window #: ../src/XFilePackage.cpp:296 #, fuzzy msgid "Install/Upgrade Package" msgstr "RPM pakedi kur/güncelle..." #. Make and show command window #: ../src/XFilePackage.cpp:346 #, fuzzy msgid "Uninstall Package" msgstr "Paket sil:" #: ../src/XFilePackage.cpp:495 #, fuzzy msgid "[RPM package]\n" msgstr "RPM Paketleri" #: ../src/XFilePackage.cpp:500 #, fuzzy msgid "[DEB package]\n" msgstr "RPM Paketleri" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "%s için arama başarısız!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Dosya yüklemesinde hata" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Dosya açılamıyor: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:104 #, fuzzy msgid "GIF Image" msgstr "GIF resimleri" #: ../src/XFileImage.cpp:105 #, fuzzy msgid "BMP Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:106 #, fuzzy msgid "XPM Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:107 #, fuzzy msgid "PCX Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:108 #, fuzzy msgid "ICO Image" msgstr "GIF resimleri" #: ../src/XFileImage.cpp:109 #, fuzzy msgid "RGB Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:110 #, fuzzy msgid "XBM Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:111 #, fuzzy msgid "TARGA Image" msgstr "GIF resimleri" #: ../src/XFileImage.cpp:112 #, fuzzy msgid "PPM Image" msgstr "BMP resimleri" #: ../src/XFileImage.cpp:113 #, fuzzy msgid "PNG Image" msgstr "PNG resimleri" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 #, fuzzy msgid "JPEG Image" msgstr "PNG resimleri" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 #, fuzzy msgid "TIFF Image" msgstr "GIF resimleri" #: ../src/XFileImage.cpp:253 #, fuzzy msgid "&Image" msgstr "PNG resimleri" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 #, fuzzy msgid "Open" msgstr "Aç:" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 #, fuzzy msgid "Open image file." msgstr "Dokuman aç" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 #, fuzzy msgid "Print" msgstr "Dosyayı yazdır" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 #, fuzzy msgid "Print image file." msgstr "Dosyayı yazdır" #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 #, fuzzy msgid "Zoom in" msgstr "Satır:" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "" #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "" #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "" #: ../src/XFileImage.cpp:597 #, fuzzy msgid "Zoom to fit" msgstr "Satır:" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "" #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 #, fuzzy msgid "&Print..." msgstr "Dosyayı yazdır" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "&Clear recent files" msgstr "C Quellcode dosyaları" #: ../src/XFileImage.cpp:643 #, fuzzy msgid "Clear recent file menu." msgstr "C Quellcode dosyaları" #: ../src/XFileImage.cpp:649 #, fuzzy msgid "Quit Xfi." msgstr "Çık" #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "" #: ../src/XFileImage.cpp:697 #, fuzzy msgid "Show hidden files and folders." msgstr " Dizin :" #: ../src/XFileImage.cpp:703 #, fuzzy msgid "Show image thumbnails." msgstr "\tGizli dosyaları göster (Ctrl-F5)" #: ../src/XFileImage.cpp:711 #, fuzzy msgid "Display folders with big icons." msgstr "\tİkonları göster\tDizinleri büyük ikon olarak göster." #: ../src/XFileImage.cpp:717 #, fuzzy msgid "Display folders with small icons." msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #: ../src/XFileImage.cpp:723 #, fuzzy msgid "&Detailed file list" msgstr "Uzun dosya listesi" #: ../src/XFileImage.cpp:723 #, fuzzy msgid "Display detailed folder listing." msgstr "\tDetayları göster\tDetaylı dizin listesini göster." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "" #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "" #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "" #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 #, fuzzy msgid "Display toolbar." msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "&File list" msgstr "Uzun dosya listesi" #: ../src/XFileImage.cpp:745 #, fuzzy msgid "Display file list." msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #: ../src/XFileImage.cpp:746 #, fuzzy msgid "File list &before" msgstr "Arkaplan renk seçimi" #: ../src/XFileImage.cpp:746 #, fuzzy msgid "Display file list before image window." msgstr "\tİkonları göster\tDizinleri büyük ikon olarak göster." #: ../src/XFileImage.cpp:747 #, fuzzy msgid "&Filter images" msgstr "Dosya Tarihi" #: ../src/XFileImage.cpp:747 #, fuzzy msgid "List only image files." msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "&About X File Image" msgstr "X File Gösterimi hakkında" #: ../src/XFileImage.cpp:753 #, fuzzy msgid "About X File Image." msgstr "X File Gösterimi hakkında" #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" #: ../src/XFileImage.cpp:1257 #, fuzzy msgid "About X File Image" msgstr "X File Gösterimi hakkında" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Error Loading Image" msgstr "Dosya yüklemesinde hata" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "" #: ../src/XFileImage.cpp:1386 #, fuzzy msgid "Unable to load image, the file may be corrupted" msgstr "Bütün dosya yüklenemedi: %s" #: ../src/XFileImage.cpp:1426 #, fuzzy msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Yazıtipi değişiminden sonra tekra başlatmanız gerekli.\n" "X File Explorer şimdi tekrardan başlatılsın mı?" #: ../src/XFileImage.cpp:1541 #, fuzzy msgid "Open Image" msgstr "Dokuman aç" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 #, fuzzy msgid "XFileWrite Preferences" msgstr "Seçenekler" #. First tab - Editor #: ../src/WriteWindow.cpp:197 #, fuzzy msgid "&Editor" msgstr "Düzenle" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 #, fuzzy msgid "Text" msgstr "Yazıtipini değiştir" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "" #: ../src/WriteWindow.cpp:207 #, fuzzy msgid "Tabulation size:" msgstr "Toplam %s" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 #, fuzzy msgid "&Colors" msgstr "Renkler" #: ../src/WriteWindow.cpp:222 #, fuzzy msgid "Lines" msgstr "Satır:" #: ../src/WriteWindow.cpp:225 #, fuzzy msgid "Background:" msgstr "Arka plan rengi" #: ../src/WriteWindow.cpp:228 #, fuzzy msgid "Text:" msgstr "Yazıtipini değiştir" #: ../src/WriteWindow.cpp:231 #, fuzzy msgid "Selected text background:" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:234 #, fuzzy msgid "Selected text:" msgstr "İkon seç" #: ../src/WriteWindow.cpp:237 #, fuzzy msgid "Highlighted text background:" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:240 #, fuzzy msgid "Highlighted text:" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:243 #, fuzzy msgid "Cursor:" msgstr "Kenar rengi" #: ../src/WriteWindow.cpp:246 #, fuzzy msgid "Line numbers background:" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:249 #, fuzzy msgid "Line numbers foreground:" msgstr "Önplan renk seçimi" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Ara" #: ../src/WriteWindow.cpp:610 #, fuzzy msgid "&Window" msgstr "&Ara" #. Caption before number #: ../src/WriteWindow.cpp:643 #, fuzzy msgid " Lines:" msgstr "Satır:" #. Caption before number #: ../src/WriteWindow.cpp:650 #, fuzzy msgid " Col:" msgstr "Sütun:" #. Caption before number #: ../src/WriteWindow.cpp:657 #, fuzzy msgid " Line:" msgstr "Satır:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 #, fuzzy msgid "Create new document." msgstr "Yeni dosya oluştur..." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 #, fuzzy msgid "Open document file." msgstr "\tDokuman aç (Ctrl-O)" #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "" #: ../src/WriteWindow.cpp:667 #, fuzzy msgid "Save document." msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close" msgstr "&Kapat" #: ../src/WriteWindow.cpp:670 #, fuzzy msgid "Close document file." msgstr "\tDokuman aç (Ctrl-O)" #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 #, fuzzy msgid "Print document." msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 #, fuzzy msgid "Quit X File Write." msgstr "X File Gösterimi hakkında" #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 #, fuzzy msgid "Copy selection to clipboard." msgstr "\tSeçili dosyaları ara hafızaya kopyala (Ctrl-C, F5)" #: ../src/WriteWindow.cpp:690 #, fuzzy msgid "Cut" msgstr "Kes" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 #, fuzzy msgid "Cut selection to clipboard." msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste" msgstr "Yapıştır" #: ../src/WriteWindow.cpp:693 #, fuzzy msgid "Paste clipboard." msgstr "\tAra hafızadan yapıştır (Ctrl-V)" #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 #, fuzzy msgid "Goto line number." msgstr "Satır:" #: ../src/WriteWindow.cpp:707 #, fuzzy msgid "Undo" msgstr "&Ara" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 #, fuzzy msgid "Undo last change." msgstr "\t Çık (Ctrl-Q, F10)" #: ../src/WriteWindow.cpp:710 #, fuzzy msgid "Redo" msgstr "Okuma" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "" #: ../src/WriteWindow.cpp:717 #, fuzzy msgid "Search text." msgstr "&Ara" #: ../src/WriteWindow.cpp:720 #, fuzzy msgid "Search selection backward" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "" #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "" #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap on." msgstr "\tMetin bul (Ctrl-F)" #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "" #: ../src/WriteWindow.cpp:730 #, fuzzy msgid "Set word wrap off." msgstr "\tMetin bul (Ctrl-F)" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers" msgstr "Adres çubuğunu göster" #: ../src/WriteWindow.cpp:733 #, fuzzy msgid "Show line numbers." msgstr "Adres çubuğunu göster" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "" #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "Yeni dosya" #: ../src/WriteWindow.cpp:753 #, fuzzy msgid "Save changes to file." msgstr "\tDokuman aç (Ctrl-O)" #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "" #: ../src/WriteWindow.cpp:758 #, fuzzy msgid "Save document to another file." msgstr "\tDokuman aç (Ctrl-O)" #: ../src/WriteWindow.cpp:761 #, fuzzy msgid "Close document." msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:782 #, fuzzy msgid "&Clear Recent Files" msgstr "C Quellcode dosyaları" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 #, fuzzy msgid "&Undo" msgstr "&Ara" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 #, fuzzy msgid "&Redo" msgstr "Okuma" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "" #: ../src/WriteWindow.cpp:806 #, fuzzy msgid "Revert to saved document." msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 #, fuzzy msgid "Cu&t" msgstr "Kes" #: ../src/WriteWindow.cpp:822 #, fuzzy msgid "Paste from clipboard." msgstr "\tAra hafızadan yapıştır (Ctrl-V)" #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "" #: ../src/WriteWindow.cpp:829 #, fuzzy msgid "Change to lower case." msgstr "Dosya sahibi değiştiriminden vazgeçildi!" #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "" #: ../src/WriteWindow.cpp:835 #, fuzzy msgid "Change to upper case." msgstr "Dosya sahibi değiştiriminden vazgeçildi!" #: ../src/WriteWindow.cpp:841 #, fuzzy msgid "&Goto line..." msgstr "Satır:" #: ../src/WriteWindow.cpp:854 #, fuzzy msgid "Select &All" msgstr "İkon seç" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "&Status line" msgstr "Durum" #: ../src/WriteWindow.cpp:859 #, fuzzy msgid "Display status line." msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "&Search..." msgstr "&Ara" #: ../src/WriteWindow.cpp:863 #, fuzzy msgid "Search for a string." msgstr "&Ara" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "&Replace..." msgstr "İkon seç" #: ../src/WriteWindow.cpp:869 #, fuzzy msgid "Search for a string and replace with another." msgstr "\tDokuman aç (Ctrl-O)" #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "" #: ../src/WriteWindow.cpp:881 #, fuzzy msgid "Search sel. &forward" msgstr "&Ara" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "" #: ../src/WriteWindow.cpp:889 #, fuzzy msgid "Toggle word wrap mode." msgstr "\tMetin bul (Ctrl-F)" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "&Line numbers" msgstr "Arkaplan renk seçimi" #: ../src/WriteWindow.cpp:895 #, fuzzy msgid "Toggle line numbers mode." msgstr "\tMetin bul (Ctrl-F)" #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "" #: ../src/WriteWindow.cpp:900 #, fuzzy msgid "Toggle overstrike mode." msgstr "\tMetin bul (Ctrl-F)" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "&Font..." msgstr "Yazıtipi" #: ../src/WriteWindow.cpp:902 #, fuzzy msgid "Change text font." msgstr "Yazıtipini değiştir" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "&More preferences..." msgstr "Seçenekler" #: ../src/WriteWindow.cpp:903 #, fuzzy msgid "Change other options." msgstr "Yazıtipi\t\tYazıtipini değiştir" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "X File Gösterimi hakkında" #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "About X File Write." msgstr "X File Gösterimi hakkında" #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "" #: ../src/WriteWindow.cpp:1094 #, fuzzy, c-format msgid "Unable to read file: %s" msgstr "Dosya açılamıyor: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 #, fuzzy msgid "Error Saving File" msgstr "Dosya okunurken hata" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "" #: ../src/WriteWindow.cpp:1189 #, fuzzy, c-format msgid "File: %s truncated." msgstr "İsmini değiştir " #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" #: ../src/WriteWindow.cpp:1462 #, fuzzy msgid "About X File Write" msgstr "X File Gösterimi hakkında" #: ../src/WriteWindow.cpp:1484 #, fuzzy msgid "Change Font" msgstr "Yazıtipini değiştir" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Metin dosyaları" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C Quellcode dosyaları" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ Quellcode dosyaları" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ Başlık dosyaları" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 #, fuzzy msgid "HTML Files" msgstr "HTML dosyaları" #: ../src/WriteWindow.cpp:1532 #, fuzzy msgid "PHP Files" msgstr "Bütün dosyalar" #: ../src/WriteWindow.cpp:1653 #, fuzzy msgid "Unsaved Document" msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 #, fuzzy msgid "Save Document" msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, fuzzy msgid "Overwrite Document" msgstr "Dokuman aç" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "" #: ../src/WriteWindow.cpp:1824 #, fuzzy msgid " (changed)" msgstr "Son kayıt:" #: ../src/WriteWindow.cpp:1834 #, fuzzy msgid " (read only)" msgstr "Salt okunur" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "" #: ../src/WriteWindow.cpp:2054 #, fuzzy msgid "File Was Changed" msgstr "Son kayıt:" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" #: ../src/WriteWindow.cpp:2115 #, fuzzy msgid "Replace" msgstr "İkon seç" #: ../src/WriteWindow.cpp:2276 #, fuzzy msgid "Goto Line" msgstr "Satır:" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" #: ../src/foxhacks.cpp:164 #, fuzzy msgid "Root folder" msgstr "Dizin bağla :" #: ../src/foxhacks.cpp:779 #, fuzzy msgid "Ready." msgstr "Okuma" #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "" #: ../src/foxhacks.cpp:808 #, fuzzy msgid "Re&place All" msgstr "İkon seç" #: ../src/foxhacks.cpp:816 #, fuzzy msgid "Search for:" msgstr "&Ara" #: ../src/foxhacks.cpp:828 #, fuzzy msgid "Replace with:" msgstr "İkon seç" #: ../src/foxhacks.cpp:841 #, fuzzy msgid "Ex&act" msgstr "Çalıştırıcı:" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "" #: ../src/foxhacks.cpp:843 #, fuzzy msgid "E&xpression" msgstr "Sonek:" #: ../src/foxhacks.cpp:844 #, fuzzy msgid "&Backward" msgstr "Arka plan rengi" #: ../src/help.h:7 #, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, fuzzy, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Sil : " #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, fuzzy, c-format msgid "Error: Can't enter folder %s" msgstr "Sil : " #: ../src/startupnotification.cpp:126 #, fuzzy, c-format msgid "Error: Can't open display\n" msgstr " Dizin :" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, fuzzy, c-format msgid "Error: Can't execute command %s" msgstr "Komut çalıştır :" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, fuzzy, c-format msgid "Error: Can't close folder %s\n" msgstr "Dizini sil :" #: ../src/xfeutils.cpp:917 #, fuzzy msgid "bytes" msgstr "0 Bytes" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "" #: ../src/xfeutils.cpp:1081 #, fuzzy msgid "copy" msgstr "Dosya kopyala " #: ../src/xfeutils.cpp:1373 #, fuzzy, c-format msgid "Error: Can't read group list: %s" msgstr "Sil : " #: ../src/xfeutils.cpp:1377 #, fuzzy, c-format msgid "Error: Can't read group list" msgstr " Dizin :" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "" #: ../xfe.desktop.in.h:2 #, fuzzy msgid "File Manager" msgstr "Dosya sahibi" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "" #: ../xfi.desktop.in.h:2 #, fuzzy msgid "Image Viewer" msgstr "Metin gösterici:" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "" #: ../xfw.desktop.in.h:2 #, fuzzy msgid "Text Editor" msgstr "Metin düzenleyici:" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "" #: ../xfp.desktop.in.h:2 #, fuzzy msgid "Package Manager" msgstr "Paket :" #: ../xfp.desktop.in.h:3 #, fuzzy msgid "A simple package manager for Xfe" msgstr "RedHat Paket Yöneticisir (RPM) bulunamadı!" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "\tİki paneli göster (Ctrl-F4)" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Dosya" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Dosya" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Onaylamanın üstüne yaz" #, fuzzy #~ msgid "&About X File Write..." #~ msgstr "X File Gösterimi hakkında" #, fuzzy #~ msgid "Can 't enter folder %s: %s" #~ msgstr "Sil : " #, fuzzy #~ msgid "Can't enter folder %s : %s" #~ msgstr "Sil : " #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can 't execute command %s" #~ msgstr "Komut çalıştır :" #, fuzzy #~ msgid "Can 't enter folder %s" #~ msgstr "Sil : " #, fuzzy #~ msgid "Can 't create trash can 'files ' folder %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can't create trash can 'info' folder %s : %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can 't create trash can 'info ' folder %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Delete: " #~ msgstr "Sil : " #, fuzzy #~ msgid "File: " #~ msgstr "Dosya : " #, fuzzy #~ msgid "About X File Explorer " #~ msgstr "X File Explorer Hakkında" #, fuzzy #~ msgid "&Right panel " #~ msgstr "Sağ panel" #, fuzzy #~ msgid "&Left panel " #~ msgstr "Sol panel" #, fuzzy #~ msgid "Error " #~ msgstr "Hata" #, fuzzy #~ msgid "Can't enter folder %s " #~ msgstr "Sil : " #, fuzzy #~ msgid "Execute command " #~ msgstr "Komut çalıştır :" #, fuzzy #~ msgid "Command log " #~ msgstr "Komut" #, fuzzy #~ msgid "Can't create trash can 'files' folder %s : %s " #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #~ msgid "Non-existing file: %s" #~ msgstr "Dosya mevcut değil: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr " %s ismi değiştirilemiyor " #, fuzzy #~ msgid "Mouse" #~ msgstr "Taşı" #, fuzzy #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Değiştirme tarihi" #, fuzzy #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Değiştirme tarihi" #, fuzzy #~ msgid "Move to previous folder." #~ msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #, fuzzy #~ msgid "Move to next folder." #~ msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #, fuzzy #~ msgid "Go up one folder" #~ msgstr "Dizin bağla :" #, fuzzy #~ msgid "Move up to higher folder." #~ msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #, fuzzy #~ msgid "Back to home folder." #~ msgstr "\tKullanıcı ev dizinine git\tKullanıcı ev dizinine dön." #, fuzzy #~ msgid "Back to working folder." #~ msgstr "\tÇalışma dizinine git\tÇalışma dizinine dön." #, fuzzy #~ msgid "Show icons" #~ msgstr "Dosyaları göster:" #, fuzzy #~ msgid "Show list" #~ msgstr "Dosyaları göster:" #, fuzzy #~ msgid "Display folder with small icons." #~ msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #, fuzzy #~ msgid "Show details" #~ msgstr "\tGizli dosyaları göster (Ctrl-F5)" #~ msgid "Col:" #~ msgstr "Sütun:" #~ msgid "Line:" #~ msgstr "Satır:" #, fuzzy #~ msgid "Open document." #~ msgstr "Dokuman aç" #, fuzzy #~ msgid "Quit Xfv." #~ msgstr "Çık" #~ msgid "Find" #~ msgstr "Ara" #, fuzzy #~ msgid "Find again" #~ msgstr "Tekrar ara\tCtrl-G" #, fuzzy #~ msgid "Find string again." #~ msgstr "Tekrar ara\tCtrl-G" #, fuzzy #~ msgid "&Find..." #~ msgstr "&Ara" #, fuzzy #~ msgid "Find &again" #~ msgstr "Tekrar ara\tCtrl-G" #, fuzzy #~ msgid "Display status bar." #~ msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #, fuzzy #~ msgid "&About X File View" #~ msgstr "X File Gösterimi hakkında" #, fuzzy #~ msgid "About X File View." #~ msgstr "X File Gösterimi hakkında" #~ msgid "About X File View" #~ msgstr "X File Gösterimi hakkında" #~ msgid "Error Reading File" #~ msgstr "Dosya okunurken hata" #~ msgid "Unable to load entire file: %s" #~ msgstr "Bütün dosya yüklenemedi: %s" #~ msgid "&Find" #~ msgstr "&Ara" #~ msgid "Not Found" #~ msgstr "Bulunamadı" #~ msgid "String '%s' not found" #~ msgstr " '%s' metni bulunamadı" #, fuzzy #~ msgid "Text Viewer" #~ msgstr "Metin gösterici:" #, fuzzy #~ msgid "In directory:" #~ msgstr " Dizin :" #, fuzzy #~ msgid "\tIn directory..." #~ msgstr " Dizin :" #, fuzzy #~ msgid "Re&store from trash" #~ msgstr "Sil : " #, fuzzy #~ msgid "File size at least:" #~ msgstr "Gizli dosyalar" #, fuzzy #~ msgid "File size at most:" #~ msgstr "Dosya &Bağlantlıarı" #, fuzzy #~ msgid " Items" #~ msgstr "0 Bytes" #, fuzzy #~ msgid "Search results - " #~ msgstr "İkon yolu" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "\tİkonları göster\tDizinleri büyük ikon olarak göster." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "\tListeyi göster\tDizinleri küçük ikon olarak göster." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "\tDetayları göster\tDetaylı dizin listesini göster." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "\tGizli dosyaları göster (Ctrl-F5)" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "\tGizli dosyaları gizle (Strg-F5)" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "\tSeçili dosyaları ara hafızaya kopyala (Ctrl-C, F5)" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "\tSeçili dosyanın özniteliklerini göster (F9)" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "\tSeçili dosyaları sil (Del, F8)" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "\tSeçili dosyaları kes ve ara hafızaya koy (Ctrl-X)" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr " Dizin :" #, fuzzy #~ msgid "Search files..." #~ msgstr " Seç..." #, fuzzy #~ msgid "Dir&ectories first" #~ msgstr "Dizin Listesi" #, fuzzy #~ msgid "&Directories first" #~ msgstr "Dizin Listesi" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Sil : " #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr " Dizin :" #, fuzzy #~ msgid "Go to working directory" #~ msgstr " Dizin :" #, fuzzy #~ msgid "Go to previous directory" #~ msgstr "\tBir dizin yukarıya gir\tEn yüksek dizine git." #, fuzzy #~ msgid "Go to next directory" #~ msgstr " Dizin :" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Sil : " #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr " Dizin :" #, fuzzy #~ msgid "Directory name" #~ msgstr "Dizin : " #~ msgid "Confirm quit" #~ msgstr "Onaylamayı bitir" #~ msgid "Quitting Xfe" #~ msgstr "Çık" #, fuzzy #~ msgid "Display toolbar" #~ msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #, fuzzy #~ msgid "Display or hide toolbar." #~ msgstr "Araç çubuğu\t\tAraç çubuğunu göster" #, fuzzy #~ msgid "Move the selected item to trash can?" #~ msgstr "\tSeçili dosyaları sil (Del, F8)" #, fuzzy #~ msgid "Definitively delete the selected item?" #~ msgstr " Bütün seçilenler silinsin mi? " #, fuzzy #~ msgid "&Execute" #~ msgstr "Çalıştırma" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "Sil : " #, fuzzy #~ msgid "Confirm delete/restore" #~ msgstr "Onaylamayı sil" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr "" #~ " Doslar/Dizinler.\n" #~ "Burdan: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Boş olmayan %s dizinin üstüne yazılamıyor" #, fuzzy #~ msgid "Move folder " #~ msgstr "Dizin bağla :" #~ msgid "File " #~ msgstr "Bu " #, fuzzy #~ msgid "Can't copy folder " #~ msgstr "Sil : " #, fuzzy #~ msgid ": Permission denied" #~ msgstr " %s erişimi başarısız." #, fuzzy #~ msgid "Can't copy file " #~ msgstr "Sil : " #, fuzzy #~ msgid "Installing package: " #~ msgstr "Paket kur:" #, fuzzy #~ msgid "Uninstalling package: " #~ msgstr "Paket kur:" #, fuzzy #~ msgid " items from: " #~ msgstr "" #~ " Doslar/Dizinler.\n" #~ "Burdan: " #, fuzzy #~ msgid " Move " #~ msgstr "Taşı " #, fuzzy #~ msgid " selected items to trash can? " #~ msgstr "\tSeçili dosyaları sil (Del, F8)" #, fuzzy #~ msgid " Definitely delete " #~ msgstr "Sil : " #, fuzzy #~ msgid " selected items? " #~ msgstr "Seçili dosyayı(ları) bununla aç:" #, fuzzy #~ msgid " is not empty, delete it anyway?" #~ msgstr "Sil : " #, fuzzy #~ msgid "X File Package Version " #~ msgstr "X File Gösterimi hakkında" #, fuzzy #~ msgid "X File Image Version " #~ msgstr "X File Gösterimi hakkında" #, fuzzy #~ msgid "X File Write Version " #~ msgstr "Seçenekler" #, fuzzy #~ msgid "X File View Version " #~ msgstr "Dosya hakları" #, fuzzy #~ msgid "Restore folder " #~ msgstr "Dizin bağla :" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr "\tSeçili dosyaları sil (Del, F8)" #, fuzzy #~ msgid "Go up" #~ msgstr "Grup" #, fuzzy #~ msgid "Go home" #~ msgstr "Ev dizinine git\tCtrl-H" #, fuzzy #~ msgid "Full file list" #~ msgstr "Uzun dosya listesi" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Komut çalıştır :" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "Yerimine ekle\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tGörünümü tazele(Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminal" #, fuzzy #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Sil : " #, fuzzy #~ msgid "Deleted from" #~ msgstr "Sil : " #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Sil : " xfe-1.42/po/cs.po0000644000175100017510000057714512746115274010564 00000000000000# msgid "" msgstr "" "Project-Id-Version: Xfe 1.40.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-07-27 13:27+0200\n" "PO-Revision-Date: 2015-08-16 11:14+0100\n" "Last-Translator: David Vachulka \n" "Language-Team: dvx-alone \n" "Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.7.5\n" #. Usage message #: ../src/main.cpp:257 msgid "" "\n" "Usage: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] are the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" " -i, --iconic Start iconified.\n" " -m, --maximized Start maximized.\n" " -p n, --panel n Force panel view mode to n (n=0 => Tree and one " "panel,\n" " n=1 => One panel, n=2 => Two panels, n=3 => " "Tree and two panels).\n" "\n" " [FOLDER|FILE...] is a list of folders or files to open on startup.\n" " The first two folders are displayed in the file panels, the others are " "ignored.\n" " The number of files to open is not limited.\n" "\n" msgstr "" "\n" "Použití: xfe [options...] [FOLDER|FILE...]\n" "\n" " [options...] může být jedna z následujících:\n" "\n" " -h, --help Vypíše nápovědu a skončí.\n" " -v, --version Vypíše informaci o verzi a skončí.\n" " -i, --iconic Spustí se ikonifikován.\n" " -m, --maximized Spustí se maximalizován.\n" " -p n, --panel n Vynutí zobrazení panelů (n=0 => Strom a jeden " "panel,\n" " n=1 => Jeden panel, n=2 => Dva panely, n=3 " "=> Strom a dva panely).\n" "\n" " [FOLDER|FILE...] je seznam adresářů nebo souborů, který chcete otevřít " "při startu.\n" " První dva adresáře jsou zobrazeny v panelech souborů, další jsou " "ignorovány.\n" " Počet souborů pro otevření není limitován.\n" "\n" #: ../src/main.cpp:390 #, c-format msgid "Warning: Unknown panel mode, revert to last saved panel mode\n" msgstr "" "Varování: Neznámý mód panelů, přepínám do poslední uložené konfigurace\n" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Error loading icons" msgstr "Chyba při nahrávání ikon" #: ../src/main.cpp:470 ../src/XFilePackage.cpp:791 ../src/XFileImage.cpp:2767 #: ../src/XFileWrite.cpp:256 msgid "Unable to load some icons. Please check your icons path!" msgstr "Nemohu načíst některé ikony. Prosím zkontrolujte cestu k ikonám!" #. Permissions #: ../src/Properties.cpp:57 ../src/Properties.cpp:77 ../src/FileList.cpp:153 msgid "User" msgstr "Uživatel" #: ../src/Properties.cpp:59 ../src/Properties.cpp:63 ../src/Properties.cpp:67 msgid "Read" msgstr "Čtení" #: ../src/Properties.cpp:60 ../src/Properties.cpp:64 ../src/Properties.cpp:68 msgid "Write" msgstr "Zápis" #: ../src/Properties.cpp:61 ../src/Properties.cpp:65 ../src/Properties.cpp:69 msgid "Execute" msgstr "Spuštění" #: ../src/Properties.cpp:62 ../src/Properties.cpp:80 ../src/FileList.cpp:154 msgid "Group" msgstr "Skupina" #: ../src/Properties.cpp:66 msgid "Others" msgstr "Ostatní" #: ../src/Properties.cpp:70 msgid "Special" msgstr "Speciální" #: ../src/Properties.cpp:71 msgid "Set UID" msgstr "Nastavit UID" #: ../src/Properties.cpp:72 msgid "Set GID" msgstr "Nastavit GID" #: ../src/Properties.cpp:73 msgid "Sticky" msgstr "Připíchnutí" #. Owner #: ../src/Properties.cpp:76 msgid "Owner" msgstr "Vlastník" #. Command #: ../src/Properties.cpp:109 msgid "Command" msgstr "Příkaz" #: ../src/Properties.cpp:112 msgid "Set marked" msgstr "Označit" #: ../src/Properties.cpp:113 msgid "Recursively" msgstr "Rekurzivně" #: ../src/Properties.cpp:114 msgid "Clear marked" msgstr "Zrušit označení" #: ../src/Properties.cpp:116 msgid "Files and folders" msgstr "Soubory a adresáře" #: ../src/Properties.cpp:117 msgid "Add marked" msgstr "Přidat označení" #: ../src/Properties.cpp:118 msgid "Folders only" msgstr "Jen adresáře" #: ../src/Properties.cpp:119 msgid "Owner only" msgstr "Jen vlastník" #: ../src/Properties.cpp:120 msgid "Files only" msgstr "Jen soubory" #. Construct window for one file #. Construct window for multiple files #: ../src/Properties.cpp:165 ../src/Properties.cpp:677 #: ../src/Properties.cpp:927 ../src/Properties.cpp:958 msgid "Properties" msgstr "Vlastnosti" #. Accept #. Accept button #. Accept #: ../src/Properties.cpp:193 ../src/Properties.cpp:946 ../src/FontDialog.cpp:45 #: ../src/HistInputDialog.cpp:54 ../src/InputDialog.cpp:30 #: ../src/BrowseInputDialog.cpp:40 ../src/ArchInputDialog.cpp:36 #: ../src/Preferences.cpp:166 ../src/WriteWindow.cpp:187 #: ../src/Keybindings.cpp:77 ../src/KeybindingsDialog.cpp:30 msgid "&Accept" msgstr "&Přijmout" #. Cancel #. Cancel Button #. Cancel #. Cancel button #. Cancel #: ../src/Properties.cpp:198 ../src/Properties.cpp:950 ../src/File.cpp:58 #: ../src/FileDialog.cpp:130 ../src/FontDialog.cpp:46 ../src/MessageBox.cpp:90 #: ../src/MessageBox.cpp:102 ../src/MessageBox.cpp:109 #: ../src/MessageBox.cpp:115 ../src/MessageBox.cpp:122 #: ../src/CommandWindow.cpp:54 ../src/CommandWindow.cpp:83 #: ../src/HistInputDialog.cpp:57 ../src/InputDialog.cpp:33 #: ../src/BrowseInputDialog.cpp:43 ../src/ArchInputDialog.cpp:39 #: ../src/Preferences.cpp:171 ../src/OverwriteBox.cpp:48 #: ../src/OverwriteBox.cpp:58 ../src/OverwriteBox.cpp:98 #: ../src/OverwriteBox.cpp:108 ../src/ExecuteBox.cpp:38 #: ../src/WriteWindow.cpp:191 ../src/foxhacks.cpp:809 ../src/foxhacks.cpp:880 #: ../src/Keybindings.cpp:81 ../src/KeybindingsDialog.cpp:33 msgid "&Cancel" msgstr "&Zrušit" #. First item is General #. First tab - General options #: ../src/Properties.cpp:204 ../src/Properties.cpp:956 #: ../src/Preferences.cpp:177 msgid "&General" msgstr "&Obecné" #. Second item is Access Permissions #: ../src/Properties.cpp:210 ../src/Properties.cpp:972 #: ../src/FileDialog.cpp:1603 ../src/XFileExplorer.cpp:1016 #: ../src/XFileExplorer.cpp:1046 ../src/XFileImage.cpp:849 msgid "&Permissions" msgstr "P&ráva" #. Third tab - file associations #: ../src/Properties.cpp:220 msgid "&File Associations" msgstr "&Asociace souboru" #: ../src/Properties.cpp:226 msgid "Extension:" msgstr "Přípona:" #: ../src/Properties.cpp:234 msgid "Description:" msgstr "Popis:" #: ../src/Properties.cpp:238 msgid "Open:" msgstr "Otevření:" #: ../src/Properties.cpp:240 ../src/Properties.cpp:264 #: ../src/Properties.cpp:270 ../src/Properties.cpp:279 #: ../src/Properties.cpp:283 ../src/Preferences.cpp:381 #: ../src/Preferences.cpp:387 ../src/Preferences.cpp:393 #: ../src/Preferences.cpp:399 ../src/Preferences.cpp:405 #: ../src/Preferences.cpp:411 ../src/Preferences.cpp:417 #: ../src/Preferences.cpp:423 ../src/Preferences.cpp:429 #: ../src/Preferences.cpp:435 ../src/Preferences.cpp:444 #: ../src/Preferences.cpp:450 msgid "\tSelect file..." msgstr "\tVybrat soubor..." #: ../src/Properties.cpp:244 msgid "View:" msgstr "Náhled:" #: ../src/Properties.cpp:245 msgid "Edit:" msgstr "Editace:" #. archive #: ../src/Properties.cpp:254 msgid "Extract:" msgstr "Rozbalení:" #: ../src/Properties.cpp:259 msgid "Install/Upgrade:" msgstr "Instalace/Upgrade:" #: ../src/Properties.cpp:277 msgid "Big Icon:" msgstr "Velká ikona:" #: ../src/Properties.cpp:281 msgid "Mini Icon:" msgstr "Malá ikona:" #. File name #: ../src/Properties.cpp:286 ../src/FileList.cpp:144 msgid "Name" msgstr "Jméno" #: ../src/Properties.cpp:304 ../src/HistInputDialog.cpp:84 #: ../src/BrowseInputDialog.cpp:72 ../src/ArchInputDialog.cpp:55 msgid "=> Warning: file name is not UTF-8 encoded!" msgstr "=> Varování: jméno souboru není v UTF-8 kódování!" #: ../src/Properties.cpp:380 #, c-format msgid "Filesystem (%s)" msgstr "Systém souborů (%s)" #. Default folder type #. Folder or mount point #: ../src/Properties.cpp:428 ../src/Properties.cpp:551 #: ../src/Properties.cpp:1102 ../src/DirList.cpp:1917 ../src/IconList.cpp:2466 #: ../src/FileList.cpp:147 ../src/FileList.cpp:4305 ../src/FileList.cpp:4311 #: ../src/FileList.cpp:4992 ../src/FileList.cpp:4998 ../src/FileList.cpp:5101 #: ../src/SearchPanel.cpp:1869 ../src/SearchPanel.cpp:1875 #: ../src/SearchWindow.cpp:180 msgid "Folder" msgstr "Adresář" #: ../src/Properties.cpp:435 ../src/Properties.cpp:584 ../src/FileList.cpp:4318 #: ../src/FileList.cpp:5005 ../src/FileList.cpp:5105 #: ../src/SearchPanel.cpp:1882 msgid "Character Device" msgstr "Znakové zařízení" #: ../src/Properties.cpp:439 ../src/Properties.cpp:588 ../src/FileList.cpp:4324 #: ../src/FileList.cpp:5011 ../src/FileList.cpp:5109 #: ../src/SearchPanel.cpp:1888 msgid "Block Device" msgstr "Blokové zařízení" #: ../src/Properties.cpp:443 ../src/Properties.cpp:592 ../src/FileList.cpp:4330 #: ../src/FileList.cpp:5017 ../src/FileList.cpp:5113 #: ../src/SearchPanel.cpp:1894 msgid "Named Pipe" msgstr "Pojmenovaná roura" #: ../src/Properties.cpp:447 ../src/Properties.cpp:596 ../src/FileList.cpp:4336 #: ../src/FileList.cpp:5023 ../src/FileList.cpp:5117 #: ../src/SearchPanel.cpp:1900 ../src/SearchWindow.cpp:182 msgid "Socket" msgstr "Socket" #: ../src/Properties.cpp:478 ../src/Properties.cpp:522 #: ../src/Properties.cpp:600 ../src/FileList.cpp:4342 ../src/FileList.cpp:5029 #: ../src/FileList.cpp:5121 ../src/SearchPanel.cpp:1906 msgid "Executable" msgstr "Spustitelný" #: ../src/Properties.cpp:483 ../src/Properties.cpp:527 #: ../src/Properties.cpp:605 ../src/Properties.cpp:1074 #: ../src/Properties.cpp:1090 ../src/FileList.cpp:4352 ../src/FileList.cpp:5039 #: ../src/FileList.cpp:5125 ../src/SearchPanel.cpp:1916 msgid "Document" msgstr "Dokument" #: ../src/Properties.cpp:539 ../src/FileList.cpp:4377 ../src/FileList.cpp:5082 #: ../src/FilePanel.cpp:6165 ../src/SearchPanel.cpp:1941 #: ../src/SearchPanel.cpp:4184 msgid "Broken link" msgstr "Poškozený odkaz" #: ../src/Properties.cpp:610 ../src/FileList.cpp:4388 ../src/FileList.cpp:4392 #: ../src/FileList.cpp:5093 ../src/FileList.cpp:5128 #: ../src/SearchPanel.cpp:1952 ../src/SearchPanel.cpp:1956 msgid "Link to " msgstr "Odkaz na " #: ../src/Properties.cpp:660 ../src/DirList.cpp:1952 ../src/DirList.cpp:1969 #: ../src/IconList.cpp:2466 ../src/FileList.cpp:4498 ../src/FileList.cpp:5235 #: ../src/FileList.cpp:5252 ../src/SearchPanel.cpp:1982 msgid "Mount point" msgstr "Připojovací bod" #: ../src/Properties.cpp:662 msgid "Mount type:" msgstr "Typ připojení:" #: ../src/Properties.cpp:664 msgid "Used:" msgstr "Použito:" #: ../src/Properties.cpp:666 msgid "Free:" msgstr "Volné:" #: ../src/Properties.cpp:668 msgid "File system:" msgstr "Souborový systém:" #. Location bar #: ../src/Properties.cpp:670 ../src/Properties.cpp:685 #: ../src/XFileExplorer.cpp:766 msgid "Location:" msgstr "Umístění:" #: ../src/Properties.cpp:679 ../src/Properties.cpp:964 msgid "Type:" msgstr "Typ:" #: ../src/Properties.cpp:681 ../src/Properties.cpp:966 msgid "Total size:" msgstr "Celková velikost:" #: ../src/Properties.cpp:690 msgid "Link to:" msgstr "Odkaz na:" #: ../src/Properties.cpp:695 msgid "Broken link to:" msgstr "Poškozený odkaz na:" #: ../src/Properties.cpp:704 msgid "Original location:" msgstr "Původní umístění:" #: ../src/Properties.cpp:708 msgid "File Time" msgstr "Čas souboru" #: ../src/Properties.cpp:710 msgid "Last Modified:" msgstr "Poslední modifikace:" #: ../src/Properties.cpp:712 msgid "Last Changed:" msgstr "Poslední změna:" #: ../src/Properties.cpp:714 msgid "Last Accessed:" msgstr "Poslední přístup:" #: ../src/Properties.cpp:718 msgid "Startup Notification" msgstr "Upozorňování při startu" #: ../src/Properties.cpp:719 msgid "Disable startup notification for this executable" msgstr "Vypnout upozorňování při startu pro tento spustitelný soubor" #: ../src/Properties.cpp:746 msgid "Deletion Date:" msgstr "Datum smazání:" #: ../src/Properties.cpp:807 ../src/Properties.cpp:2063 #: ../src/Properties.cpp:2113 ../src/XFileExplorer.cpp:3928 #, c-format msgid "%s (%lu bytes)" msgstr "%s (%lu bytů)" #: ../src/Properties.cpp:809 ../src/Properties.cpp:2065 #: ../src/Properties.cpp:2115 ../src/XFileExplorer.cpp:3930 #, c-format msgid "%s (%llu bytes)" msgstr "%s (%llu bytů)" #: ../src/Properties.cpp:811 msgid "Size:" msgstr "Velikost:" #: ../src/Properties.cpp:960 msgid "Selection:" msgstr "Výběr:" #: ../src/Properties.cpp:1085 ../src/Properties.cpp:1092 #: ../src/Properties.cpp:1107 msgid "Multiple types" msgstr "Několik typů" #. Number of selected files #: ../src/Properties.cpp:1111 #, c-format msgid "%d items" msgstr "%d položek" #: ../src/Properties.cpp:1113 #, c-format msgid "%d files, %d folders" msgstr "%d souborů, %d adresářů" #: ../src/Properties.cpp:1233 #, fuzzy msgid "Change properties of the selected folder?" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/Properties.cpp:1237 #, fuzzy msgid "Change properties of the selected file?" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/Properties.cpp:1240 ../src/Properties.cpp:1609 #, fuzzy msgid "Confirm Change Properties" msgstr "Vlastnosti" #: ../src/Properties.cpp:1382 ../src/Properties.cpp:1395 #: ../src/Properties.cpp:1399 ../src/Properties.cpp:1480 #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1560 #: ../src/Properties.cpp:1682 ../src/Properties.cpp:1713 #: ../src/Properties.cpp:1766 ../src/DirList.cpp:851 ../src/DirList.cpp:902 #: ../src/DirList.cpp:1481 ../src/DirPanel.cpp:978 ../src/DirPanel.cpp:1870 #: ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2066 ../src/DirPanel.cpp:2116 #: ../src/DirPanel.cpp:2136 ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 ../src/DirPanel.cpp:2529 #: ../src/DirPanel.cpp:2571 ../src/DirPanel.cpp:2578 ../src/FileDialog.cpp:962 #: ../src/FileDialog.cpp:969 ../src/FileDialog.cpp:1027 #: ../src/FileDialog.cpp:1034 ../src/FileList.cpp:743 ../src/FileList.cpp:790 #: ../src/FilePanel.cpp:1721 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:1972 #: ../src/FilePanel.cpp:2108 ../src/FilePanel.cpp:2165 #: ../src/FilePanel.cpp:2192 ../src/FilePanel.cpp:2464 #: ../src/FilePanel.cpp:2687 ../src/FilePanel.cpp:2978 #: ../src/FilePanel.cpp:3553 ../src/FilePanel.cpp:3560 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3649 #: ../src/FilePanel.cpp:3749 ../src/FilePanel.cpp:4121 #: ../src/FilePanel.cpp:4772 ../src/FilePanel.cpp:5799 ../src/Bookmarks.cpp:90 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:2981 ../src/SearchPanel.cpp:3221 #: ../src/SearchPanel.cpp:3691 ../src/SearchPanel.cpp:3698 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3884 #: ../src/SearchPanel.cpp:3986 ../src/SearchPanel.cpp:4036 #: ../src/SearchPanel.cpp:4056 ../src/XFileExplorer.cpp:2214 #: ../src/XFileExplorer.cpp:2230 ../src/XFileExplorer.cpp:2250 msgid "Warning" msgstr "Varování" #: ../src/Properties.cpp:1382 #, fuzzy msgid "Invalid file name, operation cancelled" msgstr "Přesun souboru zrušen!" #: ../src/Properties.cpp:1395 ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:2578 #: ../src/FileDialog.cpp:969 ../src/FilePanel.cpp:3560 #, fuzzy msgid "The / character is not allowed in folder names, operation cancelled" msgstr "Jméno adresáře je prázdné, operace zrušena" #: ../src/Properties.cpp:1399 ../src/FileDialog.cpp:1034 #: ../src/FilePanel.cpp:3649 #, fuzzy msgid "The / character is not allowed in file names, operation cancelled" msgstr "Jméno adresáře je prázdné, operace zrušena" #. Error message box #. Error #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1415 #: ../src/Properties.cpp:1420 ../src/Properties.cpp:1493 #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1522 #: ../src/Properties.cpp:1573 ../src/Properties.cpp:1577 #: ../src/Properties.cpp:1694 ../src/Properties.cpp:1698 #: ../src/Properties.cpp:1778 ../src/Properties.cpp:1782 ../src/DirList.cpp:843 #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:599 ../src/DirPanel.cpp:956 #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:1080 #: ../src/DirPanel.cpp:1718 ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1770 #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:1798 ../src/DirPanel.cpp:1805 ../src/DirPanel.cpp:1863 #: ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2058 ../src/DirPanel.cpp:2108 #: ../src/DirPanel.cpp:2128 ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/DirPanel.cpp:2468 #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2514 #: ../src/DirPanel.cpp:2598 ../src/DirPanel.cpp:2602 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2633 ../src/DirPanel.cpp:2645 ../src/DirPanel.cpp:2655 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2714 #: ../src/DirPanel.cpp:2737 ../src/DirPanel.cpp:2741 ../src/DirPanel.cpp:2753 #: ../src/File.cpp:212 ../src/File.cpp:876 ../src/File.cpp:884 #: ../src/File.cpp:893 ../src/File.cpp:916 ../src/File.cpp:1172 #: ../src/File.cpp:1179 ../src/File.cpp:1189 ../src/File.cpp:1215 #: ../src/File.cpp:1241 ../src/File.cpp:1249 ../src/File.cpp:1258 #: ../src/File.cpp:1277 ../src/File.cpp:1410 ../src/File.cpp:1439 #: ../src/File.cpp:1447 ../src/File.cpp:1466 ../src/File.cpp:1539 #: ../src/File.cpp:1543 ../src/File.cpp:1953 ../src/File.cpp:1957 #: ../src/File.cpp:1977 ../src/File.cpp:1981 ../src/File.cpp:2050 #: ../src/File.cpp:2066 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FileDialog.cpp:989 ../src/FileDialog.cpp:993 #: ../src/FileDialog.cpp:1045 ../src/FileDialog.cpp:1054 #: ../src/FileDialog.cpp:1058 ../src/FileDialog.cpp:1071 #: ../src/FileDialog.cpp:1075 ../src/MessageBox.cpp:186 ../src/FileList.cpp:735 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:979 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:1006 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1818 ../src/FilePanel.cpp:1825 #: ../src/FilePanel.cpp:1832 ../src/FilePanel.cpp:1839 #: ../src/FilePanel.cpp:1846 ../src/FilePanel.cpp:1899 #: ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2100 #: ../src/FilePanel.cpp:2157 ../src/FilePanel.cpp:2184 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2256 #: ../src/FilePanel.cpp:2429 ../src/FilePanel.cpp:2456 #: ../src/FilePanel.cpp:2626 ../src/FilePanel.cpp:2653 #: ../src/FilePanel.cpp:2657 ../src/FilePanel.cpp:2672 #: ../src/FilePanel.cpp:2726 ../src/FilePanel.cpp:3421 #: ../src/FilePanel.cpp:3471 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:3516 #: ../src/FilePanel.cpp:3580 ../src/FilePanel.cpp:3584 #: ../src/FilePanel.cpp:3660 ../src/FilePanel.cpp:3669 #: ../src/FilePanel.cpp:3673 ../src/FilePanel.cpp:3688 #: ../src/FilePanel.cpp:3692 ../src/FilePanel.cpp:3759 #: ../src/FilePanel.cpp:3774 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4664 ../src/FilePanel.cpp:4675 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4689 #: ../src/FilePanel.cpp:4713 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:4886 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5092 #: ../src/FilePanel.cpp:5096 ../src/FilePanel.cpp:5332 #: ../src/FilePanel.cpp:5620 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5653 #: ../src/FilePanel.cpp:5680 ../src/FilePanel.cpp:5684 #: ../src/FilePanel.cpp:5757 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:5788 #: ../src/FilePanel.cpp:5907 ../src/FilePanel.cpp:5921 #: ../src/FilePanel.cpp:5938 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6034 ../src/FilePanel.cpp:6082 #: ../src/FilePanel.cpp:6086 ../src/CommandWindow.cpp:195 #: ../src/CommandWindow.cpp:199 ../src/SearchPanel.cpp:369 #: ../src/SearchPanel.cpp:553 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:669 ../src/SearchPanel.cpp:1644 #: ../src/SearchPanel.cpp:1687 ../src/SearchPanel.cpp:2428 #: ../src/SearchPanel.cpp:2432 ../src/SearchPanel.cpp:2721 #: ../src/SearchPanel.cpp:2746 ../src/SearchPanel.cpp:2797 #: ../src/SearchPanel.cpp:2950 ../src/SearchPanel.cpp:2973 #: ../src/SearchPanel.cpp:3625 ../src/SearchPanel.cpp:3716 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3737 ../src/SearchPanel.cpp:3744 #: ../src/SearchPanel.cpp:3751 ../src/SearchPanel.cpp:3758 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3877 #: ../src/SearchPanel.cpp:3978 ../src/SearchPanel.cpp:4028 #: ../src/SearchPanel.cpp:4048 ../src/SearchPanel.cpp:4097 #: ../src/SearchPanel.cpp:4101 ../src/SearchPanel.cpp:4324 #: ../src/SearchPanel.cpp:4338 ../src/SearchPanel.cpp:4355 #: ../src/SearchWindow.cpp:824 ../src/SearchWindow.cpp:828 #: ../src/SearchWindow.cpp:951 ../src/XFileExplorer.cpp:2266 #: ../src/XFileExplorer.cpp:2270 ../src/XFileExplorer.cpp:2325 #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:2347 #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3101 #: ../src/XFileExplorer.cpp:3123 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3139 ../src/XFileExplorer.cpp:3150 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3700 ../src/XFileExplorer.cpp:3741 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3781 #: ../src/XFileExplorer.cpp:3808 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3851 ../src/XFileExplorer.cpp:3853 #: ../src/XFileExplorer.cpp:3860 ../src/XFileExplorer.cpp:3970 #: ../src/XFileExplorer.cpp:3972 ../src/XFileExplorer.cpp:3985 #: ../src/XFileExplorer.cpp:3987 ../src/XFileExplorer.cpp:4038 #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #: ../src/XFileExplorer.cpp:4571 ../src/XFileExplorer.cpp:4576 #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:291 #: ../src/XFilePackage.cpp:318 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 #: ../src/XFilePackage.cpp:539 ../src/XFilePackage.cpp:819 #: ../src/XFileImage.cpp:1591 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 ../src/WriteWindow.cpp:1875 #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:905 #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:941 #: ../src/Keybindings.cpp:1031 ../src/Keybindings.cpp:1049 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1157 #: ../src/Keybindings.cpp:1247 ../src/Keybindings.cpp:1265 msgid "Error" msgstr "Chyba" #: ../src/Properties.cpp:1408 ../src/Properties.cpp:1420 #: ../src/DirPanel.cpp:1763 ../src/DirPanel.cpp:1784 ../src/DirPanel.cpp:1791 #: ../src/DirPanel.cpp:2176 ../src/DirPanel.cpp:2291 ../src/FilePanel.cpp:1811 #: ../src/FilePanel.cpp:1839 ../src/FilePanel.cpp:1846 #: ../src/FilePanel.cpp:2249 ../src/FilePanel.cpp:2726 #: ../src/FilePanel.cpp:5040 ../src/FilePanel.cpp:5332 #: ../src/SearchPanel.cpp:2721 ../src/SearchPanel.cpp:2746 #: ../src/SearchPanel.cpp:3716 ../src/SearchPanel.cpp:3737 #: ../src/SearchPanel.cpp:3744 #, c-format msgid "Can't write to %s: Permission denied" msgstr "Nemohu zapisovat do %s: Nedostatečná práva" #: ../src/Properties.cpp:1415 ../src/DirPanel.cpp:1770 ../src/DirPanel.cpp:1798 #: ../src/FilePanel.cpp:1804 ../src/FilePanel.cpp:1825 #: ../src/SearchPanel.cpp:3723 ../src/SearchPanel.cpp:3751 #, c-format msgid "Folder %s doesn't exist" msgstr "Adresář %s neexistuje" #: ../src/Properties.cpp:1428 ../src/DirPanel.cpp:1875 #: ../src/FilePanel.cpp:1911 ../src/SearchPanel.cpp:3823 msgid "File rename" msgstr "Přejmenování souboru" #: ../src/Properties.cpp:1443 ../src/Properties.cpp:1634 msgid "File owner" msgstr "Vlastník souboru" #: ../src/Properties.cpp:1480 ../src/Properties.cpp:1682 msgid "Change owner cancelled!" msgstr "Změna vlastníka zrušena!" #: ../src/Properties.cpp:1493 ../src/Properties.cpp:1694 #, c-format msgid "Chown in %s failed: %s" msgstr "Chown v %s selhal: %s" #: ../src/Properties.cpp:1497 ../src/Properties.cpp:1698 #, c-format msgid "Chown in %s failed" msgstr "Chown selhal v %s" #: ../src/Properties.cpp:1510 ../src/Properties.cpp:1713 msgid "" "Setting special permissions could be unsafe! Is that you really want to do?" msgstr "" "Nastavení speciálních práv nemusí být bezpečné! Opravdu je chcete nastavit?" #: ../src/Properties.cpp:1522 ../src/Properties.cpp:1573 #: ../src/Properties.cpp:1778 #, c-format msgid "Chmod in %s failed: %s" msgstr "Chmod selhal v %s: %s" #: ../src/Properties.cpp:1526 ../src/Properties.cpp:1719 msgid "File permissions" msgstr "Práva k souboru" #: ../src/Properties.cpp:1560 msgid "Change file permissions cancelled!" msgstr "Změna práv k souboru zrušena!" #: ../src/Properties.cpp:1577 ../src/Properties.cpp:1782 #, c-format msgid "Chmod in %s failed" msgstr "Chmod selhal v %s" #: ../src/Properties.cpp:1609 #, fuzzy msgid "Apply permissions to the selected items?" msgstr " ve vybrané položce" #: ../src/Properties.cpp:1766 msgid "Change file(s) permissions cancelled!" msgstr "Změna práv k souboru(ům) zrušena!" #: ../src/Properties.cpp:1917 ../src/HistInputDialog.cpp:150 #: ../src/Preferences.cpp:630 msgid "Select an executable file" msgstr "Vyberte spustitelný soubor" #: ../src/Properties.cpp:1920 ../src/Preferences.cpp:633 msgid "All files" msgstr "Všechny soubory" #: ../src/Properties.cpp:1967 msgid "PNG Images" msgstr "PNG obrázky" #: ../src/Properties.cpp:1968 msgid "GIF Images" msgstr "GIF obrázky" #: ../src/Properties.cpp:1969 msgid "BMP Images" msgstr "BMP obrázky" #: ../src/Properties.cpp:1971 msgid "Select an icon file" msgstr "Vyberte soubor s ikonami" #: ../src/Properties.cpp:2069 ../src/Properties.cpp:2119 #: ../src/XFileExplorer.cpp:3932 #, c-format msgid "%u files, %u subfolders" msgstr "%u souborů, %u podsložek" #: ../src/DirList.cpp:668 ../src/FileList.cpp:563 msgid "Copy here" msgstr "Kopírovat sem" #: ../src/DirList.cpp:669 ../src/FileList.cpp:564 msgid "Move here" msgstr "Přesunout sem" #: ../src/DirList.cpp:670 ../src/FileList.cpp:565 msgid "Link here" msgstr "Odkaz sem" #: ../src/DirList.cpp:672 ../src/FileList.cpp:567 msgid "Cancel" msgstr "Zrušit" #: ../src/DirList.cpp:714 ../src/DirPanel.cpp:1832 ../src/DirPanel.cpp:1966 #: ../src/FileList.cpp:607 ../src/FilePanel.cpp:1868 ../src/FilePanel.cpp:2001 #: ../src/SearchPanel.cpp:3780 ../src/SearchPanel.cpp:3913 msgid "File copy" msgstr "Kopírování souboru" #: ../src/DirList.cpp:718 ../src/DirPanel.cpp:1890 ../src/DirPanel.cpp:1970 #: ../src/FileList.cpp:611 ../src/FilePanel.cpp:1926 ../src/FilePanel.cpp:2005 #: ../src/SearchPanel.cpp:3838 ../src/SearchPanel.cpp:3917 msgid "File move" msgstr "Přesun souboru" #: ../src/DirList.cpp:722 ../src/FileList.cpp:615 msgid "File symlink" msgstr "Odkaz souboru" #: ../src/DirList.cpp:751 ../src/DirPanel.cpp:1587 ../src/FileList.cpp:644 #: ../src/FilePanel.cpp:1572 ../src/FilePanel.cpp:1616 #: ../src/SearchPanel.cpp:3540 ../src/WriteWindow.cpp:687 msgid "Copy" msgstr "Kopírovat" #: ../src/DirList.cpp:759 ../src/FileList.cpp:652 #, c-format msgid "" "Copy %s files/folders.\n" "From: %s" msgstr "" "Kopírovat %s soubory/adresáře.\n" "Z: %s" #: ../src/DirList.cpp:764 ../src/DirPanel.cpp:1646 ../src/DirPanel.cpp:1652 #: ../src/DirPanel.cpp:1662 ../src/DirPanel.cpp:1672 ../src/FileList.cpp:657 #: ../src/FilePanel.cpp:1631 ../src/FilePanel.cpp:1637 #: ../src/FilePanel.cpp:1647 ../src/FilePanel.cpp:1657 #: ../src/SearchPanel.cpp:3555 ../src/SearchPanel.cpp:3561 msgid "Move" msgstr "Přesunout" #: ../src/DirList.cpp:772 ../src/FileList.cpp:665 #, c-format msgid "" "Move %s files/folders.\n" "From: %s" msgstr "" "Přesunout %s soubory/adresáře.\n" "Z: %s" #: ../src/DirList.cpp:777 ../src/DirPanel.cpp:1682 ../src/DirPanel.cpp:1941 #: ../src/DirPanel.cpp:1974 ../src/FileList.cpp:670 ../src/FilePanel.cpp:1667 #: ../src/FilePanel.cpp:1977 ../src/FilePanel.cpp:2009 #: ../src/FilePanel.cpp:3778 ../src/SearchPanel.cpp:3571 #: ../src/SearchPanel.cpp:3889 ../src/SearchPanel.cpp:3921 msgid "Symlink" msgstr "Odkaz" #: ../src/DirList.cpp:782 ../src/DirPanel.cpp:1703 ../src/DirPanel.cpp:1731 #: ../src/FileList.cpp:675 ../src/FilePanel.cpp:1690 ../src/FilePanel.cpp:1734 #: ../src/SearchPanel.cpp:3594 ../src/SearchPanel.cpp:3638 msgid "To:" msgstr "Na:" #: ../src/DirList.cpp:843 ../src/DirPanel.cpp:1929 ../src/DirPanel.cpp:2108 #: ../src/FileList.cpp:735 ../src/FilePanel.cpp:1965 ../src/FilePanel.cpp:2157 #: ../src/SearchPanel.cpp:3877 ../src/SearchPanel.cpp:4028 msgid "An error has occurred during the move file operation!" msgstr "Nastala chyba při přesunu souboru!" #: ../src/DirList.cpp:851 ../src/DirPanel.cpp:1936 ../src/DirPanel.cpp:2116 #: ../src/FileList.cpp:743 ../src/FilePanel.cpp:1972 ../src/FilePanel.cpp:2165 #: ../src/SearchPanel.cpp:3884 ../src/SearchPanel.cpp:4036 msgid "Move file operation cancelled!" msgstr "Přesun souboru zrušen!" #: ../src/DirList.cpp:894 ../src/DirPanel.cpp:1863 ../src/DirPanel.cpp:2058 #: ../src/FileList.cpp:782 ../src/FilePanel.cpp:1899 ../src/FilePanel.cpp:2100 #: ../src/SearchPanel.cpp:3811 ../src/SearchPanel.cpp:3978 msgid "An error has occurred during the copy file operation!" msgstr "Nastala chyba při kopírování!" #: ../src/DirList.cpp:902 ../src/DirPanel.cpp:1870 ../src/DirPanel.cpp:2066 #: ../src/FileList.cpp:790 ../src/FilePanel.cpp:1906 ../src/FilePanel.cpp:2108 #: ../src/SearchPanel.cpp:3818 ../src/SearchPanel.cpp:3986 msgid "Copy file operation cancelled!" msgstr "Kopírování souboru zrušeno!" #: ../src/DirList.cpp:1481 ../src/XFileExplorer.cpp:2230 #, c-format msgid "Mount point %s is not responding..." msgstr "Připojovací bod %s neodpovídá" #: ../src/DirList.cpp:2007 msgid "Link to Folder" msgstr "Odkaz na adresář" #: ../src/DirPanel.cpp:449 msgid "Folders" msgstr "Adresáře" #: ../src/DirPanel.cpp:470 msgid "Show hidden folders" msgstr "Zobrazit skryté adresáře" #: ../src/DirPanel.cpp:470 msgid "Hide hidden folders" msgstr "Skrýt skryté adresáře" #: ../src/DirPanel.cpp:473 ../src/DirPanel.cpp:3033 msgid "0 bytes in root" msgstr "0 bytů v kořeni" #: ../src/DirPanel.cpp:553 ../src/FilePanel.cpp:371 #, fuzzy msgid "Panel is active" msgstr "Panel má zaměření" #: ../src/DirPanel.cpp:568 ../src/FilePanel.cpp:398 #, fuzzy msgid "Activate panel" msgstr "Vertikální panely" #: ../src/DirPanel.cpp:599 ../src/FileDialog.cpp:283 ../src/FileDialog.cpp:348 #: ../src/FilePanel.cpp:1091 ../src/FilePanel.cpp:1287 #: ../src/SearchPanel.cpp:369 ../src/SearchPanel.cpp:669 #: ../src/SearchPanel.cpp:1687 ../src/XFileImage.cpp:1858 #: ../src/XFileImage.cpp:1902 #, c-format msgid " Permission to: %s denied." msgstr " Práva k: %s odepřena." #. Panel menu items #: ../src/DirPanel.cpp:734 ../src/DirPanel.cpp:748 msgid "New &folder..." msgstr "Nový &adresář..." #: ../src/DirPanel.cpp:737 ../src/DirPanel.cpp:751 msgid "&Hidden folders" msgstr "Sk&ryté adresáře" #: ../src/DirPanel.cpp:738 ../src/DirPanel.cpp:752 ../src/FileDialog.cpp:1605 #: ../src/FilePanel.cpp:4408 ../src/FilePanel.cpp:4451 #: ../src/SearchPanel.cpp:2249 ../src/XFileImage.cpp:851 msgid "Ignore c&ase" msgstr "I&gnorovat velikost písmen" #: ../src/DirPanel.cpp:739 ../src/DirPanel.cpp:753 msgid "&Reverse order" msgstr "&Obrácená nabídka" #: ../src/DirPanel.cpp:740 ../src/DirPanel.cpp:754 msgid "E&xpand tree" msgstr "Ro&zbalit strom" #: ../src/DirPanel.cpp:741 ../src/DirPanel.cpp:755 msgid "Collap&se tree" msgstr "Z&balit strom" #: ../src/DirPanel.cpp:757 ../src/FilePanel.cpp:4454 #: ../src/SearchPanel.cpp:2252 msgid "Pane&l" msgstr "Pane&l" #: ../src/DirPanel.cpp:767 msgid "M&ount" msgstr "&Připojit" #: ../src/DirPanel.cpp:768 msgid "Unmoun&t" msgstr "O&dpojit" #: ../src/DirPanel.cpp:772 ../src/FilePanel.cpp:4535 #: ../src/SearchPanel.cpp:2307 msgid "&Add to archive..." msgstr "&Přidat do archívu..." #: ../src/DirPanel.cpp:774 ../src/FilePanel.cpp:4554 #: ../src/SearchPanel.cpp:2327 ../src/XFileExplorer.cpp:880 #: ../src/WriteWindow.cpp:810 ../src/WriteWindow.cpp:851 msgid "&Copy" msgstr "&Kopírovat" #: ../src/DirPanel.cpp:775 ../src/FilePanel.cpp:4555 #: ../src/SearchPanel.cpp:2328 ../src/XFileExplorer.cpp:886 msgid "C&ut" msgstr "Vy&jmout" #: ../src/DirPanel.cpp:776 ../src/FilePanel.cpp:4385 ../src/FilePanel.cpp:4428 #: ../src/FilePanel.cpp:4556 ../src/XFileExplorer.cpp:892 #: ../src/WriteWindow.cpp:822 ../src/WriteWindow.cpp:853 msgid "&Paste" msgstr "&Vložit" #: ../src/DirPanel.cpp:778 ../src/FilePanel.cpp:4558 #: ../src/SearchPanel.cpp:2330 ../src/XFileExplorer.cpp:819 msgid "Re&name..." msgstr "Pře&jmenovat..." #: ../src/DirPanel.cpp:779 msgid "Cop&y to..." msgstr "Ko&pírovat do..." #: ../src/DirPanel.cpp:780 ../src/FilePanel.cpp:4560 #: ../src/SearchPanel.cpp:2332 ../src/XFileExplorer.cpp:831 msgid "&Move to..." msgstr "Přesu&nout do..." #: ../src/DirPanel.cpp:781 ../src/FilePanel.cpp:4561 #: ../src/SearchPanel.cpp:2333 msgid "Symlin&k to..." msgstr "Odka&z na..." #: ../src/DirPanel.cpp:782 ../src/XFileExplorer.cpp:843 msgid "Mo&ve to trash" msgstr "Pře&sunout do koše" #: ../src/DirPanel.cpp:783 ../src/XFileExplorer.cpp:849 msgid "R&estore from trash" msgstr "O&bnovit z koše" #: ../src/DirPanel.cpp:784 ../src/FilePanel.cpp:4564 #: ../src/SearchPanel.cpp:2335 ../src/XFileExplorer.cpp:855 msgid "&Delete" msgstr "&Smazat" #: ../src/DirPanel.cpp:786 msgid "Prop&erties" msgstr "Vlas&tnosti" #: ../src/DirPanel.cpp:956 ../src/DirPanel.cpp:1076 ../src/DirPanel.cpp:2629 #: ../src/DirPanel.cpp:2655 ../src/DirPanel.cpp:2710 ../src/DirPanel.cpp:2737 #: ../src/File.cpp:1953 ../src/File.cpp:1977 ../src/FilePanel.cpp:979 #: ../src/FilePanel.cpp:1002 ../src/FilePanel.cpp:3471 #: ../src/FilePanel.cpp:3512 ../src/FilePanel.cpp:4660 #: ../src/FilePanel.cpp:4685 ../src/FilePanel.cpp:4713 #: ../src/FilePanel.cpp:4882 ../src/FilePanel.cpp:5620 #: ../src/FilePanel.cpp:5649 ../src/FilePanel.cpp:5757 #: ../src/FilePanel.cpp:5784 ../src/FilePanel.cpp:6030 #: ../src/FilePanel.cpp:6082 ../src/SearchPanel.cpp:553 #: ../src/SearchPanel.cpp:2428 ../src/XFileExplorer.cpp:3123 #: ../src/XFileExplorer.cpp:3150 ../src/XFileExplorer.cpp:3698 #: ../src/XFileExplorer.cpp:3779 ../src/XFileExplorer.cpp:3808 #: ../src/XFileExplorer.cpp:3851 #, c-format msgid "Can't enter folder %s: %s" msgstr "Nemohu otevřít adresář %s: %s" #: ../src/DirPanel.cpp:960 ../src/DirPanel.cpp:1080 ../src/DirPanel.cpp:2633 #: ../src/DirPanel.cpp:2659 ../src/DirPanel.cpp:2714 ../src/DirPanel.cpp:2741 #: ../src/File.cpp:1957 ../src/File.cpp:1981 ../src/FilePanel.cpp:983 #: ../src/FilePanel.cpp:1006 ../src/FilePanel.cpp:3475 #: ../src/FilePanel.cpp:3516 ../src/FilePanel.cpp:4664 #: ../src/FilePanel.cpp:4689 ../src/FilePanel.cpp:4717 #: ../src/FilePanel.cpp:4886 ../src/FilePanel.cpp:5624 #: ../src/FilePanel.cpp:5653 ../src/FilePanel.cpp:5761 #: ../src/FilePanel.cpp:5788 ../src/FilePanel.cpp:6034 #: ../src/FilePanel.cpp:6086 ../src/SearchPanel.cpp:557 #: ../src/SearchPanel.cpp:2432 ../src/XFileExplorer.cpp:3127 #: ../src/XFileExplorer.cpp:3154 ../src/XFileExplorer.cpp:3700 #: ../src/XFileExplorer.cpp:3781 ../src/XFileExplorer.cpp:3810 #: ../src/XFileExplorer.cpp:3853 #, c-format msgid "Can't enter folder %s" msgstr "Nemohu otevřít adresář %s" #: ../src/DirPanel.cpp:978 ../src/FileDialog.cpp:1027 ../src/FilePanel.cpp:1786 #: ../src/FilePanel.cpp:3642 ../src/FilePanel.cpp:3749 #: ../src/FilePanel.cpp:4121 ../src/FilePanel.cpp:4772 #: ../src/SearchPanel.cpp:833 ../src/SearchPanel.cpp:2467 #: ../src/SearchPanel.cpp:3691 msgid "File name is empty, operation cancelled" msgstr "Jméno souboru je prázdné, operace zrušena" #. File object #: ../src/DirPanel.cpp:1065 ../src/FilePanel.cpp:4871 #: ../src/SearchPanel.cpp:2562 msgid "Create archive" msgstr "Vytvořit archív" #: ../src/DirPanel.cpp:1591 ../src/DirPanel.cpp:1635 ../src/FilePanel.cpp:1576 #: ../src/FilePanel.cpp:1620 ../src/SearchPanel.cpp:3544 msgid "Copy " msgstr "Kopírovat" #: ../src/DirPanel.cpp:1608 ../src/DirPanel.cpp:1640 ../src/FilePanel.cpp:1593 #: ../src/FilePanel.cpp:1625 #, c-format msgid "Copy %s items from: %s" msgstr "Kopírovat %s položek z : %s" #: ../src/DirPanel.cpp:1614 ../src/DirPanel.cpp:1621 ../src/FilePanel.cpp:1599 #: ../src/FilePanel.cpp:1606 ../src/SearchPanel.cpp:3523 #: ../src/SearchPanel.cpp:3530 msgid "Rename" msgstr "Přejmenovat" #: ../src/DirPanel.cpp:1618 ../src/FilePanel.cpp:1603 #: ../src/SearchPanel.cpp:3527 msgid "Rename " msgstr "Přejmenovat " #: ../src/DirPanel.cpp:1631 msgid "Copy to" msgstr "Kopírovat do" #: ../src/DirPanel.cpp:1650 ../src/DirPanel.cpp:1666 ../src/FilePanel.cpp:1635 #: ../src/FilePanel.cpp:1651 ../src/SearchPanel.cpp:3559 msgid "Move " msgstr "Přesunout " #: ../src/DirPanel.cpp:1656 ../src/DirPanel.cpp:1676 ../src/FilePanel.cpp:1641 #: ../src/FilePanel.cpp:1661 #, c-format msgid "Move %s items from: %s" msgstr "Přesunout %s položky z: %s" #: ../src/DirPanel.cpp:1686 ../src/FilePanel.cpp:1671 #: ../src/SearchPanel.cpp:3575 msgid "Symlink " msgstr "Odkaz " #: ../src/DirPanel.cpp:1692 ../src/FilePanel.cpp:1677 #, c-format msgid "Symlink %s items from: %s" msgstr "Symbolické odkazy %s položek z: %s" #: ../src/DirPanel.cpp:1777 ../src/DirPanel.cpp:1805 ../src/FilePanel.cpp:1818 #: ../src/FilePanel.cpp:1832 ../src/SearchPanel.cpp:3730 #: ../src/SearchPanel.cpp:3758 #, c-format msgid "%s is not a folder" msgstr "%s není adresář" #: ../src/DirPanel.cpp:2128 ../src/FilePanel.cpp:2184 #: ../src/SearchPanel.cpp:4048 msgid "An error has occurred during the symlink operation!" msgstr "Nastala chyba při tvorbě odkazu!" #: ../src/DirPanel.cpp:2136 ../src/FilePanel.cpp:2192 #: ../src/SearchPanel.cpp:4056 msgid "Symlink operation cancelled!" msgstr "Vytvoření odkazu zrušeno!" #: ../src/DirPanel.cpp:2186 ../src/FilePanel.cpp:2763 #: ../src/SearchPanel.cpp:3034 #, c-format msgid "Definitively delete folder %s ?" msgstr "Definitivně smazat adresář %s ?" #: ../src/DirPanel.cpp:2187 ../src/DirPanel.cpp:2207 ../src/DirPanel.cpp:2223 #: ../src/FilePanel.cpp:2774 ../src/FilePanel.cpp:2838 #: ../src/FilePanel.cpp:2850 ../src/FilePanel.cpp:2897 #: ../src/FilePanel.cpp:2912 ../src/SearchPanel.cpp:3045 #: ../src/SearchPanel.cpp:3101 ../src/SearchPanel.cpp:3147 #: ../src/SearchPanel.cpp:3162 msgid "Confirm Delete" msgstr "Potvrdit smazání" #. File object #. Delete trash can info folder #: ../src/DirPanel.cpp:2195 ../src/FilePanel.cpp:2784 #: ../src/SearchPanel.cpp:3055 ../src/XFileExplorer.cpp:3950 #: ../src/XFileExplorer.cpp:3956 msgid "File delete" msgstr "Smazání souboru" #: ../src/DirPanel.cpp:2206 ../src/FilePanel.cpp:2834 #: ../src/SearchPanel.cpp:3100 #, c-format msgid "Folder %s is not empty, delete it anyway?" msgstr "Adresář %s není prázdný, přesto smazat?" #: ../src/DirPanel.cpp:2222 #, c-format msgid "Folder %s is write-protected, definitively delete it anyway?" msgstr "Adresář %s je chráněn proti zápisu, přesto smazat?" #: ../src/DirPanel.cpp:2234 ../src/DirPanel.cpp:2262 msgid "Delete folder operation cancelled!" msgstr "Smazání adresáře zrušeno!" #: ../src/DirPanel.cpp:2300 ../src/FilePanel.cpp:2293 #: ../src/SearchPanel.cpp:2823 #, c-format msgid "Move folder %s to trash can?" msgstr "Přesunout adresář %s do koše?" #: ../src/DirPanel.cpp:2301 ../src/DirPanel.cpp:2319 ../src/FilePanel.cpp:2305 #: ../src/FilePanel.cpp:2364 ../src/FilePanel.cpp:2378 #: ../src/SearchPanel.cpp:2835 ../src/SearchPanel.cpp:2889 #: ../src/SearchPanel.cpp:2903 msgid "Confirm Trash" msgstr "Potvrzení koše" #. File object #: ../src/DirPanel.cpp:2309 ../src/FilePanel.cpp:2316 #: ../src/SearchPanel.cpp:2846 msgid "Move to trash" msgstr "Přesunout do koše" #: ../src/DirPanel.cpp:2318 #, c-format msgid "Folder %s is write-protected, move it to trash can anyway?" msgstr "Adresář %s je chráněn proti zápisu, přesto přesunout do koše?" #: ../src/DirPanel.cpp:2339 ../src/DirPanel.cpp:2372 ../src/FilePanel.cpp:2429 #: ../src/FilePanel.cpp:2456 ../src/SearchPanel.cpp:2950 #: ../src/SearchPanel.cpp:2973 msgid "An error has occurred during the move to trash operation!" msgstr "Nastala chyba při přesunu do koše!" #: ../src/DirPanel.cpp:2346 ../src/DirPanel.cpp:2379 msgid "Move to trash folder operation cancelled!" msgstr "Přesun souboru do koše zrušen!" #. File object #: ../src/DirPanel.cpp:2405 ../src/FilePanel.cpp:2521 msgid "Restore from trash" msgstr "Obnovit z koše" #: ../src/DirPanel.cpp:2451 ../src/FilePanel.cpp:2601 #, c-format msgid "Restore folder %s to its original location %s ?" msgstr "Obnovit adresář %s do jeho původního umístění %s ?" #: ../src/DirPanel.cpp:2453 ../src/DirPanel.cpp:2480 ../src/FilePanel.cpp:2613 #: ../src/FilePanel.cpp:2638 msgid "Confirm Restore" msgstr "Potvrdit obnovení" #: ../src/DirPanel.cpp:2468 ../src/FilePanel.cpp:2626 #, c-format msgid "Restore information not available for %s" msgstr "Informace pro obnovení nejsou pro %s dostupné" #: ../src/DirPanel.cpp:2479 ../src/FilePanel.cpp:2637 #, c-format msgid "Parent folder %s does not exist, do you want to create it?" msgstr "Nadřazený adresář %s neexistuje, chcete ho vytvořit?" #: ../src/DirPanel.cpp:2496 ../src/DirPanel.cpp:2598 #, c-format msgid "Can't create folder %s : %s" msgstr "Nemohu vytvořit adresář %s : %s" #: ../src/DirPanel.cpp:2500 ../src/DirPanel.cpp:2602 ../src/FilePanel.cpp:2657 #: ../src/FilePanel.cpp:3584 ../src/FilePanel.cpp:5096 #, c-format msgid "Can't create folder %s" msgstr "Nemohu vytvořit adresář %s" #: ../src/DirPanel.cpp:2514 ../src/FilePanel.cpp:2672 msgid "An error has occurred during the restore from trash operation!" msgstr "Nastala chyba při obnově z koše!" #: ../src/DirPanel.cpp:2529 ../src/FilePanel.cpp:2687 msgid "Restore from trash file operation cancelled!" msgstr "Obnovení souboru z koše zrušeno!" #: ../src/DirPanel.cpp:2564 ../src/FilePanel.cpp:3544 msgid "Create new folder:" msgstr "Vytvořit nový adresář:" #: ../src/DirPanel.cpp:2564 ../src/FileDialog.cpp:956 ../src/FilePanel.cpp:3544 msgid "New Folder" msgstr "Nový adresář" #: ../src/DirPanel.cpp:2571 ../src/FileDialog.cpp:962 ../src/FilePanel.cpp:3553 #, fuzzy msgid "Folder name is empty, operation cancelled" msgstr "Jméno souboru je prázdné, operace zrušena" #: ../src/DirPanel.cpp:2645 ../src/FilePanel.cpp:4675 #: ../src/XFileExplorer.cpp:3101 ../src/XFileExplorer.cpp:3139 #: ../src/XFileExplorer.cpp:3741 ../src/XFileImage.cpp:1591 #: ../src/WriteWindow.cpp:1875 #, c-format msgid "Can't execute command %s" msgstr "Nemohu spustit příkaz %s" #: ../src/DirPanel.cpp:2693 ../src/FilePanel.cpp:5740 msgid "Mount" msgstr "Připojit" #: ../src/DirPanel.cpp:2699 ../src/FilePanel.cpp:4462 ../src/FilePanel.cpp:5746 msgid "Unmount" msgstr "Odpojit" #. File object #: ../src/DirPanel.cpp:2724 ../src/FilePanel.cpp:5771 msgid " file system..." msgstr " systém souborů..." #. Mount/unmount file system #: ../src/DirPanel.cpp:2729 ../src/FilePanel.cpp:5776 msgid " the folder:" msgstr " adresář:" #: ../src/DirPanel.cpp:2752 ../src/FilePanel.cpp:5798 msgid " operation cancelled!" msgstr " operace zrušena!" #. Refresh the status label #: ../src/DirPanel.cpp:3065 msgid " in root" msgstr " v kořeni" #. Labels and progress bar #: ../src/File.cpp:105 ../src/File.cpp:120 msgid "Source:" msgstr "Zdroj:" #: ../src/File.cpp:106 ../src/File.cpp:121 msgid "Target:" msgstr "Cíl:" #: ../src/File.cpp:111 msgid "Copied data:" msgstr "Kopírovaná data:" #: ../src/File.cpp:126 msgid "Moved data:" msgstr "Přesouvána data:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:135 ../src/File.cpp:1109 msgid "Delete:" msgstr "Smazat:" #: ../src/File.cpp:136 msgid "From:" msgstr "Z:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:145 ../src/File.cpp:1592 ../src/File.cpp:1620 #: ../src/File.cpp:1684 msgid "Changing permissions..." msgstr "Měním práva..." #: ../src/File.cpp:146 ../src/File.cpp:156 ../src/File.cpp:1594 #: ../src/File.cpp:1686 ../src/File.cpp:1788 ../src/File.cpp:1877 msgid "File:" msgstr "Soubor:" #. Labels #. Set labels for progress dialog #: ../src/File.cpp:155 ../src/File.cpp:1786 ../src/File.cpp:1817 #: ../src/File.cpp:1875 msgid "Changing owner..." msgstr "Měním vlastníka..." #. Labels #: ../src/File.cpp:166 msgid "Mount file system..." msgstr "Připojuji souborový systém..." #: ../src/File.cpp:167 msgid "Mount the folder:" msgstr "Připojit adresář:" #. Labels #: ../src/File.cpp:173 msgid "Unmount file system..." msgstr "Odpojuji souborový systém..." #: ../src/File.cpp:174 msgid "Unmount the folder:" msgstr "Odpojit adresář:" #: ../src/File.cpp:300 #, c-format msgid "" "Folder %s already exists.\n" "Overwrite?\n" "=> Caution, files within this folder could be overwritten!" msgstr "" "Adresář %s už existuje.\n" "Přepsat?\n" "=> Upozornění, soubory v této složce by mohly být přepsány!" #: ../src/File.cpp:304 ../src/File.cpp:1998 #, c-format msgid "" "File %s already exists.\n" "Overwrite?" msgstr "" "Soubor %s už existuje.\n" "Přepsat?" #: ../src/File.cpp:382 ../src/File.cpp:386 ../src/File.cpp:393 #: ../src/File.cpp:397 ../src/File.cpp:1999 msgid "Confirm Overwrite" msgstr "Potvrdit přepsání" #: ../src/File.cpp:453 ../src/File.cpp:544 ../src/File.cpp:626 #, c-format msgid "Can't copy file %s: %s" msgstr "Nemohu kopírovat soubor %s : %s" #: ../src/File.cpp:457 ../src/File.cpp:548 ../src/File.cpp:630 #, c-format msgid "Can't copy file %s" msgstr "Nemohu kopírovat soubor %s" #. Set labels for progress dialog #: ../src/File.cpp:515 ../src/File.cpp:926 ../src/File.cpp:1291 msgid "Source: " msgstr "Zdroj: " #: ../src/File.cpp:520 ../src/File.cpp:931 ../src/File.cpp:1296 msgid "Target: " msgstr "Cíl: " #: ../src/File.cpp:581 #, c-format msgid "Can't preserve date when copying file %s : %s" msgstr "Nemohu uchovat datum, při kopírování souboru %s : %s" #: ../src/File.cpp:585 #, c-format msgid "Can't preserve date when copying file %s" msgstr "Nemohu uchovat datum, při kopírování souboru %s" #: ../src/File.cpp:727 #, c-format msgid "Can't copy folder %s : Permission denied" msgstr "Nemohu kopírovat adresář %s: Nedostatečná práva" #: ../src/File.cpp:731 #, c-format msgid "Can't copy file %s : Permission denied" msgstr "Nemohu kopírovat soubor %s: Nedostatečná práva" #: ../src/File.cpp:768 #, c-format msgid "Can't preserve date when copying folder %s: %s" msgstr "Nemohu uchovat datum, při kopírování adresáře %s : %s" #: ../src/File.cpp:772 #, c-format msgid "Can't preserve date when copying folder %s" msgstr "Nemohu uchovat datum, při kopírování adresáře %s" #: ../src/File.cpp:876 ../src/File.cpp:1172 ../src/File.cpp:1241 #: ../src/File.cpp:1439 #, c-format msgid "Source %s doesn't exist" msgstr "Zdroj %s neexistuje" #: ../src/File.cpp:884 ../src/File.cpp:916 ../src/File.cpp:1179 #: ../src/File.cpp:1249 ../src/File.cpp:1277 ../src/File.cpp:1447 #: ../src/File.cpp:1466 #, c-format msgid "Destination %s is identical to source" msgstr "Cíl %s je identický se zdrojem" #: ../src/File.cpp:893 ../src/File.cpp:1258 #, c-format msgid "Target %s is a sub-folder of source" msgstr "Cíl %s je podadresář zdroje" #. Set labels for progress dialog #: ../src/File.cpp:1024 msgid "Delete folder: " msgstr "Smazat adresář: " #: ../src/File.cpp:1030 ../src/File.cpp:1115 msgid "From: " msgstr "Z: " #: ../src/File.cpp:1071 #, c-format msgid "Can't delete folder %s: %s" msgstr "Nemohu smazat adresář %s: %s" #: ../src/File.cpp:1075 #, c-format msgid "Can't delete folder %s" msgstr "Nemohu smazat adresář %s" #: ../src/File.cpp:1136 #, c-format msgid "Can't delete file %s: %s" msgstr "Nemohu smazat soubor %s: %s" #: ../src/File.cpp:1140 #, c-format msgid "Can't delete file %s" msgstr "Nemohu smazat soubor %s" #: ../src/File.cpp:1189 #, c-format msgid "Destination %s already exists" msgstr "Cíl %s už existuje" #: ../src/File.cpp:1215 ../src/File.cpp:1410 #, c-format msgid "Can't rename to target %s: %s" msgstr "Nemohu přejmenovat na cíl %s: %s" #: ../src/File.cpp:1539 #, c-format msgid "Can't symlink %s: %s" msgstr "Nemohu vytvořit symbolický odkaz %s: %s" #: ../src/File.cpp:1543 #, c-format msgid "Can't symlink %s" msgstr "Nemohu vytvořit symbolický odkaz %s" #: ../src/File.cpp:1622 ../src/File.cpp:1819 msgid "Folder: " msgstr "Adresář: " #. Make and show command window #. File object #: ../src/File.cpp:1964 ../src/FilePanel.cpp:5029 ../src/FilePanel.cpp:5193 #: ../src/FilePanel.cpp:5321 ../src/SearchPanel.cpp:2710 #: ../src/SearchPanel.cpp:2735 msgid "Extract archive" msgstr "Rozbalit archív" #. Make and show command window #: ../src/File.cpp:2009 msgid "Add to archive" msgstr "Přidat do archívu" #: ../src/File.cpp:2050 ../src/FilePanel.cpp:5921 ../src/SearchPanel.cpp:4338 #, c-format msgid "Failed command: %s" msgstr "Selhal příkaz: %s" #: ../src/File.cpp:2077 ../src/File.cpp:2081 msgid "Success" msgstr "Úspěšné" #: ../src/File.cpp:2077 #, c-format msgid "Folder %s was successfully mounted." msgstr "Adresář %s byl úspěšně připojen." #: ../src/File.cpp:2081 #, c-format msgid "Folder %s was successfully unmounted." msgstr "Adresář %s byl úspěšně odpojen." #. Make and show command window #: ../src/File.cpp:2092 msgid "Install/Upgrade package" msgstr "Instalovat/Upgradovat balík" #: ../src/File.cpp:2097 ../src/XFilePackage.cpp:300 #, c-format msgid "Installing package: %s \n" msgstr "Instalace balíku: %s \n" #. Make and show command window #: ../src/File.cpp:2110 msgid "Uninstall package" msgstr "Odinstalace balíku" #: ../src/File.cpp:2115 ../src/XFilePackage.cpp:350 #, c-format msgid "Uninstalling package: %s \n" msgstr "Odinstalace balíku: %s \n" #: ../src/FileDialog.cpp:120 msgid "&File Name:" msgstr "&Jméno souboru:" #: ../src/FileDialog.cpp:122 ../src/MessageBox.cpp:69 ../src/MessageBox.cpp:74 #: ../src/MessageBox.cpp:91 ../src/foxhacks.cpp:879 msgid "&OK" msgstr "&OK" #: ../src/FileDialog.cpp:124 msgid "File F&ilter:" msgstr "Souborový f&iltr:" #: ../src/FileDialog.cpp:129 msgid "Read Only" msgstr "Jen pro čtení" #: ../src/FileDialog.cpp:141 ../src/Preferences.cpp:753 #: ../src/XFileExplorer.cpp:597 ../src/XFileImage.cpp:330 msgid "Go to previous folder" msgstr "Jít do předchozího adresáře." #: ../src/FileDialog.cpp:148 ../src/Preferences.cpp:757 #: ../src/XFileExplorer.cpp:604 ../src/XFileImage.cpp:336 msgid "Go to next folder" msgstr "Jít do dalšího adresáře." #: ../src/FileDialog.cpp:154 ../src/Preferences.cpp:761 #: ../src/SearchPanel.cpp:169 ../src/XFileExplorer.cpp:611 #: ../src/XFileImage.cpp:342 msgid "Go to parent folder" msgstr "Jít do nadřazeného adresáře" #: ../src/FileDialog.cpp:159 ../src/Preferences.cpp:765 #: ../src/XFileExplorer.cpp:618 ../src/XFileImage.cpp:350 msgid "Go to home folder" msgstr "Jít domů" #: ../src/FileDialog.cpp:164 ../src/Preferences.cpp:833 #: ../src/XFileImage.cpp:355 msgid "Go to working folder" msgstr "Jít do pracovního adresáře" #: ../src/FileDialog.cpp:169 msgid "New folder" msgstr "Nový adresář" #: ../src/FileDialog.cpp:174 ../src/Preferences.cpp:789 #: ../src/SearchPanel.cpp:212 ../src/XFileExplorer.cpp:751 #: ../src/XFileImage.cpp:364 msgid "Big icon list" msgstr "Velké ikony" #: ../src/FileDialog.cpp:179 ../src/Preferences.cpp:793 #: ../src/SearchPanel.cpp:217 ../src/XFileExplorer.cpp:756 #: ../src/XFileImage.cpp:369 msgid "Small icon list" msgstr "Malé ikony" #: ../src/FileDialog.cpp:184 ../src/Preferences.cpp:797 #: ../src/SearchPanel.cpp:222 ../src/XFileExplorer.cpp:761 #: ../src/XFileImage.cpp:374 msgid "Detailed file list" msgstr "Seznam souborů" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Show hidden files" msgstr "Zobrazit skryté soubory" #: ../src/FileDialog.cpp:189 ../src/FilePanel.cpp:233 ../src/XFileImage.cpp:558 msgid "Hide hidden files" msgstr "Skrýt skryté soubory" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Show thumbnails" msgstr "Zobrazit náhledy" #: ../src/FileDialog.cpp:194 ../src/FilePanel.cpp:237 #: ../src/SearchPanel.cpp:232 ../src/XFileImage.cpp:562 msgid "Hide thumbnails" msgstr "Skrýt náhledy" #: ../src/FileDialog.cpp:956 msgid "Create new folder..." msgstr "Vytvořit nový adresář..." #: ../src/FileDialog.cpp:1019 msgid "Create new file..." msgstr "Vytvořit nový soubor..." #: ../src/FileDialog.cpp:1019 ../src/FilePanel.cpp:3633 msgid "New File" msgstr "Nový soubor" #: ../src/FileDialog.cpp:1045 ../src/FilePanel.cpp:3660 #: ../src/FilePanel.cpp:3759 #, c-format msgid "File or folder %s already exists" msgstr "Soubor nebo adresář %s už existuje" #: ../src/FileDialog.cpp:1580 ../src/XFileImage.cpp:828 msgid "Go ho&me" msgstr "Jít &domů" #: ../src/FileDialog.cpp:1581 ../src/XFileImage.cpp:829 msgid "Go &work" msgstr "Jít do &pracovního adresáře" #: ../src/FileDialog.cpp:1582 ../src/XFileExplorer.cpp:781 msgid "New &file..." msgstr "Nový &soubor..." #: ../src/FileDialog.cpp:1583 ../src/FilePanel.cpp:4381 #: ../src/FilePanel.cpp:4424 msgid "New f&older..." msgstr "Nový &adresář..." #: ../src/FileDialog.cpp:1585 ../src/FilePanel.cpp:4387 #: ../src/FilePanel.cpp:4430 ../src/XFileExplorer.cpp:998 #: ../src/XFileExplorer.cpp:1028 ../src/XFileImage.cpp:697 #: ../src/XFileImage.cpp:831 msgid "&Hidden files" msgstr "&Skryté soubory" #: ../src/FileDialog.cpp:1586 ../src/FilePanel.cpp:4388 #: ../src/FilePanel.cpp:4431 ../src/SearchPanel.cpp:2202 #: ../src/SearchPanel.cpp:2230 ../src/XFileImage.cpp:832 msgid "Thum&bnails" msgstr "Ná&hledy" #: ../src/FileDialog.cpp:1588 ../src/FilePanel.cpp:4390 #: ../src/FilePanel.cpp:4433 ../src/SearchPanel.cpp:2204 #: ../src/SearchPanel.cpp:2232 ../src/XFileImage.cpp:834 msgid "B&ig icons" msgstr "Ve&lké ikony" #: ../src/FileDialog.cpp:1589 ../src/FilePanel.cpp:4391 #: ../src/FilePanel.cpp:4434 ../src/SearchPanel.cpp:2205 #: ../src/SearchPanel.cpp:2233 ../src/XFileExplorer.cpp:1002 #: ../src/XFileExplorer.cpp:1032 ../src/XFileImage.cpp:717 #: ../src/XFileImage.cpp:835 msgid "&Small icons" msgstr "&Malé ikony" #: ../src/FileDialog.cpp:1590 ../src/XFileImage.cpp:836 msgid "Fu&ll file list" msgstr "Ú&plný seznam souborů" #: ../src/FileDialog.cpp:1592 ../src/FilePanel.cpp:4394 #: ../src/FilePanel.cpp:4437 ../src/SearchPanel.cpp:2208 #: ../src/SearchPanel.cpp:2236 ../src/XFileExplorer.cpp:1005 #: ../src/XFileExplorer.cpp:1035 ../src/XFileImage.cpp:739 #: ../src/XFileImage.cpp:838 msgid "&Rows" msgstr "Řá&dky" #: ../src/FileDialog.cpp:1593 ../src/FilePanel.cpp:4395 #: ../src/FilePanel.cpp:4438 ../src/SearchPanel.cpp:2209 #: ../src/SearchPanel.cpp:2237 ../src/XFileExplorer.cpp:1006 #: ../src/XFileExplorer.cpp:1036 ../src/XFileImage.cpp:740 #: ../src/XFileImage.cpp:839 msgid "&Columns" msgstr "S&loupce" #: ../src/FileDialog.cpp:1594 ../src/FilePanel.cpp:4396 #: ../src/FilePanel.cpp:4439 ../src/SearchPanel.cpp:2210 #: ../src/XFileExplorer.cpp:1007 ../src/XFileExplorer.cpp:1037 #: ../src/XFileImage.cpp:840 msgid "Autosize" msgstr "Automatická velikost" #: ../src/FileDialog.cpp:1596 ../src/FilePanel.cpp:4398 #: ../src/FilePanel.cpp:4441 ../src/SearchPanel.cpp:2212 #: ../src/SearchPanel.cpp:2240 ../src/XFileExplorer.cpp:1009 #: ../src/XFileExplorer.cpp:1039 ../src/XFileImage.cpp:842 msgid "&Name" msgstr "&Jméno" #: ../src/FileDialog.cpp:1597 ../src/FilePanel.cpp:4399 #: ../src/FilePanel.cpp:4442 ../src/SearchPanel.cpp:2213 #: ../src/SearchPanel.cpp:2241 ../src/XFileExplorer.cpp:1010 #: ../src/XFileExplorer.cpp:1040 ../src/XFileImage.cpp:843 msgid "Si&ze" msgstr "Ve&likost" #: ../src/FileDialog.cpp:1598 ../src/FilePanel.cpp:4400 #: ../src/FilePanel.cpp:4443 ../src/SearchPanel.cpp:2214 #: ../src/SearchPanel.cpp:2242 ../src/XFileImage.cpp:844 msgid "&Type" msgstr "&Typ" #: ../src/FileDialog.cpp:1599 ../src/FilePanel.cpp:4401 #: ../src/FilePanel.cpp:4444 ../src/SearchPanel.cpp:2215 #: ../src/SearchPanel.cpp:2243 ../src/XFileExplorer.cpp:1012 #: ../src/XFileExplorer.cpp:1042 ../src/XFileImage.cpp:845 msgid "E&xtension" msgstr "Příp&ona" #: ../src/FileDialog.cpp:1600 ../src/FilePanel.cpp:4402 #: ../src/FilePanel.cpp:4445 ../src/SearchPanel.cpp:2216 #: ../src/SearchPanel.cpp:2244 ../src/XFileImage.cpp:846 msgid "&Date" msgstr "&Datum" #: ../src/FileDialog.cpp:1601 ../src/FilePanel.cpp:4403 #: ../src/FilePanel.cpp:4446 ../src/SearchPanel.cpp:2217 #: ../src/SearchPanel.cpp:2245 ../src/XFileImage.cpp:847 msgid "&User" msgstr "&Uživatel" #: ../src/FileDialog.cpp:1602 ../src/FilePanel.cpp:4404 #: ../src/FilePanel.cpp:4447 ../src/SearchPanel.cpp:2218 #: ../src/SearchPanel.cpp:2246 ../src/XFileImage.cpp:848 msgid "&Group" msgstr "&Skupina" #: ../src/FileDialog.cpp:1606 ../src/FilePanel.cpp:4409 #: ../src/FilePanel.cpp:4452 ../src/SearchPanel.cpp:2222 #: ../src/SearchPanel.cpp:2250 ../src/XFileImage.cpp:852 msgid "Fold&ers first" msgstr "Adresáře napřed" #: ../src/FileDialog.cpp:1607 ../src/FilePanel.cpp:4410 #: ../src/FilePanel.cpp:4453 ../src/SearchPanel.cpp:2223 #: ../src/SearchPanel.cpp:2251 ../src/XFileExplorer.cpp:1022 #: ../src/XFileExplorer.cpp:1052 ../src/XFileImage.cpp:853 msgid "Re&verse order" msgstr "&Obrácená nabídka" #. Font families, to be filled later #: ../src/FontDialog.cpp:52 msgid "&Family:" msgstr "&Rodina:" #. Font weights #: ../src/FontDialog.cpp:61 msgid "&Weight:" msgstr "&Tloušťka:" #. Font styles #: ../src/FontDialog.cpp:67 msgid "&Style:" msgstr "&Styl:" #. Font sizes, to be filled later #: ../src/FontDialog.cpp:73 msgid "Si&ze:" msgstr "Ve&likost:" #. Character set choice #: ../src/FontDialog.cpp:81 msgid "Character Set:" msgstr "Znaková sada:" #: ../src/FontDialog.cpp:84 ../src/FontDialog.cpp:116 ../src/FontDialog.cpp:132 msgid "Any" msgstr "Vše" #: ../src/FontDialog.cpp:85 msgid "West European" msgstr "Západoevropské" #: ../src/FontDialog.cpp:86 msgid "East European" msgstr "Východoevropské" #: ../src/FontDialog.cpp:87 msgid "South European" msgstr "Jihoevropské" #: ../src/FontDialog.cpp:88 msgid "North European" msgstr "Severoevropské" #: ../src/FontDialog.cpp:89 msgid "Cyrillic" msgstr "Cyrilika" #: ../src/FontDialog.cpp:90 msgid "Arabic" msgstr "Arabské" #: ../src/FontDialog.cpp:91 msgid "Greek" msgstr "Řecké" #: ../src/FontDialog.cpp:92 msgid "Hebrew" msgstr "Hebrejské" #: ../src/FontDialog.cpp:93 msgid "Turkish" msgstr "Turecké" #: ../src/FontDialog.cpp:94 msgid "Nordic" msgstr "Nordické" #: ../src/FontDialog.cpp:95 msgid "Thai" msgstr "Thajské" #: ../src/FontDialog.cpp:96 msgid "Baltic" msgstr "Baltské" #: ../src/FontDialog.cpp:97 msgid "Celtic" msgstr "Keltské" #: ../src/FontDialog.cpp:98 msgid "Russian" msgstr "Ruské" #: ../src/FontDialog.cpp:99 msgid "Central European (cp1250)" msgstr "Středoevropské (cp1250)" #: ../src/FontDialog.cpp:100 msgid "Russian (cp1251)" msgstr "Ruské (cp1251)" #: ../src/FontDialog.cpp:101 msgid "Latin1 (cp1252)" msgstr "Západní (cp1252)" #: ../src/FontDialog.cpp:102 msgid "Greek (cp1253)" msgstr "Řecké (cp1253)" #: ../src/FontDialog.cpp:103 msgid "Turkish (cp1254)" msgstr "Turecké (cp1254)" #: ../src/FontDialog.cpp:104 msgid "Hebrew (cp1255)" msgstr "Hebrejské (cp1255)" #: ../src/FontDialog.cpp:105 msgid "Arabic (cp1256)" msgstr "Arabské (cp1256)" #: ../src/FontDialog.cpp:106 msgid "Baltic (cp1257)" msgstr "Baltské (cp1257)" #: ../src/FontDialog.cpp:107 msgid "Vietnam (cp1258)" msgstr "Vietnamské (cp1258)" #: ../src/FontDialog.cpp:108 msgid "Thai (cp874)" msgstr "Thajské (cp874)" #: ../src/FontDialog.cpp:109 msgid "UNICODE" msgstr "UNICODE" #. Set width #: ../src/FontDialog.cpp:113 msgid "Set Width:" msgstr "Nastavit šířku:" #: ../src/FontDialog.cpp:117 msgid "Ultra condensed" msgstr "Ultra zúžené" #: ../src/FontDialog.cpp:118 msgid "Extra condensed" msgstr "Extra zúžené" #: ../src/FontDialog.cpp:119 msgid "Condensed" msgstr "Zúžené" #: ../src/FontDialog.cpp:120 msgid "Semi condensed" msgstr "Polo-zúžené" #: ../src/FontDialog.cpp:121 msgid "Normal" msgstr "Normální" #: ../src/FontDialog.cpp:122 msgid "Semi expanded" msgstr "Polo-roztažené" #: ../src/FontDialog.cpp:123 msgid "Expanded" msgstr "Roztažené" #: ../src/FontDialog.cpp:124 msgid "Extra expanded" msgstr "Extra roztažené" #: ../src/FontDialog.cpp:125 msgid "Ultra expanded" msgstr "Ultra roztažené" #. Pitch #: ../src/FontDialog.cpp:129 msgid "Pitch:" msgstr "Rozteč:" #: ../src/FontDialog.cpp:133 msgid "Fixed" msgstr "Fixní" #: ../src/FontDialog.cpp:134 msgid "Variable" msgstr "Variabilní" #: ../src/FontDialog.cpp:139 msgid "Scalable:" msgstr "S měřítkem:" #: ../src/FontDialog.cpp:143 msgid "All Fonts:" msgstr "Všechny fonty:" #: ../src/FontDialog.cpp:147 msgid "Preview:" msgstr "Náhled:" #. Space before tab is used to set the correct button height #: ../src/MessageBox.cpp:82 ../src/XFileExplorer.cpp:681 msgid "Launch Xfe as root" msgstr "Spustit Xfe jako root" #: ../src/MessageBox.cpp:96 ../src/MessageBox.cpp:104 ../src/MessageBox.cpp:124 msgid "&No" msgstr "&Ne" #: ../src/MessageBox.cpp:97 ../src/MessageBox.cpp:103 ../src/MessageBox.cpp:123 #: ../src/OverwriteBox.cpp:51 ../src/OverwriteBox.cpp:59 #: ../src/OverwriteBox.cpp:101 ../src/OverwriteBox.cpp:109 msgid "&Yes" msgstr "&Ano" #: ../src/MessageBox.cpp:110 ../src/MessageBox.cpp:116 #: ../src/XFileExplorer.cpp:869 ../src/XFilePackage.cpp:146 #: ../src/XFileImage.cpp:649 ../src/WriteWindow.cpp:788 msgid "&Quit" msgstr "&Ukončit" #: ../src/MessageBox.cpp:117 ../src/WriteWindow.cpp:753 msgid "&Save" msgstr "&Uložit" #: ../src/MessageBox.cpp:125 ../src/OverwriteBox.cpp:52 #: ../src/OverwriteBox.cpp:102 msgid "Yes for &All" msgstr "Ano pro vš&e" #: ../src/MessageBox.cpp:156 ../src/XFileExplorer.cpp:3818 msgid "Enter the user password:" msgstr "Vložte uživatelské heslo:" #: ../src/MessageBox.cpp:161 ../src/XFileExplorer.cpp:3823 msgid "Enter the root password:" msgstr "Vložte heslo roota:" #: ../src/MessageBox.cpp:186 ../src/XFileExplorer.cpp:3860 msgid "An error has occurred!" msgstr "Nastala chyba !" #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2487 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2506 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Name: " msgstr "Jméno: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/foxhacks.cpp:199 #: ../src/foxhacks.cpp:205 msgid "Size in root: " msgstr "Velikost v kořeni: " #: ../src/IconList.cpp:2481 ../src/IconList.cpp:2489 ../src/IconList.cpp:2500 #: ../src/IconList.cpp:2508 ../src/foxhacks.cpp:199 ../src/foxhacks.cpp:205 msgid "Type: " msgstr "Typ: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2490 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2509 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Modified date: " msgstr "Datum úpravy: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "User: " msgstr "Uživatel: " #: ../src/IconList.cpp:2482 ../src/IconList.cpp:2492 ../src/IconList.cpp:2501 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:200 ../src/foxhacks.cpp:206 msgid "Group: " msgstr "Skupina: " #: ../src/IconList.cpp:2483 ../src/IconList.cpp:2492 ../src/IconList.cpp:2502 #: ../src/IconList.cpp:2511 ../src/foxhacks.cpp:201 ../src/foxhacks.cpp:207 msgid "Permissions: " msgstr "Práva: " #: ../src/IconList.cpp:2488 ../src/IconList.cpp:2507 msgid "Original path: " msgstr "Původní cesta: " #: ../src/IconList.cpp:2491 ../src/IconList.cpp:2510 ../src/foxhacks.cpp:206 msgid "Deletion date: " msgstr "Datum smazání: " #: ../src/IconList.cpp:2500 ../src/IconList.cpp:2508 msgid "Size: " msgstr "Velikost: " #: ../src/FileList.cpp:149 msgid "Size" msgstr "Velikost" #: ../src/FileList.cpp:150 msgid "Type" msgstr "Typ" #: ../src/FileList.cpp:151 msgid "Extension" msgstr "Přípona" #: ../src/FileList.cpp:152 msgid "Modified date" msgstr "Datum úpravy" #: ../src/FileList.cpp:155 msgid "Permissions" msgstr "Práva" #: ../src/FileList.cpp:4460 ../src/FileList.cpp:5196 ../src/XFileImage.cpp:1393 #: ../src/XFileImage.cpp:2021 ../src/XFileImage.cpp:2075 #: ../src/XFileImage.cpp:2166 msgid "Unable to load image" msgstr "Nemohu načíst obrázek" #: ../src/FileList.cpp:4651 ../src/XFileExplorer.cpp:1018 #: ../src/XFileExplorer.cpp:1048 msgid "Original path" msgstr "Původní cesta" #: ../src/FileList.cpp:4652 ../src/FilePanel.cpp:4406 ../src/FilePanel.cpp:4449 #: ../src/XFileExplorer.cpp:1017 ../src/XFileExplorer.cpp:1047 msgid "Deletion date" msgstr "Datum smazání" #: ../src/FilePanel.cpp:241 ../src/FilePanel.cpp:4269 msgid "Filter" msgstr "Filtr" #: ../src/FilePanel.cpp:245 ../src/SearchPanel.cpp:238 msgid "Status" msgstr "Stav" #: ../src/FilePanel.cpp:953 ../src/SearchPanel.cpp:527 #, c-format msgid "File %s is an executable text file, what do you want to do?" msgstr "Soubor %s je spustitelný, co chcete provést?" #: ../src/FilePanel.cpp:954 ../src/SearchPanel.cpp:528 msgid "Confirm Execute" msgstr "Potvrzení smazání" #. Make and show command window #. The CommandWindow object will delete itself when closed! #. Make and show command window #: ../src/FilePanel.cpp:992 ../src/SearchPanel.cpp:566 #: ../src/XFileExplorer.cpp:3727 msgid "Command log" msgstr "Záznam příkazů" #: ../src/FilePanel.cpp:1721 #, fuzzy msgid "" "The / character is not allowed in file or folder names, operation cancelled" msgstr "Jméno adresáře je prázdné, operace zrušena" #: ../src/FilePanel.cpp:1765 ../src/SearchPanel.cpp:3670 msgid "To folder:" msgstr "Do adresáře:" #: ../src/FilePanel.cpp:2256 ../src/SearchPanel.cpp:2797 #, c-format msgid "Can't write to trash location %s: Permission denied" msgstr "Nemohu zapisovat do koše %s: Nedostatečná práva" #: ../src/FilePanel.cpp:2297 ../src/SearchPanel.cpp:2827 #, c-format msgid "Move file %s to trash can?" msgstr "Přesunout soubor %s do koše?" #: ../src/FilePanel.cpp:2302 ../src/SearchPanel.cpp:2832 #, c-format msgid "Move %s selected items to trash can?" msgstr "Přesunout %s vybraných položek do koše?" #: ../src/FilePanel.cpp:2360 ../src/SearchPanel.cpp:2885 #, c-format msgid "File %s is write-protected, move it anyway to trash can?" msgstr "Soubor %s je chráněn proti zápisu, přesto přesunout do koše?" #: ../src/FilePanel.cpp:2464 ../src/SearchPanel.cpp:2981 msgid "Move to trash file operation cancelled!" msgstr "Přesun souboru do koše zrušen!" #: ../src/FilePanel.cpp:2605 #, c-format msgid "Restore file %s to its original location %s ?" msgstr "Obnovit soubor %s do jeho původního umístění %s ?" #: ../src/FilePanel.cpp:2610 #, c-format msgid "Restore %s selected items to their original locations?" msgstr "Obnovit %s vybrané položky na jejich původním místě?" #: ../src/FilePanel.cpp:2653 ../src/FilePanel.cpp:3580 #: ../src/FilePanel.cpp:5092 #, c-format msgid "Can't create folder %s: %s" msgstr "Nemohu vytvořit adresář %s: %s" #: ../src/FilePanel.cpp:2767 ../src/SearchPanel.cpp:3038 #, c-format msgid "Definitively delete file %s ?" msgstr "Definitivně smazat soubor %s ?" #: ../src/FilePanel.cpp:2772 ../src/SearchPanel.cpp:3043 #, c-format msgid "Definitively delete %s selected items?" msgstr "Definitivně smazat %s vybrané položky? " #: ../src/FilePanel.cpp:2893 ../src/SearchPanel.cpp:3143 #, c-format msgid "File %s is write-protected, delete it anyway?" msgstr "Soubor %s je chráněn proti zápisu, přesto smazat?" #: ../src/FilePanel.cpp:2978 ../src/SearchPanel.cpp:3221 msgid "Delete file operation cancelled!" msgstr "Smazání souboru zrušeno!" #: ../src/FilePanel.cpp:3371 ../src/Preferences.cpp:984 #: ../src/SearchPanel.cpp:1594 msgid "Compare" msgstr "Porovnat" #: ../src/FilePanel.cpp:3371 ../src/SearchPanel.cpp:1594 msgid "With:" msgstr "S:" #: ../src/FilePanel.cpp:3421 ../src/SearchPanel.cpp:1644 #, c-format msgid "" "Program %s not found. Please define a file comparator program in the " "Preferences dialog!" msgstr "" "Program %s nenalezen. Prosím definujte program pro porovnávání souborů v " "dialogu Nastavení!" #: ../src/FilePanel.cpp:3633 msgid "Create new file:" msgstr "Vytvořit nový soubor:" #: ../src/FilePanel.cpp:3669 #, c-format msgid "Can't create file %s: %s" msgstr "Nemohu vytvořit soubor %s: %s" #: ../src/FilePanel.cpp:3673 #, c-format msgid "Can't create file %s" msgstr "Nemohu vytvořit soubor %s" #: ../src/FilePanel.cpp:3688 #, c-format msgid "Can't set permissions in %s: %s" msgstr "Nemohu nastavit práva v %s: %s" #: ../src/FilePanel.cpp:3692 #, c-format msgid "Can't set permissions in %s" msgstr "Nemohu nastavit práva v %s" #: ../src/FilePanel.cpp:3740 msgid "Create new symbolic link:" msgstr "Vytvořit nový symbolický odkaz:" #: ../src/FilePanel.cpp:3740 msgid "New Symlink" msgstr "Nový odkaz" #. Select target #: ../src/FilePanel.cpp:3764 msgid "Select the symlink refered file or folder" msgstr "Vyberte odkaz souboru nebo adresáře" #: ../src/FilePanel.cpp:3774 #, c-format msgid "Symlink source %s does not exist" msgstr "Zdroj odkazu %s neexistuje" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open selected file(s) with:" msgstr "Otevřít vybraný soubor(y) pomocí:" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "Open With" msgstr "Otevřít pomocí" #: ../src/FilePanel.cpp:4102 ../src/SearchPanel.cpp:814 msgid "A&ssociate" msgstr "A&sociovat" #: ../src/FilePanel.cpp:4269 msgid "Show files:" msgstr "Zobrazit soubory:" #. Menu items #: ../src/FilePanel.cpp:4380 msgid "New& file..." msgstr "Nový& soubor..." #: ../src/FilePanel.cpp:4382 ../src/FilePanel.cpp:4425 #: ../src/XFileExplorer.cpp:793 msgid "New s&ymlink..." msgstr "Nový od&kaz..." #: ../src/FilePanel.cpp:4383 ../src/FilePanel.cpp:4426 msgid "Fi<er..." msgstr "Fi<r..." #: ../src/FilePanel.cpp:4392 ../src/FilePanel.cpp:4435 #: ../src/SearchPanel.cpp:2234 msgid "&Full file list" msgstr "Ú&plný seznam souborů" #: ../src/FilePanel.cpp:4405 ../src/FilePanel.cpp:4448 #: ../src/SearchPanel.cpp:2219 ../src/SearchPanel.cpp:2247 msgid "Per&missions" msgstr "&Práva" #: ../src/FilePanel.cpp:4423 msgid "Ne&w file..." msgstr "No&vý soubor..." #: ../src/FilePanel.cpp:4461 ../src/XFileExplorer.cpp:1107 msgid "&Mount" msgstr "&Připojit" #: ../src/FilePanel.cpp:4470 ../src/SearchPanel.cpp:2259 msgid "Open &with..." msgstr "Otevřít &s..." #: ../src/FilePanel.cpp:4471 ../src/SearchPanel.cpp:2260 #: ../src/XFileExplorer.cpp:813 msgid "&Open" msgstr "&Otevřít" #: ../src/FilePanel.cpp:4482 ../src/FilePanel.cpp:4486 msgid "Extr&act to folder " msgstr "Ro&zbalit do adresáře" #: ../src/FilePanel.cpp:4493 ../src/FilePanel.cpp:4500 #: ../src/FilePanel.cpp:4505 ../src/SearchPanel.cpp:2276 msgid "&Extract here" msgstr "&Rozbalit sem" #: ../src/FilePanel.cpp:4495 ../src/FilePanel.cpp:4507 #: ../src/SearchPanel.cpp:2271 ../src/SearchPanel.cpp:2281 msgid "E&xtract to..." msgstr "Roz&balit do..." #: ../src/FilePanel.cpp:4513 ../src/FilePanel.cpp:4521 #: ../src/SearchPanel.cpp:2287 ../src/SearchPanel.cpp:2293 #: ../src/XFileExplorer.cpp:959 ../src/XFileImage.cpp:257 #: ../src/WriteWindow.cpp:598 msgid "&View" msgstr "&Zobrazit" #: ../src/FilePanel.cpp:4514 msgid "Install/Up&grade" msgstr "Instalovat/Up&gradovat" #: ../src/FilePanel.cpp:4515 msgid "Un&install" msgstr "Od&instalovat" #: ../src/FilePanel.cpp:4522 ../src/ExecuteBox.cpp:41 #: ../src/SearchPanel.cpp:2294 ../src/XFileExplorer.cpp:921 #: ../src/WriteWindow.cpp:594 msgid "&Edit" msgstr "&Editovat" #: ../src/FilePanel.cpp:4525 ../src/SearchPanel.cpp:2297 msgid "Com&pare..." msgstr "Po&rovnat..." #: ../src/FilePanel.cpp:4529 ../src/SearchPanel.cpp:2301 msgid "Com&pare" msgstr "Po&rovnat" #: ../src/FilePanel.cpp:4540 msgid "Packages &query " msgstr "Dotaz na &balíky" #: ../src/FilePanel.cpp:4548 ../src/SearchPanel.cpp:2320 msgid "Scripts" msgstr "Skripty" #: ../src/FilePanel.cpp:4551 ../src/SearchPanel.cpp:2323 msgid "&Go to script folder" msgstr "&Jít do adresáře skriptů" #: ../src/FilePanel.cpp:4559 ../src/SearchPanel.cpp:2331 msgid "Copy &to..." msgstr "Kopírovat &do..." #: ../src/FilePanel.cpp:4562 ../src/SearchPanel.cpp:2334 msgid "M&ove to trash" msgstr "Pře&sunout do koše" #: ../src/FilePanel.cpp:4563 msgid "Restore &from trash" msgstr "O&bnovit z koše" #: ../src/FilePanel.cpp:4566 ../src/SearchPanel.cpp:2337 #, fuzzy msgid "Compare &sizes" msgstr "Porovnat" #: ../src/FilePanel.cpp:4567 ../src/SearchPanel.cpp:2338 #, fuzzy msgid "P&roperties" msgstr "Vlastnosti" #. File selection dialog #. File dialog #. File selection dialog #: ../src/FilePanel.cpp:4912 ../src/HistInputDialog.cpp:142 #: ../src/BrowseInputDialog.cpp:124 ../src/ArchInputDialog.cpp:117 #: ../src/SearchPanel.cpp:2582 msgid "Select a destination folder" msgstr "Vyberte cílový adresář" #: ../src/FilePanel.cpp:4915 ../src/HistInputDialog.cpp:162 #: ../src/BrowseInputDialog.cpp:140 ../src/ArchInputDialog.cpp:121 #: ../src/SearchPanel.cpp:2585 ../src/SearchWindow.cpp:1146 #: ../src/XFilePackage.cpp:240 ../src/XFileImage.cpp:103 #: ../src/WriteWindow.cpp:1523 msgid "All Files" msgstr "Všechny soubory" #. File object #: ../src/FilePanel.cpp:5375 msgid "Package Install/Upgrade" msgstr "Instalace/Upgrade balíku" #. File object #: ../src/FilePanel.cpp:5424 msgid "Package Uninstall" msgstr "Odinstalace balíku" #: ../src/FilePanel.cpp:5633 ../src/CommandWindow.cpp:180 #: ../src/SearchWindow.cpp:804 ../src/startupnotification.cpp:164 #: ../src/xfeutils.cpp:1671 #, c-format msgid "Error: Fork failed: %s\n" msgstr "Chyba: Selhal fork: %s\n" #: ../src/FilePanel.cpp:5680 ../src/SearchPanel.cpp:4097 #, c-format msgid "Can't create script folder %s: %s" msgstr "Nemohu vytvořit adresář skriptů %s : %s" #: ../src/FilePanel.cpp:5684 ../src/SearchPanel.cpp:4101 #, c-format msgid "Can't create script folder %s" msgstr "Nemohu vytvořit adresář skriptů %s" #: ../src/FilePanel.cpp:5907 ../src/SearchPanel.cpp:4324 #: ../src/XFilePackage.cpp:819 msgid "No compatible package manager (rpm or dpkg) found!" msgstr "Kompatibilní správce balíků (rpm nebo dpkg) nenalezen!" #: ../src/FilePanel.cpp:5969 ../src/SearchPanel.cpp:4386 #, c-format msgid "File %s does not belong to any package." msgstr "Soubor %s nepatří k žádnému balíku." #: ../src/FilePanel.cpp:5970 ../src/FilePanel.cpp:5975 #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 ../src/SearchPanel.cpp:4387 #: ../src/SearchPanel.cpp:4392 msgid "Information" msgstr "Informace" #: ../src/FilePanel.cpp:5974 ../src/SearchPanel.cpp:4391 #, c-format msgid "File %s belongs to the package: %s" msgstr "Soubor %s patří k balíku: %s" #. Make and show command window #: ../src/FilePanel.cpp:6069 ../src/SearchPanel.cpp:2778 #, fuzzy msgid "Sizes of Selected Items" msgstr " vybrané položky" #: ../src/FilePanel.cpp:6102 ../src/SearchPanel.cpp:4136 msgid "0 bytes" msgstr "0 bytů" #: ../src/FilePanel.cpp:6138 ../src/SearchPanel.cpp:4157 #, c-format msgid "%s in %s selected items" msgstr "%s v %s vybraných položkách" #: ../src/FilePanel.cpp:6147 ../src/SearchPanel.cpp:4166 msgid "1 item" msgstr "1 položka" #. Update item count #: ../src/FilePanel.cpp:6151 ../src/SearchPanel.cpp:4170 #: ../src/SearchWindow.cpp:907 ../src/SearchWindow.cpp:940 msgid " items" msgstr " položky" #: ../src/FilePanel.cpp:6170 ../src/SearchPanel.cpp:4189 #: ../src/SearchWindow.cpp:181 msgid "Link" msgstr "Odkaz" #: ../src/FilePanel.cpp:6201 #, c-format msgid " - Filter: %s" msgstr " - Filtr: %s" #: ../src/Bookmarks.cpp:91 msgid "Bookmarks limit number reached. The last bookmark will be deleted..." msgstr "Možný počet záložek je naplněn. Poslední bude smazána..." #: ../src/Bookmarks.cpp:137 msgid "Confirm Clear Bookmarks" msgstr "Potvrzení vyčistění záložek" #: ../src/Bookmarks.cpp:137 msgid "Do you really want to clear all your bookmarks?" msgstr "Opravdu chcete vyčistit záložky?" #: ../src/CommandWindow.cpp:53 ../src/CommandWindow.cpp:82 msgid "Cl&ose" msgstr "&Zavřít" #: ../src/CommandWindow.cpp:62 ../src/CommandWindow.cpp:91 msgid "" "Please wait...\n" "\n" msgstr "" #: ../src/CommandWindow.cpp:195 ../src/SearchWindow.cpp:824 #, c-format msgid "Can't duplicate pipes: %s" msgstr "Nemohu duplikovat roury: %s" #: ../src/CommandWindow.cpp:199 ../src/SearchWindow.cpp:828 msgid "Can't duplicate pipes" msgstr "Nemohu duplikovat roury" #: ../src/CommandWindow.cpp:290 msgid "" "\n" ">>>> COMMAND CANCELLED <<<<" msgstr "" "\n" ">>>> PŘÍKAZ ZRUŠEN <<<<" #: ../src/CommandWindow.cpp:294 msgid "" "\n" ">>>> END OF COMMAND <<<<" msgstr "" "\n" ">>>> KONEC PŘÍKAZU <<<<" #: ../src/HistInputDialog.cpp:81 ../src/BrowseInputDialog.cpp:69 #: ../src/ArchInputDialog.cpp:57 msgid "\tSelect destination..." msgstr "\tVybrat cíl..." #: ../src/HistInputDialog.cpp:146 ../src/BrowseInputDialog.cpp:128 msgid "Select a file" msgstr "Vyberte soubor" #: ../src/HistInputDialog.cpp:154 ../src/BrowseInputDialog.cpp:132 msgid "Select a file or a destination folder" msgstr "Vyberte adresář nebo adresář" #: ../src/ArchInputDialog.cpp:30 msgid "Add To Archive" msgstr "Přidat do archívu" #: ../src/ArchInputDialog.cpp:47 msgid "New archive name:" msgstr "Nové jméno archivu:" #: ../src/ArchInputDialog.cpp:61 msgid "Format:" msgstr "Formát:" #: ../src/ArchInputDialog.cpp:63 msgid "tar.gz\tArchive format is tar.gz" msgstr "tar.gz\tFormát archívu je tar.gz" #: ../src/ArchInputDialog.cpp:64 msgid "zip\tArchive format is zip" msgstr "zip\tFormát archívu je zip" #: ../src/ArchInputDialog.cpp:65 msgid "7z\tArchive format is 7z" msgstr "7z\tFormát archívu je 7z" #: ../src/ArchInputDialog.cpp:66 msgid "tar.bz2\tArchive format is tar.bz2" msgstr "tar.bz2\tFormát archívu je tar.bz2" #: ../src/ArchInputDialog.cpp:67 msgid "tar.xz\tArchive format is tar.xz" msgstr "tar.xz\tFormát archívu je tar.xz" #: ../src/ArchInputDialog.cpp:68 msgid "tar\tArchive format is tar" msgstr "tar\tFormát archívu je tar" #: ../src/ArchInputDialog.cpp:69 msgid "tar.Z\tArchive format is tar.Z" msgstr "tar.Z\tFormát archívu je tar.Z" #: ../src/ArchInputDialog.cpp:70 msgid "gz\tArchive format is gz" msgstr "gz\tFormát archívu je gz" #: ../src/ArchInputDialog.cpp:71 msgid "bz2\tArchive format is bz2" msgstr "bz2\tFormát archívu je bz2" #: ../src/ArchInputDialog.cpp:72 msgid "xz\tArchive format is xz" msgstr "xz\tFormát archívu je xz" #: ../src/ArchInputDialog.cpp:73 msgid "Z\tArchive format is Z" msgstr "Z\tFormát archívu je Z" #. Construct window #: ../src/Preferences.cpp:132 msgid "Preferences" msgstr "Nastavení" #: ../src/Preferences.cpp:134 msgid "Current Theme" msgstr "Aktuální téma" #: ../src/Preferences.cpp:180 msgid "Options" msgstr "Volby" #: ../src/Preferences.cpp:181 msgid "Use trash can for file deletion (safe delete)" msgstr "Používat koš pro mazání (bezpečné mazání)" #: ../src/Preferences.cpp:182 msgid "Include a command to bypass the trash can (permanent delete)" msgstr "Vkládat příkaz pro přeskočení koše (trvalé smazání)" #: ../src/Preferences.cpp:183 msgid "Auto save layout" msgstr "Automatické uložení rozvržení" #: ../src/Preferences.cpp:184 msgid "Save window position" msgstr "Ukládat pozici okna" #: ../src/Preferences.cpp:185 msgid "Single click folder open" msgstr "Kliknutí otevře adresář" #: ../src/Preferences.cpp:186 msgid "Single click file open" msgstr "Kliknutí otevře soubor" #: ../src/Preferences.cpp:187 msgid "Display tooltips in file and folder lists" msgstr "Zobrazit tipy v seznamu souborů a adresářů" #: ../src/Preferences.cpp:188 msgid "Relative resizing of file lists" msgstr "Poměrná změna velikost seznamu souborů" #: ../src/Preferences.cpp:189 msgid "Display a path linker above file lists" msgstr "Zobrazit cestu nad seznamem souborů" #: ../src/Preferences.cpp:191 msgid "Notify when applications start up" msgstr "Upozorňovat při startu aplikace" #: ../src/Preferences.cpp:195 msgid "" "Date format used in file and folder lists:\n" "(Type 'man strftime' in a terminal for help on the format)" msgstr "" "Formát data použitý pro seznam souborů a adresářů:\n" "(Napište v terminálu 'man strftime' pro nápovědu o formátu)" #: ../src/Preferences.cpp:200 msgid "&Modes" msgstr "&Módy" #: ../src/Preferences.cpp:207 msgid "Starting mode" msgstr "Mód spuštění" #: ../src/Preferences.cpp:208 msgid "Start in home folder" msgstr "Spustit v domovském adresáři" #: ../src/Preferences.cpp:209 msgid "Start in current folder" msgstr "Spustit v aktuálním adresáři" #: ../src/Preferences.cpp:210 msgid "Start in last visited folder" msgstr "Spustit v posledním navštíveném adresáři" #: ../src/Preferences.cpp:212 msgid "Scrolling mode" msgstr "Mód skrolování" #: ../src/Preferences.cpp:213 msgid "Smooth scrolling in file lists and text windows" msgstr "Hladké rolování v seznamu souborů a textových oknech" #: ../src/Preferences.cpp:215 msgid "Mouse scrolling speed:" msgstr "Rychlost točení kolečka myši:" #: ../src/Preferences.cpp:221 msgid "Root mode" msgstr "Root mód" #: ../src/Preferences.cpp:222 msgid "Allow root mode" msgstr "Povolit root mód" #: ../src/Preferences.cpp:223 msgid "Authentication using su (uses root password)" msgstr "Ověření pomocí su (používá heslo roota)" #: ../src/Preferences.cpp:224 msgid "Authentication using sudo (uses user password)" msgstr "Ověření pomocí sudo (používá uživatelské heslo)" #. Second tab - Dialogs #: ../src/Preferences.cpp:312 msgid "&Dialogs" msgstr "&Dialogy" #: ../src/Preferences.cpp:314 msgid "Confirmations" msgstr "Potvrzení" #: ../src/Preferences.cpp:315 msgid "Confirm copy/move/rename/symlink" msgstr "Potvrzení kopírování/přesunu/přejmenování/odkazu" #: ../src/Preferences.cpp:316 msgid "Confirm drag and drop" msgstr "Potvrzení drag && drop" #: ../src/Preferences.cpp:317 msgid "Confirm move to trash/restore from trash" msgstr "Potvrzení přesunutí do koše/obnovení z koše" #: ../src/Preferences.cpp:318 msgid "Confirm delete" msgstr "Potvrzení smazání" #: ../src/Preferences.cpp:319 msgid "Confirm delete non empty folders" msgstr "Potvrzení mazání neprázdných adresářů" #: ../src/Preferences.cpp:320 msgid "Confirm overwrite" msgstr "Potvrzení přepsání" #: ../src/Preferences.cpp:321 msgid "Confirm execute text files" msgstr "Potvrzení spuštění souborů" #: ../src/Preferences.cpp:322 #, fuzzy msgid "Confirm change properties" msgstr "Vlastnosti" #. Warning window #: ../src/Preferences.cpp:324 ../src/SearchWindow.cpp:480 msgid "Warnings" msgstr "Varování" #: ../src/Preferences.cpp:325 msgid "Warn when setting current folder in search window" msgstr "Varovat při nastavení aktuálního adresáře v okně hledání" #: ../src/Preferences.cpp:327 msgid "Warn when mount points are not responding" msgstr "Varovat, když připojené body neodpovídají" #: ../src/Preferences.cpp:328 #, fuzzy msgid "Display mount / unmount success messages" msgstr "Zobrazit okno při úspěšném připojení/odpojení" #: ../src/Preferences.cpp:330 msgid "Warn when date preservation failed" msgstr "Varovat pokud selže prezentace data" #: ../src/Preferences.cpp:331 msgid "Warn if running as root" msgstr "Varovat při spuštění pod rootem" #. Third tab - Programs #: ../src/Preferences.cpp:374 msgid "&Programs" msgstr "&Programy" #: ../src/Preferences.cpp:376 msgid "Default programs" msgstr "Přednastavené programy" #: ../src/Preferences.cpp:379 msgid "Text viewer:" msgstr "Prohlížeč textů:" #: ../src/Preferences.cpp:385 msgid "Text editor:" msgstr "Textový editor:" #: ../src/Preferences.cpp:391 #, fuzzy msgid "File comparator:" msgstr "Porovnávání souboru:" #: ../src/Preferences.cpp:397 msgid "Image editor:" msgstr "Editor obrázků:" #: ../src/Preferences.cpp:403 msgid "Image viewer:" msgstr "Prohlížeč obrázků:" #: ../src/Preferences.cpp:409 msgid "Archiver:" msgstr "Program pro archívy:" #: ../src/Preferences.cpp:415 msgid "Pdf viewer:" msgstr "Prohlížeč pdf:" #: ../src/Preferences.cpp:421 msgid "Audio player:" msgstr "Audio přehrávač:" #: ../src/Preferences.cpp:427 msgid "Video player:" msgstr "Video přehrávač:" #: ../src/Preferences.cpp:433 msgid "Terminal:" msgstr "Terminál:" #: ../src/Preferences.cpp:439 msgid "Volume management" msgstr "" #: ../src/Preferences.cpp:442 #, fuzzy msgid "Mount:" msgstr "Připojit" #: ../src/Preferences.cpp:448 #, fuzzy msgid "Unmount:" msgstr "Odpojit" #. Fourth tab - Visual #: ../src/Preferences.cpp:456 msgid "&Themes" msgstr "&Témata" #: ../src/Preferences.cpp:458 msgid "Color theme" msgstr "Barevné téma" #: ../src/Preferences.cpp:468 msgid "Custom colors" msgstr "Uživatelské barvy" #: ../src/Preferences.cpp:473 msgid "Double click to customize the color" msgstr "Dvoj-klik pro úpravy barvy" #: ../src/Preferences.cpp:475 msgid "Base color" msgstr "Základní barva" #: ../src/Preferences.cpp:476 msgid "Border color" msgstr "Barva okraje" #: ../src/Preferences.cpp:477 msgid "Background color" msgstr "Barva pozadí" #: ../src/Preferences.cpp:478 msgid "Text color" msgstr "Barva textu" #: ../src/Preferences.cpp:479 msgid "Selection background color" msgstr "Barva pozadí vybraného textu" #: ../src/Preferences.cpp:480 msgid "Selection text color" msgstr "Barva vybraného textu" #: ../src/Preferences.cpp:481 msgid "File list background color" msgstr "Barva pozadí seznamu souborů" #: ../src/Preferences.cpp:482 msgid "File list text color" msgstr "Barva textu seznamu souborů" #: ../src/Preferences.cpp:483 msgid "File list highlight color" msgstr "Barva zvýraznění seznamu souborů" #: ../src/Preferences.cpp:484 msgid "Progress bar color" msgstr "Barva ukazatele průběhu" #: ../src/Preferences.cpp:485 msgid "Attention color" msgstr "Barva upozornění" #: ../src/Preferences.cpp:486 msgid "Scrollbar color" msgstr "Barva posuvníku" #. Controls theme #: ../src/Preferences.cpp:490 msgid "Controls" msgstr "Ovládání" #: ../src/Preferences.cpp:492 msgid "Standard (classic controls)" msgstr "Standardní (klasické ovládací prvky)" #: ../src/Preferences.cpp:493 msgid "Clearlooks (modern looking controls)" msgstr "Clearlooks (moderní vzhled ovládacích prvků)" #. Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH #: ../src/Preferences.cpp:496 msgid "Icon theme path" msgstr "Cesta k ikonám pro témata" #: ../src/Preferences.cpp:499 msgid "\tSelect path..." msgstr "\tVybrat cestu..." #. Fifth tab - Fonts #: ../src/Preferences.cpp:504 msgid "&Fonts" msgstr "&Fonty" #: ../src/Preferences.cpp:506 msgid "Fonts" msgstr "Fonty" #: ../src/Preferences.cpp:509 msgid "Normal font:" msgstr "Normální font:" #: ../src/Preferences.cpp:511 ../src/Preferences.cpp:517 msgid " Select..." msgstr " Vybrat..." #: ../src/Preferences.cpp:515 msgid "Text font:" msgstr "Font textů:" #. Sixth tab - Key bindings #: ../src/Preferences.cpp:522 msgid "&Key Bindings" msgstr "Přiřazení &kláves" #: ../src/Preferences.cpp:524 ../src/Keybindings.cpp:63 msgid "Key Bindings" msgstr "Přiřazení kláves" #: ../src/Preferences.cpp:527 msgid "Modify key bindings..." msgstr "Upravit přiřazení kláves..." #. ,0,0,0,0,20,20); #: ../src/Preferences.cpp:528 msgid "Restore default key bindings..." msgstr "Obnovit výchozí přiřazení kláves..." #: ../src/Preferences.cpp:608 msgid "Select an icon theme folder or an icon file" msgstr "Vyberte adresář s tématem ikon nebo soubor s ikonami" #: ../src/Preferences.cpp:697 msgid "Change Normal Font" msgstr "Změnit normální font" #: ../src/Preferences.cpp:721 msgid "Change Text Font" msgstr "Změnit font textů" #: ../src/Preferences.cpp:769 ../src/XFileExplorer.cpp:626 msgid "Create new file" msgstr "Vytvořit nový soubor" #: ../src/Preferences.cpp:773 ../src/XFileExplorer.cpp:629 msgid "Create new folder" msgstr "Vytvořit nový adresář" #: ../src/Preferences.cpp:777 msgid "Copy to clipboard" msgstr "Kopírovat do schránky" #: ../src/Preferences.cpp:781 msgid "Cut to clipboard" msgstr "Vyjmout do schránky" #: ../src/Preferences.cpp:785 ../src/XFileExplorer.cpp:661 msgid "Paste from clipboard" msgstr "Vložit ze schránky" #: ../src/Preferences.cpp:801 msgid "Open file" msgstr "Otevřít soubor" #: ../src/Preferences.cpp:805 msgid "Quit application" msgstr "Ukončit aplikaci" #: ../src/Preferences.cpp:809 msgid "Select all" msgstr "Vybrat vše" #: ../src/Preferences.cpp:813 msgid "Deselect all" msgstr "Od vybrat vše" #: ../src/Preferences.cpp:817 msgid "Invert selection" msgstr "Obrácený výběr" #: ../src/Preferences.cpp:821 msgid "Display help" msgstr "Zobrazit nápovědu" #: ../src/Preferences.cpp:825 msgid "Toggle display hidden files" msgstr "Přepnout zobrazení skrytých souborů" #: ../src/Preferences.cpp:829 msgid "Toggle display thumbnails" msgstr "Přepnout zobrazení náhledů" #: ../src/Preferences.cpp:837 msgid "Close window" msgstr "Zavřít okno" #: ../src/Preferences.cpp:841 msgid "Print file" msgstr "Tisknout soubor" #: ../src/Preferences.cpp:845 ../src/XFileExplorer.cpp:690 #: ../src/WriteWindow.cpp:717 ../src/WriteWindow.cpp:2073 msgid "Search" msgstr "Najít" #: ../src/Preferences.cpp:849 msgid "Search previous" msgstr "Najít předchozí" #: ../src/Preferences.cpp:853 msgid "Search next" msgstr "Najít další" #: ../src/Preferences.cpp:857 ../src/XFileExplorer.cpp:737 #: ../src/XFileImage.cpp:383 msgid "Vertical panels" msgstr "Vertikální panely" #: ../src/Preferences.cpp:861 ../src/XFileExplorer.cpp:743 #: ../src/XFileImage.cpp:389 msgid "Horizontal panels" msgstr "Horizontální panely" #: ../src/Preferences.cpp:871 ../src/XFileExplorer.cpp:621 msgid "Refresh panels" msgstr "Obnovit panely" #: ../src/Preferences.cpp:875 msgid "Create new symbolic link" msgstr "Vytvořit nový symbolický odkaz" #: ../src/Preferences.cpp:879 msgid "File properties" msgstr "Vlastnosti" #: ../src/Preferences.cpp:883 msgid "Move files to trash" msgstr "Přesunout soubory do koše" #: ../src/Preferences.cpp:887 msgid "Restore files from trash" msgstr "Obnovit soubory z koše" #: ../src/Preferences.cpp:891 msgid "Delete files" msgstr "Smazat soubory" #: ../src/Preferences.cpp:895 msgid "Create new window" msgstr "Nové okno" #: ../src/Preferences.cpp:899 msgid "Create new root window" msgstr "Nové root okno" #: ../src/Preferences.cpp:903 ../src/XFileExplorer.cpp:684 #: ../src/XFileExplorer.cpp:3707 msgid "Execute command" msgstr "Spustit příkaz" #: ../src/Preferences.cpp:907 ../src/XFileExplorer.cpp:687 msgid "Launch terminal" msgstr "Spustit terminál" #: ../src/Preferences.cpp:912 msgid "Mount file system (Linux only)" msgstr "Připojit souborový systém (jen pro Linux)" #: ../src/Preferences.cpp:916 msgid "Unmount file system (Linux only)" msgstr "Odpojit souborový systém (jen pro Linux)" #: ../src/Preferences.cpp:920 msgid "One panel mode" msgstr "Jeden panel" #: ../src/Preferences.cpp:924 msgid "Tree and panel mode" msgstr "Strom a panel" #: ../src/Preferences.cpp:928 msgid "Two panels mode" msgstr "Dva panely" #: ../src/Preferences.cpp:932 msgid "Tree and two panels mode" msgstr "Strom a dva panely" #: ../src/Preferences.cpp:936 msgid "Clear location bar" msgstr "Vyčistit lokační řádek" #: ../src/Preferences.cpp:940 msgid "Rename file" msgstr "Přejmenovat soubor" #: ../src/Preferences.cpp:944 msgid "Copy files to location" msgstr "Kopírovat soubor" #: ../src/Preferences.cpp:948 msgid "Move files to location" msgstr "Přesunout soubor" #: ../src/Preferences.cpp:952 msgid "Symlink files to location" msgstr "Vytvořit symbolický odkaz na soubor" #: ../src/Preferences.cpp:956 msgid "Add bookmark" msgstr "Přidat záložku" #: ../src/Preferences.cpp:960 msgid "Synchronize panels" msgstr "Synchronizovat panely" #: ../src/Preferences.cpp:964 msgid "Switch panels" msgstr "Přepnout panely" #: ../src/Preferences.cpp:968 msgid "Go to trash can" msgstr "Jít ke koši" #: ../src/Preferences.cpp:972 ../src/XFileExplorer.cpp:3941 msgid "Empty trash can" msgstr "Prázdný koš může" #: ../src/Preferences.cpp:976 msgid "View" msgstr "Zobrazit" #: ../src/Preferences.cpp:980 msgid "Edit" msgstr "Upravit" #: ../src/Preferences.cpp:988 msgid "Toggle display hidden folders" msgstr "Přepnout zobrazení skrytých adresářů" #: ../src/Preferences.cpp:992 msgid "Filter files" msgstr "Filtr souborů" #: ../src/Preferences.cpp:1003 msgid "Zoom image to 100%" msgstr "Zobrazit na 100%" #: ../src/Preferences.cpp:1007 msgid "Zoom to fit window" msgstr "Přizpůsobit oknu" #: ../src/Preferences.cpp:1011 msgid "Rotate image to left" msgstr "Otočit obrázek doleva" #: ../src/Preferences.cpp:1015 msgid "Rotate image to right" msgstr "Otočit obrázek doprava" #: ../src/Preferences.cpp:1019 msgid "Mirror image horizontally" msgstr "Zrcadlit obrázek horizontálně" #: ../src/Preferences.cpp:1023 msgid "Mirror image vertically" msgstr "Zrcadlit obrázek vertikálně" #: ../src/Preferences.cpp:1033 msgid "Create new document" msgstr "Vytvořit nový dokument" #: ../src/Preferences.cpp:1037 msgid "Save changes to file" msgstr "Uložit změny" #: ../src/Preferences.cpp:1041 ../src/WriteWindow.cpp:700 msgid "Goto line" msgstr "Jít na řádek" #: ../src/Preferences.cpp:1045 msgid "Undo last change" msgstr "Vrátit poslední změnu" #: ../src/Preferences.cpp:1049 msgid "Redo last change" msgstr "Obnovit poslední změnu" #: ../src/Preferences.cpp:1053 msgid "Replace string" msgstr "Nahradit řetězec" #: ../src/Preferences.cpp:1057 msgid "Toggle word wrap mode" msgstr "Přepínání módu dělení slov" #: ../src/Preferences.cpp:1061 msgid "Toggle line numbers mode" msgstr "Přepínání módu číslování řádků" #: ../src/Preferences.cpp:1065 msgid "Toggle lower case mode" msgstr "Přepínání módu malá písmena" #: ../src/Preferences.cpp:1069 msgid "Toggle upper case mode" msgstr "Přepínání módu velká písmena" #. Confirmation message #: ../src/Preferences.cpp:1088 msgid "" "Do you really want to restore the default key bindings?\n" "\n" "All your customizations will be lost!" msgstr "" "Určitě chcete obnovit výchozí přiřazení kláves?\n" "\n" "Všechny úpravy budou ztraceny!" #: ../src/Preferences.cpp:1089 msgid "Restore default key bindings" msgstr "Obnovení výchozího přiřazení kláves" #. Ask the user if he wants to restart Xfe #: ../src/Preferences.cpp:1187 ../src/Preferences.cpp:1823 #: ../src/Preferences.cpp:1830 ../src/Preferences.cpp:1838 #: ../src/Preferences.cpp:1846 ../src/Preferences.cpp:1854 #: ../src/Preferences.cpp:1862 ../src/XFileImage.cpp:1426 #: ../src/Keybindings.cpp:266 msgid "Restart" msgstr "Restart" #: ../src/Preferences.cpp:1187 ../src/Keybindings.cpp:266 msgid "" "Key bindings will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Přiřazení kláves bude změněno po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1823 msgid "" "Scrolling mode will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Mód rolování budou změněn po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1830 msgid "" "Theme will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Téma bude změněno po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1838 msgid "" "Path linker will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Zobrazení cesty bude změněno po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1846 msgid "" "Button style will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Styl tlačítek bude změněn po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1854 msgid "" "Normal font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Normální font bude změněn po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/Preferences.cpp:1862 msgid "" "Text font will be changed after restart.\n" "Restart X File Explorer now?" msgstr "" "Font textů bude změněn po restartu.\n" "Restartovat X File Explorer teď?" #: ../src/OverwriteBox.cpp:49 ../src/OverwriteBox.cpp:99 msgid "&Skip" msgstr "&Přeskočit" #: ../src/OverwriteBox.cpp:50 ../src/OverwriteBox.cpp:100 msgid "Skip A&ll" msgstr "Přeskočit &vše" #: ../src/OverwriteBox.cpp:82 msgid "Source size:" msgstr "Velikost zdroje:" #: ../src/OverwriteBox.cpp:84 ../src/OverwriteBox.cpp:90 msgid "- Modified date:" msgstr "- datum úpravy: " #: ../src/OverwriteBox.cpp:88 msgid "Target size:" msgstr "Velikost cíle:" #: ../src/ExecuteBox.cpp:39 msgid "E&xecute" msgstr "S&pusit" #: ../src/ExecuteBox.cpp:40 msgid "Execute in Console &Mode" msgstr "Spustit v konzolovém &módu" #. Close #: ../src/TextWindow.cpp:28 ../src/TextWindow.cpp:47 #: ../src/XFilePackage.cpp:176 ../src/WriteWindow.cpp:761 msgid "&Close" msgstr "&Zavřít" #: ../src/SearchPanel.cpp:163 msgid "Refresh panel" msgstr "Obnovit panel" #: ../src/SearchPanel.cpp:175 ../src/XFileExplorer.cpp:637 msgid "Copy selected files to clipboard" msgstr "Zkopíruje vybrané soubory do schránky" #: ../src/SearchPanel.cpp:180 ../src/XFileExplorer.cpp:651 msgid "Cut selected files to clipboard" msgstr "Vyjme vybrané soubory do schránky" #: ../src/SearchPanel.cpp:185 ../src/XFileExplorer.cpp:664 msgid "Show properties of selected files" msgstr "Zobrazí vlastnosti vybraných souborů" #: ../src/SearchPanel.cpp:196 ../src/XFileExplorer.cpp:669 msgid "Move selected files to trash can" msgstr "Přesune vybrané soubory do koše" #: ../src/SearchPanel.cpp:201 ../src/XFileExplorer.cpp:675 msgid "Delete selected files" msgstr "Smaže vybrané soubory" #: ../src/SearchPanel.cpp:385 ../src/SearchPanel.cpp:685 #: ../src/SearchPanel.cpp:1703 #, c-format msgid "Current folder has been set to '%s'" msgstr "Aktuální adresář nemůže být nastaven na '%s'" #: ../src/SearchPanel.cpp:2206 ../src/XFileExplorer.cpp:1003 #: ../src/XFileExplorer.cpp:1033 msgid "F&ull file list" msgstr "Ú&plný seznam souborů" #: ../src/SearchPanel.cpp:2221 ../src/XFileExplorer.cpp:1020 #: ../src/XFileExplorer.cpp:1050 msgid "I&gnore case" msgstr "I&gnorovat velikost písmen" #: ../src/SearchPanel.cpp:2238 ../src/XFileImage.cpp:741 msgid "&Autosize" msgstr "&Automatická velikost" #: ../src/SearchPanel.cpp:2312 msgid "&Packages query " msgstr "Dotaz na &balíky" #: ../src/SearchPanel.cpp:2326 msgid "&Go to parent folder" msgstr "&Jít do nadřazeného adresáře" #: ../src/SearchPanel.cpp:3549 #, c-format msgid "Copy %s items" msgstr "Kopírovat %s položek" #: ../src/SearchPanel.cpp:3565 #, c-format msgid "Move %s items" msgstr "Přesunout %s položek" #: ../src/SearchPanel.cpp:3581 #, c-format msgid "Symlink %s items" msgstr "Symbolické odkazy %s položek" #: ../src/SearchPanel.cpp:3625 msgid "" "Character '/' is not allowed in file or folder names, operation cancelled" msgstr "" #: ../src/SearchPanel.cpp:3698 msgid "You must enter an absolute path!" msgstr "Musíte zadat absolutní cestu!" #: ../src/SearchPanel.cpp:4122 msgid "0 items" msgstr "Žádné položky" #: ../src/SearchWindow.cpp:69 msgid "Find files:" msgstr "Najít soubory:" #: ../src/SearchWindow.cpp:72 msgid "Ignore case\tIgnore file name case" msgstr "Ignorovat velikost\tIgnoruje velikost písmen v názvu souboru" #. Hidden files #: ../src/SearchWindow.cpp:77 msgid "Hidden files\tShow hidden files and folders" msgstr "Skryté soubory\tZobrazí skryté soubory a adresáře." #: ../src/SearchWindow.cpp:82 msgid "In folder:" msgstr "V adresáři:" #: ../src/SearchWindow.cpp:84 msgid "\tIn folder..." msgstr "\tV adresáři..." #: ../src/SearchWindow.cpp:87 msgid "Text contains:" msgstr "Obsahuje text:" #: ../src/SearchWindow.cpp:90 msgid "Ignore case\tIgnore text case" msgstr "Ignorovat velikost\tIgnoruje velikost písmen v textu" #. Search options #: ../src/SearchWindow.cpp:95 msgid "More options" msgstr "Další volby" #: ../src/SearchWindow.cpp:96 msgid "Search options" msgstr "Volby hledání" #: ../src/SearchWindow.cpp:97 msgid "Reset\tReset search options" msgstr "Reset\tReset voleb hledání" #: ../src/SearchWindow.cpp:113 msgid "Min size:" msgstr "Minimální velikost:" #: ../src/SearchWindow.cpp:115 msgid "Filter by minimum file size (KBytes)" msgstr "Filtr pro minimální velikost souboru (KByty)" #: ../src/SearchWindow.cpp:116 ../src/SearchWindow.cpp:121 #: ../src/xfeutils.cpp:933 msgid "KB" msgstr "KB" #: ../src/SearchWindow.cpp:118 msgid "Max size:" msgstr "Maximální velikost:" #: ../src/SearchWindow.cpp:120 msgid "Filter by maximum file size (KBytes)" msgstr "Filtr pro maximální velikost souboru (KByty)" #. Modification date #: ../src/SearchWindow.cpp:124 msgid "Last modified before:" msgstr "Poslední modifikace před:" #: ../src/SearchWindow.cpp:126 msgid "Filter by maximum modification date (days)" msgstr "Filter pro maximální datum úpravy (dny)" #: ../src/SearchWindow.cpp:127 ../src/SearchWindow.cpp:132 msgid "Days" msgstr "Dny" #: ../src/SearchWindow.cpp:129 msgid "Last modified after:" msgstr "Poslední modifikace po:" #: ../src/SearchWindow.cpp:131 msgid "Filter by minimum modification date (days)" msgstr "Filtr pro minimální datum úpravy (dny)" #. User and group #: ../src/SearchWindow.cpp:135 msgid "User:" msgstr "Uživatel: " #: ../src/SearchWindow.cpp:138 msgid "\tFilter by user name" msgstr "\tFiltrování podle jména uživatele" #: ../src/SearchWindow.cpp:140 msgid "Group:" msgstr "Skupina: " #: ../src/SearchWindow.cpp:143 msgid "\tFilter by group name" msgstr "\tFiltrování podle jména skupiny" #. File type #: ../src/SearchWindow.cpp:176 msgid "File type:" msgstr "Typ souboru:" #: ../src/SearchWindow.cpp:179 msgid "File" msgstr "Soubor" #: ../src/SearchWindow.cpp:183 msgid "Pipe" msgstr "Roura" #: ../src/SearchWindow.cpp:185 msgid "\tFilter by file type" msgstr "\tFiltrování podle typu souboru" #. Permissions (in octal) #: ../src/SearchWindow.cpp:188 msgid "Permissions:" msgstr "Práva: " #: ../src/SearchWindow.cpp:192 msgid "\tFilter by permissions (octal)" msgstr "\tFiltrování podle práv" #. Empty files #: ../src/SearchWindow.cpp:195 msgid "Empty files:" msgstr "Prázdné soubory:" #: ../src/SearchWindow.cpp:196 msgid "\tEmpty files only" msgstr "\tJen prázdné soubory" #: ../src/SearchWindow.cpp:200 msgid "Follow symbolic links:" msgstr "Následovat symbolické odkazy:" #: ../src/SearchWindow.cpp:201 msgid "\tSearch while following symbolic links" msgstr "\tHledání s následováním symbolických odkazů" #: ../src/SearchWindow.cpp:205 msgid "Non recursive:" msgstr "Nerekurzivně" #: ../src/SearchWindow.cpp:206 msgid "\tDon't search folders recursively" msgstr "\tNeprohlédávat adresáře rekurzivně" #: ../src/SearchWindow.cpp:210 msgid "Ignore other file systems:" msgstr "Ignorovat jiné souborové systémy:" #: ../src/SearchWindow.cpp:211 msgid "\tDon't search in other file systems" msgstr "\tNeprohledávat ostatní souborové systémy" #. Start #: ../src/SearchWindow.cpp:221 msgid "&Start\tStart the search (F3)" msgstr "&Start\tSpustí hledání (F3)" #. Stop #: ../src/SearchWindow.cpp:224 msgid "&Stop\tStop the search (Esc)" msgstr "Sto&p\tZastaví hledání (Esc)" #: ../src/SearchWindow.cpp:777 msgid ">>>> Search started - Please wait... <<<<" msgstr ">>>> Hledání spuštěno - Čekejte... <<<<" #: ../src/SearchWindow.cpp:933 msgid ">>>> Search results <<<<" msgstr ">>>> Výsledek hledání <<<<" #: ../src/SearchWindow.cpp:951 msgid "Input / Output error" msgstr "I/O chyba" #: ../src/SearchWindow.cpp:968 msgid ">>>> Search stopped... <<<<" msgstr ">>>> Hledání zastaveno... <<<<" #: ../src/SearchWindow.cpp:1142 msgid "Select path" msgstr "Vybrat cestu" #: ../src/XFileExplorer.cpp:632 msgid "Create new symlink" msgstr "Vytvoří nový symbolický odkaz" #: ../src/XFileExplorer.cpp:672 msgid "Restore selected files from trash can" msgstr "Obnoví vybrané soubory z koše" #: ../src/XFileExplorer.cpp:678 msgid "Launch Xfe" msgstr "Spustit Xfe" #: ../src/XFileExplorer.cpp:690 msgid "Search files and folders..." msgstr "Hledání souborů a adresářů..." #: ../src/XFileExplorer.cpp:697 msgid "Mount (Linux only)" msgstr "Připojit (Jen pro Linux)" #: ../src/XFileExplorer.cpp:702 msgid "Unmount (Linux only)" msgstr "Odpojit (Jen pro Linux)" #: ../src/XFileExplorer.cpp:711 msgid "Show one panel" msgstr "Zobrazí jeden panel" #: ../src/XFileExplorer.cpp:717 msgid "Show tree and panel" msgstr "Zobrazí strom a panel" #: ../src/XFileExplorer.cpp:723 msgid "Show two panels" msgstr "Zobrazí dva panely" #: ../src/XFileExplorer.cpp:729 msgid "Show tree and two panels" msgstr "Zobrazí strom a dva panely" #: ../src/XFileExplorer.cpp:768 msgid "Clear location" msgstr "Vyčistí lokační řádek" #: ../src/XFileExplorer.cpp:773 msgid "Go to location" msgstr "Přejde" #: ../src/XFileExplorer.cpp:787 msgid "New fo&lder..." msgstr "Nový &adresář..." #: ../src/XFileExplorer.cpp:799 msgid "Go &home" msgstr "Jít &domů" #: ../src/XFileExplorer.cpp:805 msgid "&Refresh" msgstr "&Obnovit" #: ../src/XFileExplorer.cpp:825 msgid "&Copy to..." msgstr "&Kopírovat do..." #: ../src/XFileExplorer.cpp:837 msgid "&Symlink to..." msgstr "Odka&z na..." #: ../src/XFileExplorer.cpp:861 #, fuzzy msgid "&Properties" msgstr "Vlastnosti" #: ../src/XFileExplorer.cpp:875 ../src/XFilePackage.cpp:123 #: ../src/XFileImage.cpp:249 ../src/WriteWindow.cpp:590 msgid "&File" msgstr "&Soubor" #: ../src/XFileExplorer.cpp:900 msgid "&Select all" msgstr "Vybrat vš&e" #: ../src/XFileExplorer.cpp:906 msgid "&Deselect all" msgstr "Odvyb&rat vše" #: ../src/XFileExplorer.cpp:912 msgid "&Invert selection" msgstr "&Obrácený výběr" #: ../src/XFileExplorer.cpp:919 msgid "P&references" msgstr "Na&stavení" #: ../src/XFileExplorer.cpp:925 msgid "&General toolbar" msgstr "Hlavní &nástrojová lišta" #: ../src/XFileExplorer.cpp:926 msgid "&Tools toolbar" msgstr "Nástrojová &lišta nástrojů" #: ../src/XFileExplorer.cpp:927 msgid "&Panel toolbar" msgstr "Ná&strojová lišta panelů" #: ../src/XFileExplorer.cpp:928 msgid "&Location bar" msgstr "&Lokační řádek" #: ../src/XFileExplorer.cpp:929 msgid "&Status bar" msgstr "&Stavová lišta" #: ../src/XFileExplorer.cpp:933 msgid "&One panel" msgstr "&Jeden panel" #: ../src/XFileExplorer.cpp:937 msgid "T&ree and panel" msgstr "&Strom a panel" #: ../src/XFileExplorer.cpp:941 msgid "Two &panels" msgstr "Dva &panely" #: ../src/XFileExplorer.cpp:945 msgid "Tr&ee and two panels" msgstr "St&rom a dva panely" #: ../src/XFileExplorer.cpp:951 ../src/XFileImage.cpp:730 msgid "&Vertical panels" msgstr "&Vertikální panely" #: ../src/XFileExplorer.cpp:955 ../src/XFileImage.cpp:734 msgid "&Horizontal panels" msgstr "&Horizontální panely" #: ../src/XFileExplorer.cpp:963 msgid "&Add bookmark" msgstr "&Přidat záložku" #: ../src/XFileExplorer.cpp:991 msgid "&Clear bookmarks" msgstr "&Vyčistit záložky" #: ../src/XFileExplorer.cpp:993 msgid "&Bookmarks" msgstr "&Záložky" #: ../src/XFileExplorer.cpp:997 msgid "&Filter..." msgstr "&Filtr..." #: ../src/XFileExplorer.cpp:999 ../src/XFileExplorer.cpp:1029 #: ../src/XFileImage.cpp:703 msgid "&Thumbnails" msgstr "&Náhled" #: ../src/XFileExplorer.cpp:1001 ../src/XFileExplorer.cpp:1031 #: ../src/XFileImage.cpp:711 msgid "&Big icons" msgstr "&Velké ikony" #: ../src/XFileExplorer.cpp:1011 ../src/XFileExplorer.cpp:1041 msgid "T&ype" msgstr "T&yp" #: ../src/XFileExplorer.cpp:1013 ../src/XFileExplorer.cpp:1043 msgid "D&ate" msgstr "&Datum" #: ../src/XFileExplorer.cpp:1014 ../src/XFileExplorer.cpp:1044 msgid "Us&er" msgstr "Uži&vatel" #: ../src/XFileExplorer.cpp:1015 ../src/XFileExplorer.cpp:1045 msgid "Gr&oup" msgstr "S&kupina" #: ../src/XFileExplorer.cpp:1021 msgid "Fol&ders first" msgstr "A&dresáře napřed" #: ../src/XFileExplorer.cpp:1023 ../src/XFileExplorer.cpp:3527 #: ../src/XFileExplorer.cpp:3578 msgid "&Left panel" msgstr "&Levý panel" #: ../src/XFileExplorer.cpp:1027 msgid "&Filter" msgstr "&Filtr" #: ../src/XFileExplorer.cpp:1051 msgid "&Folders first" msgstr "&Adresáře napřed" #: ../src/XFileExplorer.cpp:1053 ../src/XFileExplorer.cpp:3526 #: ../src/XFileExplorer.cpp:3577 msgid "&Right panel" msgstr "P&ravý panel" #: ../src/XFileExplorer.cpp:1058 msgid "New &window" msgstr "Nové &okno" #: ../src/XFileExplorer.cpp:1064 msgid "New &root window" msgstr "Nové &root okno" #: ../src/XFileExplorer.cpp:1072 msgid "E&xecute command..." msgstr "Sp&ustit příkaz..." #: ../src/XFileExplorer.cpp:1078 msgid "&Terminal" msgstr "&Terminál" #: ../src/XFileExplorer.cpp:1084 msgid "&Synchronize panels" msgstr "S&ynchronizovat panely" #: ../src/XFileExplorer.cpp:1090 msgid "Sw&itch panels" msgstr "Přepnout &panely" #: ../src/XFileExplorer.cpp:1096 msgid "Go to script folder" msgstr "Jít do adresáře skriptů" #: ../src/XFileExplorer.cpp:1098 msgid "&Search files..." msgstr "&Hledat soubory..." #: ../src/XFileExplorer.cpp:1111 msgid "&Unmount" msgstr "&Odpojit" #: ../src/XFileExplorer.cpp:1115 msgid "&Tools" msgstr "&Nástroje" #: ../src/XFileExplorer.cpp:1120 msgid "&Go to trash" msgstr "&Jít ke koši" #: ../src/XFileExplorer.cpp:1126 msgid "&Trash size" msgstr "&Velikost koše" #: ../src/XFileExplorer.cpp:1128 msgid "&Empty trash can" msgstr "Vy&prázdnit koš" #: ../src/XFileExplorer.cpp:1135 ../src/XFileExplorer.cpp:4220 msgid "T&rash" msgstr "&Koš" #: ../src/XFileExplorer.cpp:1140 ../src/XFileExplorer.cpp:1147 #: ../src/XFileExplorer.cpp:4223 ../src/XFileExplorer.cpp:4234 #: ../src/XFilePackage.cpp:131 ../src/XFileImage.cpp:265 #: ../src/WriteWindow.cpp:614 msgid "&Help" msgstr "Nápo&věda" #: ../src/XFileExplorer.cpp:1146 msgid "&About X File Explorer" msgstr "&O X File Explorer" #: ../src/XFileExplorer.cpp:2214 msgid "Running Xfe as root!" msgstr "Xfe běží pod rootem!" #: ../src/XFileExplorer.cpp:2249 #, c-format msgid "" "Starting from Xfe 1.32, the location of the configuration files has changed " "to '%s'.\n" "Note you can manually edit the new configuration files to import your old " "customizations..." msgstr "" "Od Xfe 1.32 je umístění konfiguračních souborů změněno na '%s'.\n" "Můžete ručně upravit konfigurační soubory, aby obsahovaly vaše staré " "úpravy..." #: ../src/XFileExplorer.cpp:2266 #, fuzzy, c-format msgid "Can't create Xfe config folder %s: %s" msgstr "Nemohu vytvořit adresář %s pro uložení konfigurace Xfe : %s" #: ../src/XFileExplorer.cpp:2270 #, c-format msgid "Can't create Xfe config folder %s" msgstr "Nemohu vytvořit adresář %s pro uložení konfigurace Xfe" #: ../src/XFileExplorer.cpp:2292 msgid "No global xferc file found! Please select a configuration file..." msgstr "Nenalezen soubor xferc! Vyberte prosím konfigurační soubor..." #: ../src/XFileExplorer.cpp:2296 msgid "XFE configuration file" msgstr "Konfigurační soubor XFE" #: ../src/XFileExplorer.cpp:2325 ../src/XFileExplorer.cpp:3970 #, c-format msgid "Can't create trash can 'files' folder %s: %s" msgstr "Nemohu vytvořit adresář koše 'files' %s: %s" #: ../src/XFileExplorer.cpp:2329 ../src/XFileExplorer.cpp:3972 #, c-format msgid "Can't create trash can 'files' folder %s" msgstr "Nemohu vytvořit adresář koše 'files' %s" #: ../src/XFileExplorer.cpp:2347 ../src/XFileExplorer.cpp:3985 #, c-format msgid "Can't create trash can 'info' folder %s: %s" msgstr "Nemohu vytvořit adresář koše 'info' %s : %s" #: ../src/XFileExplorer.cpp:2351 ../src/XFileExplorer.cpp:3987 #, c-format msgid "Can't create trash can 'info' folder %s" msgstr "Nemohu vytvořit adresář koše 'info' %s" #: ../src/XFileExplorer.cpp:3171 msgid "Help" msgstr "Nápověda" #: ../src/XFileExplorer.cpp:3201 #, c-format msgid "X File Explorer Version %s" msgstr "X File Explorer %s" #: ../src/XFileExplorer.cpp:3202 msgid "Based on X WinCommander by Maxim Baranov\n" msgstr "Založeno na X WinCommander Maxima Baranova\n" #: ../src/XFileExplorer.cpp:3204 msgid "" "\n" "Translators\n" "-------------\n" "Argentinian Spanish: Bruno Gilberto Luciani\n" "Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Catalan: muzzol\n" "Chinese: Xin Li\n" "Chinese (Taïwan): Wei-Lun Chao\n" "Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n" "Czech: David Vachulka\n" "Danish: Jonas Bardino, Vidar Jon Bauge\n" "Dutch: Hans Strijards\n" "French: Claude Leo Mercier, Roland Baudin\n" "German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Greek: Nikos Papadopoulos\n" "Hungarian: Attila Szervac, Sandor Sipos\n" "Italian: Claudio Fontana, Giorgio Moscardi\n" "Japanese: Karl Skewes\n" "Norwegian: Vidar Jon Bauge\n" "Polish: Jacek Dziura, Franciszek Janowski\n" "Portuguese: Miguel Santinho\n" "Russian: Dimitri Sertolov, Vad Vad\n" "Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Swedish: Anders F. Bjorklund\n" "Turkish: erkaN\n" msgstr "" "\n" "Překladatelé\n" "-------------\n" "Argentinská španělština: Bruno Gilberto Luciani\n" "Brazilská portugalština: Eduardo R.B.S., Jose Carlos Medeiros,\n" "Phantom X, Tomas Acauan Schertel\n" "Bosenština: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n" "Bilalovi, Omar Cogo Emir\n" "Čeština: David Vachulka\n" "Čínština: Xin Li\n" "Čínština (Taïwan): Wei-Lun Chao\n" "Dánština: Jonas Bardino, Vidar Jon Bauge\n" "Holandština: Hans Strijards\n" "Francouzština: Claude Leo Mercier, Roland Baudin\n" "Italština: Claudio Fontana, Giorgio Moscardi\n" "Japonština: Karl Skewes\n" "Katalánština: muzzol\n" "Kolumbijská španělština: Vladimir Támara (Pasos de Jesús)\n" "Němčina: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n" "Norština: Vidar Jon Bauge\n" "Maďarština: Attila Szervac, Sandor Sipos\n" "Polština: Jacek Dziura, Franciszek Janowski\n" "Portugalština: Miguel Santinho\n" "Ruština: Dimitri Sertolov\n" "Řečtina: Nikos Papadopoulos\n" "Španělština: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n" "Martin Carr\n" "Švédština: Anders F. Bjorklund\n" "Turečtina: erkaN\n" #: ../src/XFileExplorer.cpp:3235 msgid "About X File Explorer" msgstr "O X File Explorer" #: ../src/XFileExplorer.cpp:3498 ../src/XFileExplorer.cpp:3546 msgid "&Panel" msgstr "&Panel" #: ../src/XFileExplorer.cpp:3707 msgid "Execute the command:" msgstr "Spustit příkaz:" #: ../src/XFileExplorer.cpp:3707 msgid "Console mode" msgstr "Konzolový mód" #: ../src/XFileExplorer.cpp:3876 msgid "Search files and folders" msgstr "Vyhledá soubory a adresáře." #. Confirmation message #: ../src/XFileExplorer.cpp:3938 msgid "Do you really want to empty the trash can?" msgstr "Opravdu chcete vysypat koš?" #: ../src/XFileExplorer.cpp:3938 msgid " in " msgstr " ve" #: ../src/XFileExplorer.cpp:3939 msgid "" "\n" "\n" "All items will be definitively lost!" msgstr "" "\n" "\n" "Všechny položky budou definitivně ztraceny!" #: ../src/XFileExplorer.cpp:4029 #, c-format msgid "" "Trash size: %s (%s files, %s subfolders)\n" "\n" "Modified date: %s" msgstr "" "Velikost koše: %s (%s souborů, %s složek)\n" "\n" "Datum úpravy: %s" #: ../src/XFileExplorer.cpp:4031 msgid "Trash size" msgstr "Velikost koše" #: ../src/XFileExplorer.cpp:4038 #, c-format msgid "Trash can 'files' folder %s is not readable!" msgstr "Adresář koše %s není pro čtení!" #: ../src/XFileExplorer.cpp:4492 ../src/XFileExplorer.cpp:4566 #, c-format msgid "Command not found: %s" msgstr "Příkaz nenalezen: %s" #: ../src/XFileExplorer.cpp:4571 #, c-format msgid "Invalid file association: %s" msgstr "Neplatná asociace souboru: %s" #: ../src/XFileExplorer.cpp:4576 #, c-format msgid "File association not found: %s" msgstr "Asociace souboru nenalezena: %s" #: ../src/XFilePackage.cpp:127 ../src/XFileImage.cpp:261 #: ../src/WriteWindow.cpp:606 msgid "&Preferences" msgstr "&Nastavení" #: ../src/XFilePackage.cpp:135 msgid "Open package file" msgstr "Otevře soubor balíčku" #: ../src/XFilePackage.cpp:140 ../src/XFileImage.cpp:623 #: ../src/WriteWindow.cpp:747 msgid "&Open..." msgstr "&Otevřít..." #. Preferences menu #. View Menu entries #: ../src/XFilePackage.cpp:154 ../src/XFileImage.cpp:744 #: ../src/WriteWindow.cpp:858 msgid "&Toolbar" msgstr "&Nástrojová lišta" #. Help Menu entries #: ../src/XFilePackage.cpp:157 msgid "&About X File Package" msgstr "&O X File Package" #. Uninstall #: ../src/XFilePackage.cpp:179 msgid "&Uninstall" msgstr "&Odinstalovat" #. Install/Upgrade #: ../src/XFilePackage.cpp:182 msgid "&Install/Upgrade" msgstr "&Instalovat/Upgradovat" #. First item is Description #: ../src/XFilePackage.cpp:188 msgid "&Description" msgstr "&Popis" #. Second item is File List #: ../src/XFilePackage.cpp:194 msgid "File &List" msgstr "&Seznam souborů" #: ../src/XFilePackage.cpp:226 #, c-format msgid "" "X File Package Version %s is a simple rpm or deb package manager.\n" "\n" msgstr "" "X File Package %s je jednoduchý správce rpm nebo deb balíků.\n" "\n" #: ../src/XFilePackage.cpp:228 msgid "About X File Package" msgstr "O X File Package" #: ../src/XFilePackage.cpp:241 msgid "RPM source packages" msgstr "Zdrojové RPM balíčky" #: ../src/XFilePackage.cpp:242 msgid "RPM packages" msgstr "RPM balíky" #: ../src/XFilePackage.cpp:243 msgid "DEB packages" msgstr "DEB balíky" #: ../src/XFilePackage.cpp:247 ../src/WriteWindow.cpp:1535 msgid "Open Document" msgstr "Otevřít dokument" #: ../src/XFilePackage.cpp:272 ../src/XFilePackage.cpp:318 msgid "No package loaded" msgstr "Balík nenačten" #: ../src/XFilePackage.cpp:291 ../src/XFilePackage.cpp:341 #: ../src/XFilePackage.cpp:443 ../src/XFilePackage.cpp:507 msgid "Unknown package format" msgstr "Neznámý formát balíku" #. Make and show command window #: ../src/XFilePackage.cpp:296 msgid "Install/Upgrade Package" msgstr "Instalace/Upgrade balíku" #. Make and show command window #: ../src/XFilePackage.cpp:346 msgid "Uninstall Package" msgstr "Odinstalace balíku" #: ../src/XFilePackage.cpp:495 msgid "[RPM package]\n" msgstr "[RPM balík]\n" #: ../src/XFilePackage.cpp:500 msgid "[DEB package]\n" msgstr "[DEB balík]\n" #: ../src/XFilePackage.cpp:539 #, c-format msgid "Query of %s failed!" msgstr "Dotaz na %s selhal!" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1082 #: ../src/WriteWindow.cpp:1094 msgid "Error Loading File" msgstr "Chyba při nahrávání souboru" #: ../src/XFilePackage.cpp:563 ../src/XFileImage.cpp:1276 #: ../src/WriteWindow.cpp:1072 ../src/WriteWindow.cpp:1157 #, c-format msgid "Unable to open file: %s" msgstr "Nemohu otevřít soubor: %s" #. Usage message #: ../src/XFilePackage.cpp:641 msgid "" "\n" "Usage: xfp [options] [package] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [package] is the path to the rpm or deb package you want to open on " "start up.\n" "\n" msgstr "" "\n" "Použití: xfp [options] [package] \n" "\n" " [options] mohou být následující:\n" "\n" " -h, --help Zobrazí nápovědu a skončí.\n" " -v, --version Zobrazí verzi a skončí.\n" "\n" " [package] je cesta k rpm nebo deb balíku, který chcete otevřít při " "startu.\n" "\n" #: ../src/XFileImage.cpp:104 msgid "GIF Image" msgstr "GIF obrázek" #: ../src/XFileImage.cpp:105 msgid "BMP Image" msgstr "BMP obrázek" #: ../src/XFileImage.cpp:106 msgid "XPM Image" msgstr "XPM obrázek" #: ../src/XFileImage.cpp:107 msgid "PCX Image" msgstr "PCX obrázek" #: ../src/XFileImage.cpp:108 msgid "ICO Image" msgstr "ICO obrázek" #: ../src/XFileImage.cpp:109 msgid "RGB Image" msgstr "RGB obrázek" #: ../src/XFileImage.cpp:110 msgid "XBM Image" msgstr "XBM obrázek" #: ../src/XFileImage.cpp:111 msgid "TARGA Image" msgstr "TARGA obrázek" #: ../src/XFileImage.cpp:112 msgid "PPM Image" msgstr "PPM obrázek" #: ../src/XFileImage.cpp:113 msgid "PNG Image" msgstr "PNG obrázek" #: ../src/XFileImage.cpp:114 ../src/XFileImage.cpp:115 msgid "JPEG Image" msgstr "JPEG obrázek" #: ../src/XFileImage.cpp:116 ../src/XFileImage.cpp:117 msgid "TIFF Image" msgstr "TIFF obrázek" #: ../src/XFileImage.cpp:253 msgid "&Image" msgstr "O&brázek" #: ../src/XFileImage.cpp:570 ../src/WriteWindow.cpp:664 msgid "Open" msgstr "Otevřít" #: ../src/XFileImage.cpp:570 ../src/XFileImage.cpp:623 msgid "Open image file." msgstr "Otevře obrázek." #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:1570 #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:1854 msgid "Print" msgstr "Tisk" #: ../src/XFileImage.cpp:574 ../src/XFileImage.cpp:629 msgid "Print image file." msgstr "Vytiskne soubor." #. Note : Ctrl+ and Ctrl- cannot be changed from the registry! #. Toolbar button: Zoom in #: ../src/XFileImage.cpp:582 msgid "Zoom in" msgstr "Zvětšit" #: ../src/XFileImage.cpp:582 ../src/XFileImage.cpp:656 msgid "Zoom in image." msgstr "Zvětší obrázek." #. Toolbar button: Zoom out #: ../src/XFileImage.cpp:587 msgid "Zoom out" msgstr "Zmenšit" #: ../src/XFileImage.cpp:587 ../src/XFileImage.cpp:657 msgid "Zoom out image." msgstr "Zmenší obrázek." #: ../src/XFileImage.cpp:593 msgid "Zoom 100%" msgstr "Zobrazit na 100%" #: ../src/XFileImage.cpp:593 ../src/XFileImage.cpp:660 msgid "Zoom image to 100%." msgstr "Zobrazí obrázek na 100%." #: ../src/XFileImage.cpp:597 msgid "Zoom to fit" msgstr "Přizpůsobit oknu" #: ../src/XFileImage.cpp:597 ../src/XFileImage.cpp:666 msgid "Zoom to fit window." msgstr "Přizpůsobí oknu." #: ../src/XFileImage.cpp:604 msgid "Rotate left" msgstr "Otočit doleva" #: ../src/XFileImage.cpp:604 msgid "Rotate left image." msgstr "Otočí obrázek doleva." #: ../src/XFileImage.cpp:608 msgid "Rotate right" msgstr "Otočit vpravo" #: ../src/XFileImage.cpp:608 msgid "Rotate right image." msgstr "Otočí obrázek doprava." #: ../src/XFileImage.cpp:612 msgid "Mirror horizontally" msgstr "Zrcadlit horizontálně" #: ../src/XFileImage.cpp:612 msgid "Mirror image horizontally." msgstr "Zrcadlí obrázek horizontálně." #: ../src/XFileImage.cpp:616 msgid "Mirror vertically" msgstr "Zrcadlit vertikálně" #: ../src/XFileImage.cpp:616 msgid "Mirror image vertically." msgstr "Zrcadlí obrázek vertikálně." #: ../src/XFileImage.cpp:629 ../src/WriteWindow.cpp:768 msgid "&Print..." msgstr "&Tisk..." #: ../src/XFileImage.cpp:643 msgid "&Clear recent files" msgstr "&Vyčistit nedávné soubory" #: ../src/XFileImage.cpp:643 msgid "Clear recent file menu." msgstr "Vyčistí menu nedávných souborů" #: ../src/XFileImage.cpp:649 msgid "Quit Xfi." msgstr "Ukončit Xfi." #. Image Menu entries #: ../src/XFileImage.cpp:656 msgid "Zoom &in" msgstr "Z&většit" #: ../src/XFileImage.cpp:657 msgid "Zoom &out" msgstr "Z&menšit" #: ../src/XFileImage.cpp:660 msgid "Zoo&m 100%" msgstr "Zobrazit na &100%" #: ../src/XFileImage.cpp:666 msgid "Zoom to fit &window" msgstr "&Přizpůsobit oknu" #: ../src/XFileImage.cpp:672 msgid "Rotate &right" msgstr "Otočit v&pravo" #: ../src/XFileImage.cpp:672 msgid "Rotate right." msgstr "Otočí obrázek vpravo." #: ../src/XFileImage.cpp:678 msgid "Rotate &left" msgstr "Otočit v&levo" #: ../src/XFileImage.cpp:678 msgid "Rotate left." msgstr "Otočí obrázek vlevo." #: ../src/XFileImage.cpp:684 msgid "Mirror &horizontally" msgstr "Zrcadlit &horizontálně" #: ../src/XFileImage.cpp:684 msgid "Mirror horizontally." msgstr "Zrcadlí horizontálně." #: ../src/XFileImage.cpp:690 msgid "Mirror &vertically" msgstr "Zrcadlit &vertikálně" #: ../src/XFileImage.cpp:690 msgid "Mirror vertically." msgstr "Zrcadlí vertikálně." #: ../src/XFileImage.cpp:697 msgid "Show hidden files and folders." msgstr "Zobrazí skryté soubory a adresáře." #: ../src/XFileImage.cpp:703 msgid "Show image thumbnails." msgstr "Zobrazí náhledy" #: ../src/XFileImage.cpp:711 msgid "Display folders with big icons." msgstr "Zobrazí adresář s velkými ikonami." #: ../src/XFileImage.cpp:717 msgid "Display folders with small icons." msgstr "Zobrazí adresář s malými ikonami." #: ../src/XFileImage.cpp:723 msgid "&Detailed file list" msgstr "Ú&plný seznam souborů" #: ../src/XFileImage.cpp:723 msgid "Display detailed folder listing." msgstr "Zobrazí detailní výpis adresáře." #: ../src/XFileImage.cpp:739 msgid "View icons row-wise." msgstr "Zobrazí ikony v řádcích." #: ../src/XFileImage.cpp:740 msgid "View icons column-wise." msgstr "Zobrazí ikony ve sloupcích." #: ../src/XFileImage.cpp:741 msgid "Autosize icon names." msgstr "Automatická velikost jmen ikon." #: ../src/XFileImage.cpp:744 ../src/WriteWindow.cpp:858 msgid "Display toolbar." msgstr "Zobrazí nástrojovou lištu." #: ../src/XFileImage.cpp:745 msgid "&File list" msgstr "&Seznam souborů" #: ../src/XFileImage.cpp:745 msgid "Display file list." msgstr "Zobrazí seznam souborů." #: ../src/XFileImage.cpp:746 msgid "File list &before" msgstr "Seznam souborů &nad" #: ../src/XFileImage.cpp:746 msgid "Display file list before image window." msgstr "Zobrazí seznam souborů nad oknem s obrázkem." #: ../src/XFileImage.cpp:747 msgid "&Filter images" msgstr "&Filtrovat jen obrázky" #: ../src/XFileImage.cpp:747 msgid "List only image files." msgstr "Vypíše jen soubory obrázků." #: ../src/XFileImage.cpp:748 msgid "Fit &window when opening" msgstr "Přizpůsobit &okno při otevření" #: ../src/XFileImage.cpp:748 msgid "Zoom to fit window when opening an image." msgstr "Zobrazí obrázek do okna při otevření." #: ../src/XFileImage.cpp:753 msgid "&About X File Image" msgstr "&O X File Image" #: ../src/XFileImage.cpp:753 msgid "About X File Image." msgstr "O X File Image." #: ../src/XFileImage.cpp:1255 #, c-format msgid "" "X File Image Version %s is a simple image viewer.\n" "\n" msgstr "" "X File Image %s je jednoduchý prohlížeč obrázků.\n" "\n" #: ../src/XFileImage.cpp:1257 msgid "About X File Image" msgstr "O X File Image" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #: ../src/XFileImage.cpp:1386 msgid "Error Loading Image" msgstr "Chyba při načítání obrázku" #: ../src/XFileImage.cpp:1364 ../src/XFileImage.cpp:1370 #, c-format msgid "Unsupported type: %s" msgstr "Nepodporovaný typ: %s" #: ../src/XFileImage.cpp:1386 msgid "Unable to load image, the file may be corrupted" msgstr "Nemohu načíst obrázek, soubor může být poškozen" #: ../src/XFileImage.cpp:1426 msgid "" "Change will be taken into account after restart.\n" "Restart X File Image now?" msgstr "" "Změna bude načtena po restartu.\n" "Restartovat X File Image teď?" #: ../src/XFileImage.cpp:1541 msgid "Open Image" msgstr "Otevřít obrázek" #: ../src/XFileImage.cpp:1570 ../src/WriteWindow.cpp:1854 msgid "" "Print command: \n" "(ex: lpr -P )" msgstr "" "Vložte příkaz pro tisk: \n" "(např: lpr -P )" #. Usage message #: ../src/XFileImage.cpp:2607 msgid "" "\n" "Usage: xfi [options] [image] \n" "\n" " [options] can be any of the following:\n" "\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [image] is the path to the image file you want to open on start up.\n" "\n" msgstr "" "\n" "Použití: xfi [options] [image] \n" "\n" " [options] mohou být následující:\n" "\n" " -h, --help Vypíše nápovědu a skončí.\n" " -v, --version Vypíše verzi a skončí.\n" "\n" " [image] je cesta k obrázku, který chcete otevřít při startu.\n" "\n" #. Construct #. Set title #: ../src/WriteWindow.cpp:171 ../src/WriteWindow.cpp:178 msgid "XFileWrite Preferences" msgstr "Nastavení XFileWrite" #. First tab - Editor #: ../src/WriteWindow.cpp:197 msgid "&Editor" msgstr "&Editor" #: ../src/WriteWindow.cpp:199 ../src/WriteWindow.cpp:220 msgid "Text" msgstr "Text" #: ../src/WriteWindow.cpp:202 msgid "Wrap margin:" msgstr "Zmenšit okraj:" #: ../src/WriteWindow.cpp:207 msgid "Tabulation size:" msgstr "Velikost tabulátoru (odsazení):" #: ../src/WriteWindow.cpp:212 msgid "Strip carriage returns:" msgstr "Odebrat znaky return:" #. Second tab - Colors #: ../src/WriteWindow.cpp:218 msgid "&Colors" msgstr "&Barvy" #: ../src/WriteWindow.cpp:222 msgid "Lines" msgstr "Řádky" #: ../src/WriteWindow.cpp:225 msgid "Background:" msgstr "Pozadí:" #: ../src/WriteWindow.cpp:228 msgid "Text:" msgstr "Text:" #: ../src/WriteWindow.cpp:231 msgid "Selected text background:" msgstr "Vybraná barva pozadí" #: ../src/WriteWindow.cpp:234 msgid "Selected text:" msgstr "Vybraný text:" #: ../src/WriteWindow.cpp:237 msgid "Highlighted text background:" msgstr "Pozadí zvýrazněného textu:" #: ../src/WriteWindow.cpp:240 msgid "Highlighted text:" msgstr "Zvýrazněný text:" #: ../src/WriteWindow.cpp:243 msgid "Cursor:" msgstr "Kurzor:" #: ../src/WriteWindow.cpp:246 msgid "Line numbers background:" msgstr "Barva pozadí čísel řádků" #: ../src/WriteWindow.cpp:249 msgid "Line numbers foreground:" msgstr "Barva textu čísel řádků" #: ../src/WriteWindow.cpp:602 ../src/foxhacks.cpp:862 msgid "&Search" msgstr "&Vyhledat" #: ../src/WriteWindow.cpp:610 msgid "&Window" msgstr "&Okno" #. Caption before number #: ../src/WriteWindow.cpp:643 msgid " Lines:" msgstr " Řádky:" #. Caption before number #: ../src/WriteWindow.cpp:650 msgid " Col:" msgstr " Sloupec:" #. Caption before number #: ../src/WriteWindow.cpp:657 msgid " Line:" msgstr " Řádek:" #: ../src/WriteWindow.cpp:661 msgid "New" msgstr "Nový" #: ../src/WriteWindow.cpp:661 ../src/WriteWindow.cpp:741 msgid "Create new document." msgstr "Vytvoří nový dokument." #: ../src/WriteWindow.cpp:664 ../src/WriteWindow.cpp:747 msgid "Open document file." msgstr "Otevře dokument." #: ../src/WriteWindow.cpp:667 msgid "Save" msgstr "Uložit" #: ../src/WriteWindow.cpp:667 msgid "Save document." msgstr "Uloží dokument." #: ../src/WriteWindow.cpp:670 msgid "Close" msgstr "Zavřít" #: ../src/WriteWindow.cpp:670 msgid "Close document file." msgstr "Zavře dokument." #: ../src/WriteWindow.cpp:677 ../src/WriteWindow.cpp:768 msgid "Print document." msgstr "Vytiskne dokument." #: ../src/WriteWindow.cpp:680 msgid "Quit" msgstr "Ukončit" #: ../src/WriteWindow.cpp:680 ../src/WriteWindow.cpp:788 msgid "Quit X File Write." msgstr "Ukončí X File Write." #: ../src/WriteWindow.cpp:687 ../src/WriteWindow.cpp:810 msgid "Copy selection to clipboard." msgstr "Kopíruje výběr do schránky." #: ../src/WriteWindow.cpp:690 msgid "Cut" msgstr "Vyjmout" #: ../src/WriteWindow.cpp:690 ../src/WriteWindow.cpp:816 msgid "Cut selection to clipboard." msgstr "Vyjme výběr do schránky." #: ../src/WriteWindow.cpp:693 msgid "Paste" msgstr "Vložit" #: ../src/WriteWindow.cpp:693 msgid "Paste clipboard." msgstr "Vloží ze schránky." #: ../src/WriteWindow.cpp:700 ../src/WriteWindow.cpp:841 msgid "Goto line number." msgstr "Přejde na číslo řádku." #: ../src/WriteWindow.cpp:707 msgid "Undo" msgstr "Zpět" #: ../src/WriteWindow.cpp:707 ../src/WriteWindow.cpp:795 msgid "Undo last change." msgstr "Vrátí poslední změnu." #: ../src/WriteWindow.cpp:710 msgid "Redo" msgstr "Znovu" #: ../src/WriteWindow.cpp:710 ../src/WriteWindow.cpp:801 msgid "Redo last undo." msgstr "Vrátí poslední zpět." #: ../src/WriteWindow.cpp:717 msgid "Search text." msgstr "Najde text." #: ../src/WriteWindow.cpp:720 msgid "Search selection backward" msgstr "Najít vybraný pozpátku" #: ../src/WriteWindow.cpp:720 ../src/WriteWindow.cpp:875 msgid "Search backward for selected text." msgstr "Hledá další výskyt pozpátku." #: ../src/WriteWindow.cpp:723 msgid "Search selection forward" msgstr "Najít vybrané dopředně" #: ../src/WriteWindow.cpp:723 ../src/WriteWindow.cpp:881 msgid "Search forward for selected text." msgstr "Hledá další výskyt dopředně." #: ../src/WriteWindow.cpp:730 msgid "Word wrap on" msgstr "Zapnout dělení slov" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap on." msgstr "Zapíná mód dělení slov." #: ../src/WriteWindow.cpp:730 msgid "Word wrap off" msgstr "Vypnout dělení slov" #: ../src/WriteWindow.cpp:730 msgid "Set word wrap off." msgstr "Vypíná mód dělení slov." #: ../src/WriteWindow.cpp:733 msgid "Show line numbers" msgstr "Zobrazit čísla řádek" #: ../src/WriteWindow.cpp:733 msgid "Show line numbers." msgstr "Zobrazí čísla řádek." #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers" msgstr "Skrýt čísla řádek" #: ../src/WriteWindow.cpp:733 msgid "Hide line numbers." msgstr "Skryje čísla řádek." #: ../src/WriteWindow.cpp:741 #, fuzzy msgid "&New" msgstr "&Nový..." #: ../src/WriteWindow.cpp:753 msgid "Save changes to file." msgstr "Uloží změny do souboru." #: ../src/WriteWindow.cpp:758 msgid "Save &As..." msgstr "Uložit &jako..." #: ../src/WriteWindow.cpp:758 msgid "Save document to another file." msgstr "Uloží dokument do jiného souboru." #: ../src/WriteWindow.cpp:761 msgid "Close document." msgstr "Zavře dokument." #: ../src/WriteWindow.cpp:782 msgid "&Clear Recent Files" msgstr "&Vyčistit nedávné dokumenty" #: ../src/WriteWindow.cpp:795 ../src/WriteWindow.cpp:848 msgid "&Undo" msgstr "&Zpět" #: ../src/WriteWindow.cpp:801 ../src/WriteWindow.cpp:849 msgid "&Redo" msgstr "Zn&ovu" #: ../src/WriteWindow.cpp:806 msgid "Revert to &saved" msgstr "Vrátit se k &uloženému" #: ../src/WriteWindow.cpp:806 msgid "Revert to saved document." msgstr "Vrátí se k uloženému dokumentu." #: ../src/WriteWindow.cpp:816 ../src/WriteWindow.cpp:852 msgid "Cu&t" msgstr "Vy&jmout" #: ../src/WriteWindow.cpp:822 msgid "Paste from clipboard." msgstr "Vloží ze schránky." #: ../src/WriteWindow.cpp:829 msgid "Lo&wer-case" msgstr "&Malá písmena" #: ../src/WriteWindow.cpp:829 msgid "Change to lower case." msgstr "Změní na malá písmena." #: ../src/WriteWindow.cpp:835 msgid "Upp&er-case" msgstr "&Velká písmena" #: ../src/WriteWindow.cpp:835 msgid "Change to upper case." msgstr "Změní na velká písmena." #: ../src/WriteWindow.cpp:841 msgid "&Goto line..." msgstr "&Jít na řádek..." #: ../src/WriteWindow.cpp:854 msgid "Select &All" msgstr "Vybrat vš&e" #: ../src/WriteWindow.cpp:859 msgid "&Status line" msgstr "&Stavový řádek" #: ../src/WriteWindow.cpp:859 msgid "Display status line." msgstr "Zobrazí stavový řádek." #: ../src/WriteWindow.cpp:863 msgid "&Search..." msgstr "&Najít..." #: ../src/WriteWindow.cpp:863 msgid "Search for a string." msgstr "Najde řetězec." #: ../src/WriteWindow.cpp:869 msgid "&Replace..." msgstr "&Nahradit..." #: ../src/WriteWindow.cpp:869 msgid "Search for a string and replace with another." msgstr "Nahradí řetězec." #: ../src/WriteWindow.cpp:875 msgid "Search sel. &backward" msgstr "Najít vybrané &pozpátku" #: ../src/WriteWindow.cpp:881 msgid "Search sel. &forward" msgstr "Najít vybrané &dopředu" #: ../src/WriteWindow.cpp:889 msgid "&Word wrap" msgstr "&Dělení slov" #: ../src/WriteWindow.cpp:889 msgid "Toggle word wrap mode." msgstr "Přepíná mód dělení slov." #: ../src/WriteWindow.cpp:895 msgid "&Line numbers" msgstr "Čí&sla řádek" #: ../src/WriteWindow.cpp:895 msgid "Toggle line numbers mode." msgstr "Přepíná mód číslování řádků." #: ../src/WriteWindow.cpp:900 msgid "&Overstrike" msgstr "&Přepisovat" #: ../src/WriteWindow.cpp:900 msgid "Toggle overstrike mode." msgstr "Přepíná mód přepisování." #: ../src/WriteWindow.cpp:902 msgid "&Font..." msgstr "&Font..." #: ../src/WriteWindow.cpp:902 msgid "Change text font." msgstr "Změní font textů" #: ../src/WriteWindow.cpp:903 msgid "&More preferences..." msgstr "&Další volby..." #: ../src/WriteWindow.cpp:903 msgid "Change other options." msgstr "Změní další volby." #: ../src/WriteWindow.cpp:959 #, fuzzy msgid "&About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:959 msgid "About X File Write." msgstr "O X File Write." #: ../src/WriteWindow.cpp:1082 #, c-format msgid "File is too big: %s (%d bytes)" msgstr "Soubor je příliš velký: %s (%d bytů)" #: ../src/WriteWindow.cpp:1094 #, c-format msgid "Unable to read file: %s" msgstr "Nemohu otevřít soubor: %s" #: ../src/WriteWindow.cpp:1157 ../src/WriteWindow.cpp:1167 #: ../src/WriteWindow.cpp:1189 msgid "Error Saving File" msgstr "Chyba při ukládání souboru" #: ../src/WriteWindow.cpp:1167 #, c-format msgid "File is too big: %s" msgstr "Soubor je příliš velký: %s" #: ../src/WriteWindow.cpp:1189 #, c-format msgid "File: %s truncated." msgstr "Soubor: %s rozdělen." #: ../src/WriteWindow.cpp:1205 ../src/XFileWrite.cpp:287 #: ../src/XFileWrite.cpp:301 msgid "untitled" msgstr "nepojmenovaný" #: ../src/WriteWindow.cpp:1213 #, c-format msgid "untitled%d" msgstr "nepojmenovaný%d" #: ../src/WriteWindow.cpp:1460 #, c-format msgid "" "X File Write Version %s is a simple text editor.\n" "\n" msgstr "" "X File Write %s je jednoduchý textový editor.\n" "\n" #: ../src/WriteWindow.cpp:1462 msgid "About X File Write" msgstr "O X File Write" #: ../src/WriteWindow.cpp:1484 msgid "Change Font" msgstr "Změnit font" #: ../src/WriteWindow.cpp:1524 msgid "Text Files" msgstr "Textové soubory" #: ../src/WriteWindow.cpp:1525 msgid "C Source Files" msgstr "C zdrojové soubory" #: ../src/WriteWindow.cpp:1526 ../src/WriteWindow.cpp:1527 #: ../src/WriteWindow.cpp:1528 msgid "C++ Source Files" msgstr "C++ zdrojové soubory" #: ../src/WriteWindow.cpp:1529 msgid "C/C++ Header Files" msgstr "C/C++ hlavičkové soubory" #: ../src/WriteWindow.cpp:1530 ../src/WriteWindow.cpp:1531 msgid "HTML Files" msgstr "HTML soubory" #: ../src/WriteWindow.cpp:1532 msgid "PHP Files" msgstr "PHP soubory" #: ../src/WriteWindow.cpp:1653 msgid "Unsaved Document" msgstr "Neuložený dokument" #: ../src/WriteWindow.cpp:1653 #, c-format msgid "Save %s to file?" msgstr "Uložit soubor %s?" #: ../src/WriteWindow.cpp:1663 ../src/WriteWindow.cpp:1725 msgid "Save Document" msgstr "Uložit dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 msgid "Overwrite Document" msgstr "Přepsat dokument" #: ../src/WriteWindow.cpp:1673 ../src/WriteWindow.cpp:1735 #, c-format msgid "Overwrite existing document: %s?" msgstr "Přepsat existující dokument: %s?" #: ../src/WriteWindow.cpp:1824 msgid " (changed)" msgstr " (změněn)" #: ../src/WriteWindow.cpp:1834 msgid " (read only)" msgstr " (jen pro čtení)" #: ../src/WriteWindow.cpp:1945 msgid "READ ONLY" msgstr "JEN PRO ČTENÍ" #: ../src/WriteWindow.cpp:1950 msgid "OVR" msgstr "OVR" #: ../src/WriteWindow.cpp:1950 msgid "INS" msgstr "INS" #: ../src/WriteWindow.cpp:2054 msgid "File Was Changed" msgstr "Soubor byl změněn" #: ../src/WriteWindow.cpp:2054 #, c-format msgid "" "%s\n" "was changed by another program. Reload this file from disk?" msgstr "" "%s\n" "byl změněn jiným programem. Načíst ho z disku?" #: ../src/WriteWindow.cpp:2115 msgid "Replace" msgstr "Nahradit" #: ../src/WriteWindow.cpp:2276 msgid "Goto Line" msgstr "Jít na řádek" #: ../src/WriteWindow.cpp:2276 msgid "&Goto line number:" msgstr "&Jít na řádek:" #. Usage message #: ../src/XFileWrite.cpp:138 msgid "" "\n" "Usage: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] can be any of the following:\n" "\n" " -r, --read-only Open files in read-only mode.\n" " -h, --help Print (this) help screen and exit.\n" " -v, --version Print version information and exit.\n" "\n" " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " "open on start up.\n" "\n" msgstr "" "\n" "Použití: xfw [options] [file1] [file2] [file3]...\n" "\n" " [options] mohou být následující:\n" "\n" " -r, --read-only Otevře soubory jen pro čtení.\n" " -h, --help Zobrazí nápovědu a skončí.\n" " -v, --version Zobrazí verzi a skončí.\n" "\n" " [file1] [file2] [file3] jsou cesty k souborům, které chcete otevřít při " "startu.\n" "\n" #: ../src/foxhacks.cpp:164 msgid "Root folder" msgstr "Kořenový adresář" #: ../src/foxhacks.cpp:779 msgid "Ready." msgstr "Připraven." #: ../src/foxhacks.cpp:807 msgid "&Replace" msgstr "&Nahradit" #: ../src/foxhacks.cpp:808 msgid "Re&place All" msgstr "Na&hradit vše" #: ../src/foxhacks.cpp:816 msgid "Search for:" msgstr "Vyhledat:" #: ../src/foxhacks.cpp:828 msgid "Replace with:" msgstr "Nahradit za:" #: ../src/foxhacks.cpp:841 msgid "Ex&act" msgstr "Pře&sně" #: ../src/foxhacks.cpp:842 msgid "&Ignore Case" msgstr "I&gnorovat velikost písmen" #: ../src/foxhacks.cpp:843 msgid "E&xpression" msgstr "Vý&raz" #: ../src/foxhacks.cpp:844 msgid "&Backward" msgstr "&Zpět" #: ../src/help.h:7 #, fuzzy, c-format msgid "" "\n" " \n" " \n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [This help file is best viewed using a fixed text font. You can set it by " "using the font tab of the Preferences dialog.]\n" " \n" " \n" " \n" " This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU\n" " General Public License as published by the Free Software Foundation; " "either version 2, or (at your option)\n" " any later version.\n" " \n" " This program is distributed in the hope that it will be useful, but " "WITHOUT ANY WARRANTY; \n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE. \n" " See the GNU General Public License for more details.\n" " \n" " \n" " \n" " Description\n" " =-=-=-=-=-=\n" " \n" " X File Explorer (Xfe) is a lightweight file manager for X11, written using " "the FOX toolkit.\n" " It is desktop independent and can easily be customized.\n" " It has Commander or Explorer styles and it is very fast and small.\n" " Xfe is based on the popular, but discontinued X Win Commander, originally " "written by Maxim Baranov.\n" " \n" " \n" " \n" " Features\n" " =-=-=-=-=\n" " \n" " - Very fast graphic user interface\n" " - UTF-8 support\n" " - Commander/Explorer interface with four file manager modes : a) one " "panel, b) a folder tree\n" " and one panel, c) two panels and d) a folder tree and two panels\n" " - Horizontal or vertical file panels stacking\n" " - Panels synchronization and switching\n" " - Integrated text editor and viewer (X File Write, Xfw)\n" " - Integrated image viewer (X File Image, Xfi)\n" " - Integrated package (rpm or deb) viewer / installer / uninstaller (X " "File Package, Xfp)\n" " - Custom shell scripts (like Nautilus scripts)\n" " - Search files and directories\n" " - Natural sort order (foo10.txt comes after foo2.txt...)\n" " - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/" "XFCE/ROX)\n" " - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/" "ROX)\n" " - Disk usage command \n" " - Root mode with authentication by su or sudo\n" " - Status line\n" " - File associations\n" " - Optional trash can for file delete operations (compliant with " "freedesktop.org standards)\n" " - Auto save registry\n" " - Double click or single click file and folder navigation\n" " - Mouse right click pop-up menu in tree list and file list\n" " - Change file attributes\n" " - Mount/Unmount devices (Linux only)\n" " - Warn when mount point are not responding (Linux only)\n" " - Toolbars\n" " - Bookmarks\n" " - Back and forward history lists for folder navigation\n" " - Color themes (GNOME, KDE, Windows...)\n" " - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n" " - Control themes (Standard or Clearlooks like)\n" " - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats " "are supported)\n" " - File comparison (through external tool)\n" " - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, " "arj and 7zip formats are supported)\n" " - Tooltips with file properties\n" " - Progress bars or dialogs for lengthy file operations\n" " - Thumbnails image previews\n" " - Configurable key bindings\n" " - Startup notification (optional)\n" " - and much more...\n" " \n" " \n" " \n" " Default Key bindings\n" " =-=-=-=-=-=-=-=-=-=-=\n" " \n" " Below are the global default key bindings. These key bindings are common " "to all X File applications.\n" " \n" " * Select all - Ctrl-A\n" " * Copy to clipboard - Ctrl-C\n" " * Search - Ctrl-F\n" " * Search previous - Ctrl-Shift-G\n" " * Search next - Ctrl-G\n" " * Go to home folder - Ctrl-H\n" " * Invert selection - Ctrl-I\n" " * Open file - Ctrl-O\n" " * Print file - Ctrl-P\n" " * Quit application - Ctrl-Q\n" " * Paste from clipboard - Ctrl-V\n" " * Close window - Ctrl-W\n" " * Cut to clipboard - Ctrl-X\n" " * Deselect all - Ctrl-Z\n" " * Display help - F1\n" " * Create new file - Ctrl-N\n" " * Create new folder - F7\n" " * Big icon list - F10\n" " * Small icon list - F11\n" " * Detailed file list - F12\n" " * Toggle display hidden files - Ctrl-F6\n" " * Toggle display thumbnails - Ctrl-F7\n" " * Vertical panels - Ctrl-Shift-F1\n" " * Horizontal panels - Ctrl-Shift-F2\n" " * Go to working folder - Shift-F2\n" " * Go to parent folder - Backspace\n" " * Go to previous folder - Ctrl-Backspace\n" " * Go to next folder - Shift-Backspace\n" " \n" " \n" " Below are the default X File Explorer key bindings. These key bindings are " "specific to the Xfe application.\n" " \n" " * Add bookmark - Ctrl-B\n" " * Filter files - Ctrl-D\n" " * Execute command - Ctrl-E\n" " * Create new symbolic link - Ctrl-J\n" " * Switch panels - Ctrl-K\n" " * Clear location bar - Ctrl-L\n" " * Mount file system (Linux only) - Ctrl-M\n" " * Rename file - F2\n" " * Refresh panels - Ctrl-R\n" " * Symlink files to location - Ctrl-S\n" " * Launch terminal - Ctrl-T\n" " * Unmount file system (Linux only) - Ctrl-U\n" " * Synchronize panels - Ctrl-Y\n" " * Create new window - F3\n" " * Edit - F4\n" " * Copy files to location - F5\n" " * Move files to location - F6\n" " * File properties - F9\n" " * One panel mode - Ctrl-F1\n" " * Tree and panel mode - Ctrl-F2\n" " * Two panels mode - Ctrl-F3\n" " * Tree and two panels mode - Ctrl-F4\n" " * Toggle display hidden folders - Ctrl-F5\n" " * Go to trash can - Ctrl-F8\n" " * Create new root window - Shift-F3\n" " * View - Shift-F4\n" " * Move files to trash can - Del\n" " * Restore files from trash can - Alt-Del\n" " * Delete files - Shift-Del\n" " * Empty trash can - Ctrl-Del\n" " \n" " \n" " Below are the default X File Image key bindings. These key bindings are " "specific to the Xfi application.\n" " \n" " * Zoom to fit window - Ctrl-F\n" " * Mirror image horizontally - Ctrl-H\n" " * Zoom image to 100% - Ctrl-I\n" " * Rotate image to left - Ctrl-L\n" " * Rotate image to right - Ctrl-R\n" " * Mirror image vertically - Ctrl-V\n" " \n" " \n" " Below are the default X File Write key bindings. These key bindings are " "specific to the Xfw application.\n" " \n" " * Toggle word wrap mode - Ctrl-K\n" " * Goto line - Ctrl-L\n" " * Create new document - Ctrl-N\n" " * Replace string - Ctrl-R\n" " * Save changes to file - Ctrl-S\n" " * Toggle line numbers mode - Ctrl-T\n" " * Toggle upper case mode - Ctrl-Shift-U\n" " * Toggle lower case mode - Ctrl-U\n" " * Redo last change - Ctrl-Y\n" " * Undo last change - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) only use some of the global key bindings.\n" " \n" " Note that all the default key bindings listed above can be customized in " "the Xfe Preferences dialog. However,\n" " some key actions are hardcoded an cannot be changed. These include:\n" " \n" " * Ctrl-+ and Ctrl-- - zoom in and zoom out image in " "Xfi\n" " * Shift-F10 - display context menus in Xfe\n" " * Space - select an item in file list\n" " * Return - enter folders in file lists, open " "files, select button actions, etc.\n" " * Esc - close current dialog, unselect " "files, etc.\n" " \n" " \n" " \n" " Drag and Drop operations\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Dragging a file or group or files (by moving the mouse while maintaining " "the left button pressed)\n" " to a folder or a file panel optionally opens a dialog that allows one to " "select the file operation: copy,\n" " move, link or cancel.\n" " \n" " \n" " \n" " Trash system\n" " =-=-=-=-=-=-=\n" " \n" " Starting with version 1.32, Xfe implements a trash system that is fully " "compliant with the freedesktop.org standards.\n" " This allows the user to move files to the trash can and to restore files " "from within Xfe or your favorite\n" " desktop.\n" " Note that the trash files location is now: ~/.local/share/Trash/files\n" " \n" " \n" " \n" " Configuration\n" " =-=-=-=-=-=-=\n" " \n" " You can perform any Xfe customization (layout, file associations, key " "bindings, etc.) without editing any file\n" " by hand. However, you may want to understand the configuration principles, " "because some customizations can also\n" " easily be done by manually editing the configurations files.\n" " Be careful to quit Xfe before manually editing any configuration file, " "otherwise changes could not be taken\n" " into account.\n" " \n" " The system-wide configuration file xferc is located in /usr/share/xfe, /" "usr/local/share/xfe\n" " or /opt/local/share/xfe, in the given order of precedence.\n" " \n" " Starting with version 1.32, the location of the local configuration files " "has changed. This is to be compliant\n" " with the freedesktop.org standards.\n" " \n" " The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in " "the ~/.config/xfe folder.\n" " They are named xferc, xfwrc, xfirc and xfprc.\n" " \n" " At the very first Xfe run, the system-wide configuration file is copied " "into the local configuration file\n" " ~/.config/xfe/xferc which does not exists yet. If the system-wide " "configuration file is not found\n" " (in case of an unusal install place), a dialog asks the user to select the " "right place. It is thus easier to\n" " customize Xfe (this is particularly true for the file associations) by " "hand editing because all the local options are\n" " located in the same file.\n" " \n" " Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/" "local/share/xfe/icons/xfe-theme, depending\n" " on your installation. You can easily change the icon theme path in " "Preferences dialog.\n" " \n" " \n" " \n" " Scripts\n" " =-=-=-=\n" " \n" " Custom shell scripts can be executed from within Xfe on the files that are " "selected in a panel. You have to first\n" " select the files you want to proceed, then right click on the file list " "and go to the Scripts sub menu. Last, choose\n" " the script you want to apply on the selected files.\n" " \n" " The script files must be located in the ~/.config/xfe/scripts folder and " "have to be executable. You can organize\n" " this folder as you like by using sub-folders. You can use the Tools / Go " "to script folder menu item to directly go\n" " to the script folder and manage it.\n" " \n" " Here is an example of a simple shell script that list each selected file " "on the terminal from where Xfe was launched:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " You can of course use programs like xmessage, zenity or kdialog to display " "a window with buttons that allows you to\n" " interact with the script. Here is a modification of the above example that " "uses xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Most often, it is possible to directly use Nautilus scripts found on the " "Internet without modifications.\n" " \n" " \n" " \n" " Search files and directories\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe can quickly search files and directories by using find and grep " "command backends. This is done through the\n" " Tools / Search files menu item (or by using the Ctrl-F shortcut).\n" " \n" " In the search window, users can then specify usual search patterns like " "name and text, but more sophisticated search\n" " options are also available (size, date, permissions, users, groups, follow " "symlinks and empty files). Results appear\n" " in a file list and users can use the right click menu to manage their " "files, the same way as they do in the file\n" " panels.\n" " \n" " The search can be interrupted by clicking on the Stop button or pressing " "the Escape key.\n" " \n" " \n" " \n" " Non Latin based languages\n" " =-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe can display its user interface and also the file names in non latin " "character based languages, provided that you\n" " have selected a Unicode font that supports your character set. To select a " "suitable font, use the\n" " Edit / Preferences / Font menu item.\n" " \n" " Multilingual Unicode TrueType fonts can be found at this address: http://" "www.slovo.info/unifonts.htm\n" " \n" " \n" " \n" " Tips\n" " =-=-=\n" " \n" " File list\n" " - Select files and right click to open a context menu on the selected " "files\n" " - Press Ctrl + right click to open a context menu on the file panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to open it\n" " \n" " Tree list\n" " - Select a folder and right click to open a context menu on the " "selected folder\n" " - Press Ctrl + right click to open a context menu on the tree panel\n" " - When dragging a file/folder to a folder, hold on the mouse on the " "folder to expand it\n" " \n" " Copy/paste file names\n" " - Select a file and press Ctrl-C to copy its name into the clipboard. " "Then in a dialog,press Ctrl-V to paste\n" " the file name.\n" " - In a file operation dialog, select a filename in the line containing " "the source name and paste it directly\n" " to the destination using the middle button of your mouse. Then modify " "it to suit your needs.\n" " \n" " Add files to the clipboard\n" " - You can select files from a directory, copy them to the clipboard by " "pressing Ctrl-C. This erases the previous\n" " clipboard content. Then, you can move to another directory, select " "other files and add them to the clipboard\n" " content by pressing Shift-Ctrl-C. This does not erase the previous " "clipboard content. At last, you can move\n" " to the destination and press Ctrl-V to copy all the files you have in " "the clipboard. Of course, this also works\n" " with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n" " \n" " Startup notification\n" " - Startup notification is the process that displays a feedback (a " "sandbox cursor or whatever) to the user when\n" " he has started an action (file copying, application launching, etc.). " "Depending on the system, there can be\n" " some issues with startup notification. If Xfe was compiled with " "startup notification support, the user can\n" " disable it for all applications at the global Preferences level. He " "can also disable it for individual\n" " applications, by using the dedicated option in the first tab of the " "Properties dialog. This latter way is\n" " only available when the file is an executable. Disabling startup " "notification can be useful when starting\n" " an old application that doesn't support the startup notification " "protocol (e.g. Xterm).\n" " \n" " Root mode\n" " - If you use the sudo root mode, it can be useful to add password " "feedback to the sudo command. For this purpose,\n" " edit your sudoers file like this:\n" " sudo visudo -f /etc/suoders\n" " and then add 'pwfeedback' to the default options, as shown below:\n" " Defaults env_reset,pwfeedback\n" " After that, you should see stars (like *****) when you type your " "password in the small authentication window.\n" " \n" " \n" " \n" " Bugs\n" " =-=-=\n" " \n" " Please report any found bug to Roland Baudin . Don't " "forget to mention the Xfe version you use,\n" " the FOX library version and your system name and version.\n" " \n" " \n" " \n" " Translations\n" " =-=-=-=-=-=-=\n" " \n" " Xfe is now available in 23 languages but some translations are only " "partial. To translate Xfe to your language,\n" " open the Xfe.pot file located in the po folder of the source tree with a " "software like poedit, kbabel\n" " or gtranslator and fill it with your translated strings (be careful to the " "hotkeys and c-format characters),\n" " and then send it back to me. I'll be pleased to integrate your work in the " "next Xfe release.\n" " \n" " \n" " \n" " Patches\n" " =-=-=-=\n" " \n" " If you have coded some interesting patch, please send it to me, I will try " "to include it in the next release...\n" " \n" " \n" " Many thanks to Maxim Baranov for his excellent X Win Commander and to all " "people that have provided useful\n" " patches, translations, tests and advices.\n" " \n" " [Last revision: 28/11/2015]\n" " \n" " " msgstr "" "\n" "\n" "\n" " XFE, X File Explorer File Manager\n" " \n" " \n" " \n" " \n" " \n" " \n" " [Nejlepší je text číst s fixním fontem. Můžete nastavit na kartě Fonty " "dialogu voleb.]\n" "\n" "\n" "\n" " Tento program je svobodný software; můžete ho distribuovat a/nebo upravovat " "v souladu\n" " s ustanoveními GNU General Public License vydané Free Software Foundation;\n" " verze 2 nebo (podle vašeho uvážení) pozdější verze.\n" " \n" " This program is distributed in the hope that it will be useful, but WITHOUT " "ANY WARRANTY;\n" " without even the implied warranty of MERCHANTABILITY or FITNESS FOR A " "PARTICULAR PURPOSE.\n" " See the GNU General Public License for more details.\n" " \n" " \n" "\n" " Popis\n" " =-=-=-=\n" " \n" " X File Explorer (Xfe) je lehký souborový manažer pro X11, napsaný použitím " "FOX toolkitu.\n" " Je nezávislý na pracovním prostředí a jednoduše nastavitelný.\n" " Jeho styl je podobný Total Commanderu nebo MS-Exploreru a je velmi rychlý a " "malý.\n" " Xfe je založen na populárním, ale dále nevyvíjeném X Win Commanderu od " "Maxima Baranova.\n" " \n" " \n" "\n" " Vlastnosti\n" " =-=-=-=-=\n" " \n" " - Velmi rychlé uživatelské rozhraní\n" " - Podpora UTF-8\n" " - Rozhraní se čtyřmi módy : a) jeden panel, b) strom adresářů\n" " a jeden panel, c) dva panely a d) strom adresářů a dva panely\n" " - Panely se seznamem souborů horizontálně nebo vertikálně\n" " - Synchronizace a přepínaní panelů\n" " - Integrovaný textový editor a prohlížeč (X File Write, Xfw)\n" " - Integrovaný prohlížeč obrázků (X File Image, Xfi)\n" " - Integrovaný prohlížeč / instalátor / od instalátor balíků (rpm nebo " "deb) (X File Package, Xfp)\n" " - Uživatelské skripty (jako Nautilus skripty)\n" " - Vyhledávání souborů a adresářů\n" " - Přirozené řazení (foo10.txt bude za foo2.txt...)\n" " - Kopírování/Vyjmutí/Vkládání souborů z a do vašeho oblíbeného " "pracovního prostředí (GNOME/KDE/XFCE/ROX)\n" " - Drag and Drop souborů z a do vašeho oblíbeného pracovního prostředí " "(GNOME/KDE/XFCE/ROX)\n" " - Root mód s ověřením pomocí su nebo sudo\n" " - Stavový řádek\n" " - Asociace souborů\n" " - Volitelně koš pro mazání (vyhovující standartu freedesktop.org)\n" " - Automatické ukládání nastavení\n" " - Dvoj-klik nebo kliknutí pro navigaci soubory a adresáři\n" " - Vyskakovací menu na pravé kliknutí ve stromu a seznamu souborů\n" " - Změna atributů souboru(ů)\n" " - Připojování/Odpojování zařízení (jen na Linuxu)\n" " - Varování, když přípojný bod neodpovídá (jen na Linuxu)\n" " - Nástrojové lišty\n" " - Záložky\n" " - Seznam s historií dopředu i zpět pro navigaci adresáři\n" " - Barevné téma (GNOME, KDE, Windows...)\n" " - Téma ikon (Xfe, GNOME, KDE, XFCE, Tango, Windows...)\n" " - Téma ovládacích prvků (Standardní nebo Clearlooks)\n" " - Tvorba archívů (formáty tar, compress, zip, gzip, bzip2, xz a 7zip jsou " "podporovány)\n" " - Porovnávání souborů (pomocí externích nástrojů)\n" " - Rozbalování archívů (formáty tar, compress, zip, gzip, bzip2, xz, lzh, " "rar, ace, arj a 7zip jsou podporovány)\n" " - Tooltipy s vlastnostmi souboru\n" " - Ukazatele průběhu nebo dialogy s průběhem pro dlouhotrvající operace\n" " - Náhledy obrázků\n" " - Nastavitelné přiřazení kláves\n" " - Upozornění při spuštění (volitelně)\n" " - a mnoho dalšího...\n" " \n" " \n" "\n" " Výchozí přiřazení kláves\n" " =-=-=-=-=-=-=-=-=-=\n" " \n" " Níže je výchozí globální přiřazení kláves. Toto přiřazení kláves jsou " "společné všem X File aplikacím.\n" " \n" " * Vybrat vše - Ctrl-A\n" " * Kopírovat - Ctrl-C\n" " * Najít - Ctrl-F\n" " * Najít předchozí - Shift-Ctrl-G\n" " * Najít další - Ctrl-G\n" " * Jít do domovského adresáře - Ctrl-H\n" " * Obrácený výběr - Ctrl-I\n" " * Otevření souboru - Ctrl-O\n" " * Tisk souboru - Ctrl-P\n" " * Ukončení aplikace - Ctrl-Q\n" " * Vložit ze schránky - Ctrl-V\n" " * Zavřít okno - Ctrl-W\n" " * Vyjmout do schránky - Ctrl-X\n" " * Zrušit výběr všech - Ctrl-Z\n" " * Zobrazit nápovědu - F1\n" " * Vytvořit nový soubor - F2\n" " * Vytvořit nový adresář - F7\n" " * Seznam s velkými ikonami - F10\n" " * Seznam s malými ikonami - F11\n" " * Detailní seznam - F12\n" " * Přepnout zobrazení skrytých souborů - Ctrl-F6\n" " * Přepnout zobrazení náhledů - Ctrl-F7\n" " * Jít do pracovního adresáře - Shift-F2\n" " * Jít do nadřazeného adresáře - Backspace\n" " * Jít do předchozího adresáře - Ctrl-Backspace\n" " * Jít do dalšího adresáře - Shift-Backspace\n" " \n" " \n" " Níže je výchozí přiřazení kláves pro X File Explorer, specifické pro " "aplikaci Xfe.\n" " \n" " * Přidat záložku - Ctrl-B\n" " * Filtr souborů - Ctrl-D\n" " * Spustit příkaz - Ctrl-E\n" " * Vytvořit symbolicky odkaz - Ctrl-J\n" " * Přepnout panely - Ctrl-K\n" " * Vyčistit lokační řádek - Ctrl-L\n" " * Připojit souborový systém (Jen pro Linux) - Ctrl-M\n" " * Přejmenovat soubor - Ctrl-N\n" " * Obnovit panely - Ctrl-R\n" " * Symbolický odkaz do místa - Ctrl-S\n" " * Spustit terminálu - Ctrl-T\n" " * Odpojit souborový systém (Jen pro Linux) - Ctrl-U\n" " * Synchronizovat panely - Ctrl-Y\n" " * Vytvořit nové okno - F3\n" " * Editovat - F4\n" " * Kopírovat soubor na místo - F5\n" " * Přesunout soubor na místo - F6\n" " * Vlastnosti souboru - F9\n" " * Jeden panel - Ctrl-F1\n" " * Strom a panel - Ctrl-F2\n" " * Dva panely - Ctrl-F3\n" " * Strom a dva panely - Ctrl-F4\n" " * Přepnout zobrazení skrytých adresářů - Ctrl-F5\n" " * Jít ke koši - Ctrl-F8\n" " * Vytvořit nové root okno - Shift-F3\n" " * Zobrazit - Shift-F4\n" " * Přesunout soubory do koše - Del\n" " * Obnovit soubory z koše - Alt-Del\n" " * Smazat soubory - Shift-Del\n" " * Vyprázdnit koš - Ctrl-Del\n" " \n" " \n" " Níže je výchozí přiřazení kláves pro X File Image, specifické pro aplikaci " "Xfi.\n" " \n" " * Zobrazit do okna - Ctrl-F\n" " * Zrcadlit horizontálně - Ctrl-H\n" " * Zobrazit na 100% - Ctrl-I\n" " * Otočit doleva - Ctrl-L\n" " * Otočit doprava - Ctrl-R\n" " * Zrcadlit vertikálně - Ctrl-V\n" " \n" " \n" " Níže je výchozí přiřazení kláves pro X File Write, specifické pro aplikaci " "Xfw.\n" " \n" " * Přepnout mód zalamování - Ctrl-K\n" " * Jít na řádek - Ctrl-L\n" " * Vytvořit nový dokument - Ctrl-N\n" " * Nahradit řetězec - Ctrl-R\n" " * Uložit změny - Ctrl-S\n" " * Přepnout čísla řádků - Ctrl-T\n" " * Přepnout velká písmena - Shift-Ctrl-U\n" " * Přepnout malá písmena - Ctrl-U\n" " * Znovu - Ctrl-Y\n" " * Zpět - Ctrl-Z\n" " \n" " \n" " X File Package (Xfp) používají jen přiřazení kláves z globálního " "nastavení.\n" " \n" " Výše uvedené přiřazení kláves je možno upravit v dialogu voleb. Přesto,\n" " některé akce jsou na kódovány natvrdo a nemohou být změněny. Tyto:\n" " \n" " * Ctrl-+ a Ctrl-- - zvětší a zmenší obrázek v Xfi\n" " * Shift-F10 - zobrazí kontextové menu v Xfe\n" " * Return - přejde do adresáře, otevře " "soubory, aktivuje tlačítka atd.\n" " * Mezerník - přejde do adresáře v seznamu " "souborů\n" " * Esc - zavře aktivní dialog, zruší výběr " "souborů atd.\n" "\n" " \n" " \n" " Drag and Drop operace :\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Tažením souboru nebo skupiny souborů (posouvání myší se stisknutým levým " "tlačítkem) do adresáře\n" " nebo souborového panelu otevře dialog pro výběr operace : kopírování, " "přesunutí, odkaz nebo zrušení.\n" " \n" " \n" "\n" " Systém koše\n" " =-=-=-=-=-=\n" " \n" " S verzí 1.32, Xfe implementuje koš plně odpovídající standardům " "freedesktop.org.\n" " To umožňuje přesunout soubory do koše a obnovit je pomocí Xfe nebo " "pracovního prostředí\n" " Umístění koše: ~/.local/share/Trash/files\n" "\n" "\n" "\n" " Konfigurace\n" " =-=-=-=-=-=-=\n" " \n" " Můžete provést úpravu Xfe (rozvržení, asociace souborů, ...) bez ruční " "editace souborů. \n" " Přesto, by jste měl rozumět principu konfigurace, protože některé úpravy je " "snazší provést\n" " editací konfiguračních souborů.\n" " Určitě ukončete Xfe před ruční úpravou konfiguračního souboru, jinak se " "provedené změny ztratí.\n" " \n" " Systémový konfigurační soubor xferc je umístěn v /usr/share/xfe, /usr/local/" "share/xfe\n" " nebo /opt/local/share/xfe.\n" " \n" " Od verze 1.32 je umístění konfiguračních souborů změněno. Odpovídá " "standardu freedesktop.org.\n" " \n" " Uživatelské konfigurační soubory pro Xfe, Xfw, Xfi, Xfp jsou umístěny v " "adresáři ~/.config/xfe.\n" " Jmenují se xferc, xfwrc, xfirc a xfprc.\n" " \n" " Při prvním spuštění Xfe se systémový konfigurační soubor nakopíruje do ~/." "config/xfe/xferc,\n" " který ještě neexistuje. Jestliže není systémový konfigurační soubor " "nalezen\n" " (v případě neobvyklého místa pro instalaci), uživatel bude dotázán na jeho " "umístění.\n" " To je jednoduší úprava Xfe (částečně pravda pro asociaci souborů) ruční " "editací možností v jednom souboru.\n" " \n" " Výchozí PNG ikony jsou umístěny v /usr/share/xfe/icons/xfe-theme nebo /usr/" "local/share/xfe/icons/xfe-theme\n" " v závislosti na vaší instalaci.\n" " Můžete jednoduše změnit cestu k ikonám pro témata v dialogu voleb.\n" " \n" " \n" "\n" " Skripty\n" " =-=-=-=\n" " \n" " Uživatelské shell skripty mohou být spuštěny z Xfe nad vybranými soubory. " "Nejprve musíte\n" " vybrat soubory, které chcete zpracovat, pak pravý klik a přejít do podmenu " "Skripty. Nakonec vyberte\n" " skript, který chcete aplikovat na vybrané soubory.\n" " \n" " Soubory skriptů musí být v ~/.config/xfe/scripts folder a být spustitelné. " "Adresář můžete organizovat\n" " pomocí podadresářů. Můžete použít Nástroje/Jít do adresáře se skripty pro " "přechod\n" " do adresáře a spravovat je.\n" " \n" " Příklad skriptu, který vypíše vybrané soubory v okně terminálu z kterého " "bylo Xfe spuštěno:\n" " \n" " #!/bin/sh\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " \n" " Můžete také použít programy jako xmessage, zenity nebo kdialog pro " "zobrazení okna s tlačítky, které umožní\n" " interakci se skriptem. Úprava skriptu výše pomocí xmessage:\n" " \n" " #!/bin/sh\n" " (\n" " echo \"ls -la\"\n" " for arg\n" " do\n" " /bin/ls -la \"$arg\"\n" " done\n" " ) | xmessage -file -\n" " \n" " Často je možné přímo použít Nautilus skripty nalezené na internetu bez " "jakýkoliv úprav.\n" " \n" " \n" " \n" " Hledání souborů a adresářů\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " \n" " Xfe umožňuje hledat soubory a adresáře pomocí příkazů find a grep. Lze " "spustit pomocí\n" " Nástroje / Hledat soubory (nebo pomocí klávesové zkratky Ctrl-F).\n" " \n" " V okně hledání je možné specifikovat obvyklé masky hledání jako jméno a " "text, ale jsou dostupné i pokročilejší volby\n" " (velikost, datum, práva, uživatelé, skupiny, následovat odkazy a prázdné " "soubory). Výsledek se zobrazí\n" " jako seznam souborů a uživatel je může spravovat pomocí menu na pravé " "kliknuté, stejně jako\n" " v panelech souborů.\n" " \n" " Hledání může být přerušeno kliknutím na tlačítko Stop nebo stiskem klávesy " "Escape.\n" " \n" " \n" " \n" " Jazyky s nelatinkovými znaky\n" " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n" " \n" " Xfe může rozhraní a jména souborů zobrazit v jazycích s nelatinkovými " "znaky, při výběru\n" " Unicode fontu podporující tvojí znakovou sadu. Pro výběr vhodného fontu " "použijte\n" " položku menu Editovat / Nastavení / Fonty.\n" " \n" " Unicode TrueType fonty lze najít na adrese: http://www.slovo.info/unifonts." "htm\n" " \n" " \n" " \n" " Tipy\n" " =-=-=\n" " \n" " Seznam souborů\n" " - Vyberte soubor(y) a pravým kliknutím otevřete menu\n" " - Stiskněte Ctrl + pravé kliknutí pro otevření menu pro souborový panel\n" " - Při tažení souboru/adresáře do adresáře přidržte nad ním myš pro jeho " "otevření\n" " \n" " Stromový seznam\n" " - Vyberte adresář a pravým kliknutím otevřete menu\n" " - Při tažení souboru/adresáře do adresáře přidržte nad ním myš\n" " pro jeho rozbalení\n" " \n" " Jména souborů při Kopírování/Vkládání\n" " - Vyberte soubor a stisknutím Ctrl-C zkopírujete jeho jméno do schránky. " "Pak v dialogu stiskněte Ctrl-V pro jeho\n" " vložení.\n" " - V dialogu souborových operací, vyberte jméno souboru na řádku " "obsahující zdrojové jméno a vložte ho\n" " do cílového stisknutím prostředního tlačítka myši. Pak ho upravte jak " "potřebujete.\n" " \n" " Upozorňování při startu\n" " - Jestliže je Xfe zkompilováno s podporou upozorňování při startu, lze " "ho vypnout pro všechny aplikace globálně\n" " v Nastavení. Může také být vypnut pro jednotlivé aplikace, pomocí " "příslušné volby na první kartě\n" " dialogu Vlastnosti. Tato možnost je dostupná jen pro spustitelné " "soubory.\n" " Vypnutí upozorňování při startu může být užitečné pro aplikace, které " "nepodporují protokol\n" " upozorňování při startu (např. Xterm).\n" " \n" " \n" " \n" " Chyby\n" " =-=-=-=\n" " \n" " Prosím oznamujte chyby Rolandovi Baudinovi . Nezapomeňte " "na verzi Xfe, FOX knihovny a systému\n" " \n" " \n" "\n" " Překlady\n" " =-=-=-=-=\n" " \n" " Xfe je nyní dostupné v 23 jazycích.\n" " \n" " \n" "\n" " Záplaty\n" " =-=-=-=\n" " \n" " Když vytvoříte zajímavou záplatu, tak mně ji prosím pošlete. Zkusím ji " "vložit do dalšího vydání...\n" " \n" " Poděkování Maximovi Baranovi za jeho skvělý X Win Commander a všem kdo " "poslali záplaty,\n" " testy a rady.\n" " \n" " [Poslední revize: 11.01.2015]\n" " \n" " " #. First tab is global key bindings #: ../src/Keybindings.cpp:87 msgid "&Global Key Bindings" msgstr "&Globální přiřazení kláves" #: ../src/Keybindings.cpp:89 msgid "" "These key bindings are common to all Xfe applications.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Toto přiřazení kláves je společné všem Xfe aplikacím.\n" "Dvoj-klikem spustíte úpravu vybraného přiřazení kláves..." #. Second tab is Xfe key bindings #: ../src/Keybindings.cpp:93 msgid "Xf&e Key Bindings" msgstr "Přiřazení kláves Xf&e" #: ../src/Keybindings.cpp:95 msgid "" "These key bindings are specific to the X File Explorer application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Toto přiřazení kláves je specifické pro aplikaci X File Explorer.\n" "Dvoj-klikem spustíte úpravu vybraného přiřazení kláves..." #. Third tab is Xfi key bindings #: ../src/Keybindings.cpp:99 msgid "Xf&i Key Bindings" msgstr "Přiřazení kláves Xf&i" #: ../src/Keybindings.cpp:101 msgid "" "These key bindings are specific to the X File Image application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Toto přiřazení kláves je specifické pro aplikaci X File Image.\n" "Dvoj-klikem spustíte úpravu vybraného přiřazení kláves..." #. Fourth tab is Xfw key bindings #: ../src/Keybindings.cpp:105 msgid "Xf&w Key Bindings" msgstr "Přiřazení kláves Xf&w" #: ../src/Keybindings.cpp:107 msgid "" "These key bindings are specific to the X File Write application.\n" "Double click on an item to modify the selected key binding..." msgstr "" "Toto přiřazení kláves je specifické pro aplikaci X File Write.\n" "Dvoj-klikem spustíte úpravu vybraného přiřazení kláves..." #: ../src/Keybindings.cpp:114 ../src/Keybindings.cpp:118 #: ../src/Keybindings.cpp:122 ../src/Keybindings.cpp:126 msgid "Action Name" msgstr "Jméno akce" #: ../src/Keybindings.cpp:115 ../src/Keybindings.cpp:119 #: ../src/Keybindings.cpp:123 ../src/Keybindings.cpp:127 msgid "Registry Key" msgstr "Klíč registru" #: ../src/Keybindings.cpp:116 ../src/Keybindings.cpp:120 #: ../src/Keybindings.cpp:124 ../src/Keybindings.cpp:128 msgid "Key Binding" msgstr "Přiřazení kláves" #: ../src/Keybindings.cpp:856 ../src/Keybindings.cpp:1000 #: ../src/Keybindings.cpp:1108 ../src/Keybindings.cpp:1216 #, c-format msgid "Press the combination of keys you want to use for the action: %s" msgstr "Stiskněte kombinaci kláves, kterou chce používat pro akci: %s" #: ../src/Keybindings.cpp:857 ../src/Keybindings.cpp:1001 #: ../src/Keybindings.cpp:1109 ../src/Keybindings.cpp:1217 msgid "[Press space to disable the key binding for this action]" msgstr "[Stisknutím mezerníku deaktivujete přiřazení kláves pro akci]" #: ../src/Keybindings.cpp:858 ../src/Keybindings.cpp:1002 #: ../src/Keybindings.cpp:1110 ../src/Keybindings.cpp:1218 msgid "Modify Key Binding" msgstr "Úprava přiřazení kláves" #: ../src/Keybindings.cpp:887 ../src/Keybindings.cpp:1031 #: ../src/Keybindings.cpp:1139 ../src/Keybindings.cpp:1247 #, fuzzy, c-format msgid "" "The key binding %s is already used in the global section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Přiřazení kláves %s už existuje v globální sekci.\n" "\tMěl byste smazat existující přiřazení kláves před jejich opětovným " "přiřazením." #: ../src/Keybindings.cpp:905 ../src/Keybindings.cpp:1049 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfe section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Přiřazení kláves %s už existuje v Xfe sekci.\n" "\tMěl byste smazat existující přiřazení kláves před jejich opětovným " "přiřazením." #: ../src/Keybindings.cpp:923 ../src/Keybindings.cpp:1157 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfi section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Přiřazení kláves %s už existuje v Xfi sekci.\n" "\tMěl byste smazat existující přiřazení kláves před jejich opětovným " "přiřazením." #: ../src/Keybindings.cpp:941 ../src/Keybindings.cpp:1265 #, fuzzy, c-format msgid "" "The key binding %s is already used in the Xfw section.\n" "You should erase the existing key binding before assigning it again." msgstr "" "Přiřazení kláves %s už existuje v Xfw sekci.\n" "\tMěl byste smazat existující přiřazení kláves před jejich opětovným " "přiřazením." #: ../src/startupnotification.cpp:81 ../src/startupnotification.cpp:133 #: ../src/startupnotification.cpp:200 ../src/startupnotification.cpp:228 #: ../src/startupnotification.cpp:257 #, c-format msgid "Error: Can't enter folder %s: %s" msgstr "Chyba: Nemohu otevřít adresář %s: %s" #: ../src/startupnotification.cpp:85 ../src/startupnotification.cpp:137 #: ../src/startupnotification.cpp:204 ../src/startupnotification.cpp:232 #: ../src/startupnotification.cpp:261 #, c-format msgid "Error: Can't enter folder %s" msgstr "Chyba: Nemohu otevřít adresář %s" #: ../src/startupnotification.cpp:126 #, c-format msgid "Error: Can't open display\n" msgstr "Chyba: Nemohu otevřít displej\n" #: ../src/startupnotification.cpp:145 #, c-format msgid "Start of %s" msgstr "Start %s" #: ../src/startupnotification.cpp:185 ../src/startupnotification.cpp:243 #, c-format msgid "Error: Can't execute command %s" msgstr "Chyba: Nemohu spustit příkaz %s" #: ../src/xfeutils.cpp:810 ../src/xfeutils.cpp:898 #, c-format msgid "Error: Can't close folder %s\n" msgstr "Chyba: Nemohu zavřít adresář %s\n" #: ../src/xfeutils.cpp:917 msgid "bytes" msgstr "bytů" #: ../src/xfeutils.cpp:921 msgid "GB" msgstr "GB" #: ../src/xfeutils.cpp:927 msgid "MB" msgstr "MB" #: ../src/xfeutils.cpp:1081 msgid "copy" msgstr "kopie" #: ../src/xfeutils.cpp:1373 #, c-format msgid "Error: Can't read group list: %s" msgstr "Chyba: Nemohu číst seznam skupin: %s" #: ../src/xfeutils.cpp:1377 #, c-format msgid "Error: Can't read group list" msgstr "Chyba: Nemohu číst seznam skupin" #: ../xfe.desktop.in.h:1 msgid "Xfe" msgstr "Xfe" #: ../xfe.desktop.in.h:2 msgid "File Manager" msgstr "Souborový manažer" #: ../xfe.desktop.in.h:3 msgid "A lightweight file manager for X Window" msgstr "Lehký souborový manažer pro X" #: ../xfi.desktop.in.h:1 msgid "Xfi" msgstr "Xfi" #: ../xfi.desktop.in.h:2 msgid "Image Viewer" msgstr "Prohlížeč obrázků" #: ../xfi.desktop.in.h:3 msgid "A simple image viewer for Xfe" msgstr "Jednoduchý prohlížeč obrázků pro Xfe" #: ../xfw.desktop.in.h:1 msgid "Xfw" msgstr "Xfw" #: ../xfw.desktop.in.h:2 msgid "Text Editor" msgstr "Textový editor" #: ../xfw.desktop.in.h:3 msgid "A simple text editor for Xfe" msgstr "Jednoduchý textový editor pro Xfe" #: ../xfp.desktop.in.h:1 msgid "Xfp" msgstr "Xfp" #: ../xfp.desktop.in.h:2 msgid "Package Manager" msgstr "Správce balíků" #: ../xfp.desktop.in.h:3 msgid "A simple package manager for Xfe" msgstr "Jednoduchý správce balíků pro Xfe" #, fuzzy #~ msgid "Set focus to panel" #~ msgstr "Zobrazí dva panely" #~ msgid "Panel does not have focus" #~ msgstr "Panel nemá zaměření" #, fuzzy #~ msgid "Folder Usage" #~ msgstr "Jméno adresáře" #, fuzzy #~ msgid "Folder &Usage" #~ msgstr "Jméno adresáře" #, fuzzy #~ msgid "Confirm Properties" #~ msgstr "Potvrzení přepsání" #~ msgid "P&roperties..." #~ msgstr "Vlast&nosti..." #~ msgid "&Properties..." #~ msgstr "Vlast&nosti..." #~ msgid "&About X File Write..." #~ msgstr "&O X File Write" #~ msgid "Delete: " #~ msgstr "Smazat: " #~ msgid "File: " #~ msgstr "Soubor: " #~ msgid "Can't create trash can 'files' folder %s : %s" #~ msgstr "Nemohu vytvořit adresář koše 'files' %s : %s" #~ msgid "Non-existing file: %s" #~ msgstr "Neexistující soubor: %s" #, fuzzy #~ msgid "2Can't rename to target %s: %s" #~ msgstr "Nemohu přejmenovat na cíl %s: %s" #, fuzzy #~ msgid "Mouse scrolling" #~ msgstr "Rychlost točení kolečka myši:" #~ msgid "Mouse" #~ msgstr "Myš" #~ msgid "Source size: %s - Modified date: %s" #~ msgstr "Velikost zdroje: %s - Upraveno: %s" #~ msgid "Target size: %s - Modified date: %s" #~ msgstr "Velikost cíle: %s - Upraveno: %s" #, fuzzy #~ msgid "Error: Failed to load %s icon. Please check your icon path...\n" #~ msgstr "Nemohu načíst některé ikony. Prosím zkontrolujte cestu k ikonám!" #~ msgid "Go back" #~ msgstr "Jít zpět" #~ msgid "Move to previous folder." #~ msgstr "Přejde do předchozího adresáře." #~ msgid "Go forward" #~ msgstr "Jít dopředu" #~ msgid "Move to next folder." #~ msgstr "Přejde do dalšího adresáře." #~ msgid "Go up one folder" #~ msgstr "Jít o adresář výš" #~ msgid "Move up to higher folder." #~ msgstr "Přejde o adresář výše." #~ msgid "Back to home folder." #~ msgstr "Přejde do domovského adresáře." #~ msgid "Back to working folder." #~ msgstr "Přejde do pracovního adresáře." #~ msgid "Show icons" #~ msgstr "Zobrazit ikony" #~ msgid "Show list" #~ msgstr "Zobrazit seznam" #~ msgid "Display folder with small icons." #~ msgstr "Zobrazí adresář s malými ikonami." #~ msgid "Show details" #~ msgstr "Zobrazit detaily" #~ msgid "" #~ "\n" #~ "Usage: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] can be any of the following:\n" #~ "\n" #~ " -h, --help Print (this) help screen and exit.\n" #~ " -v, --version Print version information and exit.\n" #~ "\n" #~ " [file1] [file2] [file3]... are the path(s) to the file(s) you want to " #~ "open on start up.\n" #~ "\n" #~ msgstr "" #~ "\n" #~ "Použití: xfv [options] [file1] [file2] [file3]...\n" #~ "\n" #~ " [options] mohou být následující:\n" #~ "\n" #~ " -h, --help Zobrazí nápovědu a skončí.\n" #~ " -v, --version Zobrazí verzi a skončí.\n" #~ "\n" #~ " [file1] [file2] [file3] jsou cesty k souborům, které chcete otevřít " #~ "při startu.\n" #~ "\n" #~ msgid "Col:" #~ msgstr "Sloupec:" #~ msgid "Line:" #~ msgstr "Řádek:" #~ msgid "Open document." #~ msgstr "Otevře dokument." #~ msgid "Quit Xfv." #~ msgstr "Ukončí Xfv." #~ msgid "Find" #~ msgstr "Najít" #~ msgid "Find string in document." #~ msgstr "Najde řetězec v dokumentu." #~ msgid "Find again" #~ msgstr "Najít znovu" #~ msgid "Find string again." #~ msgstr "Najde řetězec znovu." #~ msgid "&Find..." #~ msgstr "&Najít..." #~ msgid "Find a string in a document." #~ msgstr "Najde řetězec v dokumentu." #~ msgid "Find &again" #~ msgstr "Najít &znovu" #~ msgid "Display status bar." #~ msgstr "Zobrazí stavový řádek." #~ msgid "&About X File View" #~ msgstr "&O X File View" #~ msgid "About X File View." #~ msgstr "O X File View." #~ msgid "" #~ "X File View Version %s is a simple text viewer.\n" #~ "\n" #~ msgstr "" #~ "X File View %s je jednoduchý textový prohlížeč.\n" #~ "\n" #~ msgid "About X File View" #~ msgstr "O X File View" #~ msgid "Error Reading File" #~ msgstr "Chyba při čtení souboru" #~ msgid "Unable to load entire file: %s" #~ msgstr "Nemohu načíst daný soubor: %s" #~ msgid "&Find" #~ msgstr "&Najít" #~ msgid "Not Found" #~ msgstr "Nenalezen" #~ msgid "String '%s' not found" #~ msgstr "Řetězec '%s' nenalezen" #~ msgid "Xfv" #~ msgstr "Xfv" #~ msgid "Text Viewer" #~ msgstr "Prohlížeč textů" #~ msgid "A simple text viewer for Xfe" #~ msgstr "Jednoduchý prohlížeč textů pro Xfe" #, fuzzy #~ msgid "Destination %s is identical to source!!" #~ msgstr "Cíl %s je identický se zdrojem" #, fuzzy #~ msgid "Target %s is a sub-folder of source2" #~ msgstr "Cíl %s je podadresář zdroje" #, fuzzy #~ msgid "Destination %s is identical to source3" #~ msgstr "Cíl %s je identický se zdrojem" #, fuzzy #~ msgid "Destination %s is identical to source4" #~ msgstr "Cíl %s je identický se zdrojem" #, fuzzy #~ msgid "Destination %s is identical to source5" #~ msgstr "Cíl %s je identický se zdrojem" #, fuzzy #~ msgid "Destination %s is identical to source6" #~ msgstr "Cíl %s je identický se zdrojem" #, fuzzy #~ msgid "Destination %s is identical to source7" #~ msgstr "Cíl %s je identický se zdrojem" #~ msgid "Ignore case" #~ msgstr "Ignorovat velikost písmen" #~ msgid "In directory:" #~ msgstr "V adresáři:" #~ msgid "\tIn directory..." #~ msgstr "\tV adresáři..." #~ msgid "Re&store from trash" #~ msgstr "O&bnovit z koše" #, fuzzy #~ msgid "File size at least:" #~ msgstr "Soubory a adresáře" #, fuzzy #~ msgid "File size at most:" #~ msgstr "&Asociace souboru" #, fuzzy #~ msgid " Items" #~ msgstr " položky" #, fuzzy #~ msgid "Search results - " #~ msgstr "Najít předchozí" #, fuzzy #~ msgid "\tBig icon list\tDisplay folder with big icons." #~ msgstr "Zobrazí adresář s velkými ikonami." #, fuzzy #~ msgid "\tSmall icon list\tDisplay folder with small icons." #~ msgstr "Zobrazí adresář s malými ikonami." #, fuzzy #~ msgid "\tDetailed list\tDisplay detailed folder listing." #~ msgstr "Zobrazí detailní výpis adresáře." #, fuzzy #~ msgid "\tShow thumbnails (Ctrl-F7)" #~ msgstr "Zobrazit náhledy" #, fuzzy #~ msgid "\tHide thumbnails (Ctrl-F7)" #~ msgstr "Skrýt náhledy" #, fuzzy #~ msgid "\tCopy selected files to clipboard (Ctrl-C)" #~ msgstr "Zkopíruje vybrané soubory do schránky" #, fuzzy #~ msgid "\tCut selected files to clipboard (Ctrl-X)" #~ msgstr "Vyjme vybrané soubory do schránky" #, fuzzy #~ msgid "\tShow properties of selected files (F9)" #~ msgstr "Zobrazí vlastnosti vybraných souborů" #, fuzzy #~ msgid "\tMove selected files to trash can (Del, F8)" #~ msgstr "Přesune vybrané soubory do koše" #, fuzzy #~ msgid "\tDelete selected files (Shift-Del)" #~ msgstr "Smaže vybrané soubory" #, fuzzy #~ msgid "Show hidden files and directories" #~ msgstr "Zobrazí skryté soubory a adresáře." #, fuzzy #~ msgid "Search files..." #~ msgstr "\tVybrat soubor..." #~ msgid "Dir&ectories first" #~ msgstr "Nejdřív a&dresáře" #~ msgid "Toggle display hidden directories" #~ msgstr "Přepínání zobrazení skrytých adresářů" #~ msgid "&Directories first" #~ msgstr "&Nejdřív adresáře" #, fuzzy #~ msgid "Error: Can't enter directory %s: %s" #~ msgstr "Nemohu smazat adresář %s: %s" #, fuzzy #~ msgid "Error: Can't enter directory %s" #~ msgstr "Chyba! Nemohu otevřít displej\n" #~ msgid "Go to working directory" #~ msgstr "Jít do pracovního adresáře" #~ msgid "Go to previous directory" #~ msgstr "Jít do předchozího adresáře" #~ msgid "Go to next directory" #~ msgstr "Jít do dalšího adresáře" #~ msgid "Parent directory %s does not exist, do you want to create it?" #~ msgstr "Nadřazený adresář %s neexistuje, chcete ho vytvořit?" #, fuzzy #~ msgid "Can't enter directory %s: %s" #~ msgstr "Nemohu smazat adresář %s: %s" #, fuzzy #~ msgid "Can't enter directory %s" #~ msgstr "Root adresář" #~ msgid "Directory name" #~ msgstr "Jméno adresáře" #~ msgid "Single click directory open" #~ msgstr "Kliknutí otevře adresář" #~ msgid "Confirm quit" #~ msgstr "Potvrzení ukončení" #~ msgid "Quitting Xfe" #~ msgstr "Ukončení Xfe" #~ msgid "Display toolbar" #~ msgstr "Zobrazí nástrojovou lištu" #~ msgid "Display or hide toolbar." #~ msgstr "Zobrazí nebo skryje nástrojovou lištu." #~ msgid "Move the selected item to trash can?" #~ msgstr "Přesunout vybranou položku do koše? " #~ msgid "Definitively delete the selected item?" #~ msgstr "Definitivně smazat vybranou položku? " #~ msgid "&Execute" #~ msgstr "&Spustit" #, fuzzy #~ msgid "Warn if preserve date failed when copying" #~ msgstr "Nemohu uchovat datum, při kopírování souboru %s" #~ msgid "rar\tArchive format is rar" #~ msgstr "rar\tFormát archívu je rar" #~ msgid "lzh\tArchive format is lzh" #~ msgstr "lzh\tFormát archívu je lzh" #~ msgid "arj\tArchive format is arj" #~ msgstr "arj\tFormát archívu je arj" #, fuzzy #~ msgid "Source path %s is included into target path" #~ msgstr "Zdroj %s je identický s cílem" #, fuzzy #~ msgid "1An error has occurred during the copy file operation!" #~ msgstr "Nastala chyba při kopírování!" #~ msgid "File list: Unknown package format" #~ msgstr "Seznam souborů: Neznámý formát balíku" #~ msgid "Description: Unknown package format" #~ msgstr "Popis: Neznámý formát balíku" #~ msgid "" #~ "An error has occurred! \n" #~ "Please check that the xfvt program is in your path." #~ msgstr "" #~ "Nastala chyba! \n" #~ "Zkontrolujte jestli je xfvt na správné cestě." #, fuzzy #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires the selection of a valid terminal " #~ "program in the Preferences menu." #~ msgstr "" #~ "Nastala chyba! \n" #~ "Je třeba mít nainstalován terminál pro mód s právy roota." #~ msgid "" #~ "An error has occurred! \n" #~ "Please note that the root mode requires a working terminal installed on " #~ "your system." #~ msgstr "" #~ "Nastala chyba! \n" #~ "Je třeba mít nainstalován terminál pro mód s právy roota." #~ msgid "Folder %s is not empty, move it anyway to trash can?" #~ msgstr "Adresář %s není prázdný, přesto přesunout do koše?" #~ msgid "Confirm delete/restore" #~ msgstr "Potvrzení smazání/obnovení" #, fuzzy #~ msgid "Copy %s items from: %s" #~ msgstr " položky z: " #, fuzzy #~ msgid "Can't create trash can files folder %s: %s" #~ msgstr "Nemohu přepsat neprázdný adresář %s" #, fuzzy #~ msgid "Can't create trash can files folder %s" #~ msgstr "Nemohu přepsat neprázdný adresář %s" #, fuzzy #~ msgid "Can't create trash can info folder %s: %s" #~ msgstr "Nemohu přepsat neprázdný adresář %s" #, fuzzy #~ msgid "Can't create trash can info folder %s" #~ msgstr "Nemohu přepsat neprázdný adresář %s" #~ msgid "Move folder " #~ msgstr "Přesunout adresář" #~ msgid "File " #~ msgstr "Soubor" #~ msgid "Can't copy folder " #~ msgstr "Nemohu kopírovat adresář" #~ msgid ": Permission denied" #~ msgstr " : Nedostatečná práva" #~ msgid "Can't copy file " #~ msgstr "Nemohu kopírovat soubor" #~ msgid "Installing package: " #~ msgstr "Instalace balíku:" #~ msgid "Uninstalling package: " #~ msgstr "Odinstalace balíku:" #~ msgid " items from: " #~ msgstr " položky z: " #~ msgid " Move " #~ msgstr " Přesunout" #~ msgid " selected items to trash can? " #~ msgstr " vybrané položky do koše? " #~ msgid " Definitely delete " #~ msgstr " Definitivně smazat" #~ msgid " selected items? " #~ msgstr " vybrané položky?" #~ msgid " is not empty, delete it anyway?" #~ msgstr " není prázdný, přesto smazat?" #~ msgid "X File Package Version " #~ msgstr "Verze X File Package" #~ msgid "X File Image Version " #~ msgstr "Verze X File Image " #~ msgid "X File Write Version " #~ msgstr "Verze X File Write " #~ msgid "X File View Version " #~ msgstr "Verze X File View " #, fuzzy #~ msgid "Restore folder " #~ msgstr "Přesunout adresář" #, fuzzy #~ msgid " selected items from trash can? " #~ msgstr " vybrané položky do koše? " #, fuzzy #~ msgid "Go up" #~ msgstr "Skupina" #, fuzzy #~ msgid "Go home" #~ msgstr "Jít &domů" #, fuzzy #~ msgid "Go work" #~ msgstr "Jít k &pracovnímu" #, fuzzy #~ msgid "Full file list" #~ msgstr "Ú&plný seznam souborů" #, fuzzy #~ msgid "Execute a command" #~ msgstr "Spustit příkaz" #, fuzzy #~ msgid "Add a bookmark" #~ msgstr "&Přidat záložku\tCtrl-B" #, fuzzy #~ msgid "Panel refresh" #~ msgstr "\tObnovit panel (Ctrl-R)" #, fuzzy #~ msgid "Terminal" #~ msgstr "Terminál:" #~ msgid "Folder is already in the trash can! Definitively delete folder " #~ msgstr "Adresář už jev koši! Definitivně smazat adresář" #~ msgid "File is already in the trash can! Definitively delete file " #~ msgstr "Soubor už je v koši! Definitivně ho smazat" #, fuzzy #~ msgid "Deleted from" #~ msgstr "Smazat:" #, fuzzy #~ msgid "Deleted from: " #~ msgstr "Smazat adresář:" xfe-1.42/src/0000755000175100017510000000000012746115271010022 500000000000000xfe-1.42/src/BrowseInputDialog.cpp0000644000175100017510000001414012625057511014045 00000000000000// Input dialog with file browse icon #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "FileDialog.h" #include "TextLabel.h" #include "BrowseInputDialog.h" extern FXString homedir; FXDEFMAP(BrowseInputDialog) BrowseInputDialogMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, BrowseInputDialog::onCmdKeyPress), FXMAPFUNC(SEL_COMMAND, BrowseInputDialog::ID_BROWSE_PATH, BrowseInputDialog::onCmdBrowsePath), }; // Object implementation FXIMPLEMENT(BrowseInputDialog, DialogBox, BrowseInputDialogMap, ARRAYNUMBER(BrowseInputDialogMap)) // Construct a dialog box BrowseInputDialog::BrowseInputDialog(FXWindow* win, FXString inp, FXString message, FXString title, FXString label, FXIcon* ic, FXuint browse, FXbool option, FXString optiontext) : DialogBox(win, title, DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE) { // Browse type flag browsetype = browse; // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, PACK_UNIFORM_WIDTH|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Accept new FXButton(buttons, _("&Accept"), NULL, this, ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Optional check box checkbutton = new FXHorizontalFrame(this, JUSTIFY_RIGHT|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 0, 0); if (option) { new FXCheckButton(checkbutton, optiontext, this, ID_TOGGLE_OPTION); } // Vertical frame FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Icon and text label // Note : we display the message in a TextLabel. This allows to copy/paste the file name to the input text field FXMatrix* matrix1 = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); iconlabel = new FXLabel(matrix1, "", ic, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); msg = new TextLabel(matrix1, 30, 0, 0, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW|FRAME_NONE); msg->setText(message); msg->setBackColor(getApp()->getBaseColor()); // Label and input field FXMatrix* matrix2 = new FXMatrix(contents, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix2, label, NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); input = new FXTextField(matrix2, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); input->setText(inp); new FXButton(matrix2, _("\tSelect destination..."), filedialogicon, this, ID_BROWSE_PATH, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); if (!isUtf8(message.text(), message.length())) { new FXLabel(contents, _("=> Warning: file name is not UTF-8 encoded!"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); } // Initial directory for browsing initialdir = homedir; } void BrowseInputDialog::create() { DialogBox::create(); input->setFocus(); } BrowseInputDialog::~BrowseInputDialog() { delete input; delete msg; delete iconlabel; } long BrowseInputDialog::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } long BrowseInputDialog::onCmdBrowsePath(FXObject* o, FXSelector s, void* p) { FXString title; if (browsetype == BROWSE_INPUT_FOLDER) { title = _("Select a destination folder"); } else if (browsetype == BROWSE_INPUT_FILE) { title = _("Select a file"); } else { title = _("Select a file or a destination folder"); } // File dialog FileDialog browse(this, title); const char* patterns[] = { _("All Files"), "*", NULL }; browse.setDirectory(initialdir); browse.setPatternList(patterns); // Browse files in directory or mixed mode depending on the flag if (browsetype == BROWSE_INPUT_FOLDER) { browse.setSelectMode(SELECT_FILE_DIRECTORY); } else if (browsetype == BROWSE_INPUT_FILE) { browse.setSelectMode(SELECT_FILE_EXISTING); } else { browse.setSelectMode(SELECT_FILE_MIXED); } if (browse.execute()) { FXString path = browse.getFilename(); input->setText(path); } return(1); } // Adjust message size void BrowseInputDialog::setMessage(FXString message) { // Compute the equivalent size in number of columns of '8' of the message string, // taking into account the real size of the font characters FXFont* font = getApp()->getNormalFont(); int nbcols = (int)ceil((double)font->getTextWidth(message) / (double)font->getCharWidth('8')); // Tricks to adjust the dialog width to the real text size this->setWidth(1); if (message.length() > MAX_MESSAGE_LENGTH) { msg->setNumColumns(MAX_MESSAGE_LENGTH); } else { msg->setNumColumns(nbcols); } msg->setText(message); } // Set initial directory void BrowseInputDialog::setDirectory(const FXString& path) { initialdir = path; } FXString BrowseInputDialog::getText() { return(input->getText()); } void BrowseInputDialog::setText(const FXString& text) { input->setText(text); } // Change dialog icon void BrowseInputDialog::setIcon(FXIcon* icon) { iconlabel->setIcon(icon); } void BrowseInputDialog::selectAll() { input->setSelection(0, (input->getText()).length()); } void BrowseInputDialog::CursorEnd() { input->onCmdCursorEnd(0, 0, 0); } void BrowseInputDialog::setSelection(int pos, int len) { input->setSelection(pos, len); } xfe-1.42/src/FilePanel.cpp0000644000175100017510000063210612746101541012310 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "FileDialog.h" #include "FileList.h" #include "Properties.h" #include "XFileExplorer.h" #include "InputDialog.h" #include "BrowseInputDialog.h" #include "ArchInputDialog.h" #include "HistInputDialog.h" #include "File.h" #include "MessageBox.h" #include "OverwriteBox.h" #include "CommandWindow.h" #include "ExecuteBox.h" #include "PathLinker.h" #include "FilePanel.h" // Duration (in ms) before we can stop refreshing the file list // Used for file operations on a large list of files #define STOP_LIST_REFRESH_INTERVAL 5000 // Number of files before stopping the file list refresh #define STOP_LIST_REFRESH_NBMAX 100 // Clipboard notes : // The uri-list type used for Xfe is the same as the Gnome uri-list type // The standard uri-list type is used for KDE and non Gnome / XFCE file managers // A special uri-list type that containd only "0" (for copy) or "1" (for cut) is used for KDE compatibility // Global Variables extern FXMainWindow* mainWindow; extern FXString homedir; extern FXString xdgdatahome; // Clipboard extern FXString clipboard; FXuint clipboard_type = 0; extern char OpenHistory[OPEN_HIST_SIZE][MAX_COMMAND_SIZE]; extern int OpenNum; extern char FilterHistory[FILTER_HIST_SIZE][MAX_PATTERN_SIZE]; extern int FilterNum; #if defined(linux) extern FXStringDict* fsdevices; extern FXStringDict* mtdevices; extern FXbool pkg_format; #endif extern FXbool allowPopupScroll; extern FXuint single_click; // Map FXDEFMAP(FilePanel) FilePanelMap[] = { FXMAPFUNC(SEL_CLIPBOARD_LOST, 0, FilePanel::onClipboardLost), FXMAPFUNC(SEL_CLIPBOARD_GAINED, 0, FilePanel::onClipboardGained), FXMAPFUNC(SEL_CLIPBOARD_REQUEST, 0, FilePanel::onClipboardRequest), FXMAPFUNC(SEL_TIMEOUT, FilePanel::ID_STOP_LIST_REFRESH_TIMER, FilePanel::onCmdStopListRefreshTimer), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_DIRECTORY_UP, FilePanel::onCmdDirectoryUp), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILTER, FilePanel::onCmdItemFilter), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILTER_CURRENT, FilePanel::onCmdItemFilter), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_GO_HOME, FilePanel::onCmdGoHome), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_GO_TRASH, FilePanel::onCmdGoTrash), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_VIEW, FilePanel::onCmdEdit), FXMAPFUNC(SEL_MIDDLEBUTTONPRESS, FilePanel::ID_FILELIST, FilePanel::onCmdEdit), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_EDIT, FilePanel::onCmdEdit), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_COMPARE, FilePanel::onCmdCompare), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_PROPERTIES, FilePanel::onCmdProperties), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_XTERM, FilePanel::onCmdXTerm), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_NEW_DIR, FilePanel::onCmdNewDir), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_NEW_FILE, FilePanel::onCmdNewFile), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_NEW_SYMLINK, FilePanel::onCmdNewSymlink), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_COPY, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_CUT, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_COPYTO, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_MOVETO, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_RENAME, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_SYMLINK, FilePanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_COPY_CLIPBOARD, FilePanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_CUT_CLIPBOARD, FilePanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_ADDCOPY_CLIPBOARD, FilePanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_ADDCUT_CLIPBOARD, FilePanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_PASTE_CLIPBOARD, FilePanel::onCmdPaste), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_TRASH, FilePanel::onCmdFileTrash), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_RESTORE, FilePanel::onCmdFileRestore), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_FILE_DELETE, FilePanel::onCmdFileDelete), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_OPEN_WITH, FilePanel::onCmdOpenWith), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_OPEN, FilePanel::onCmdOpen), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_REFRESH, FilePanel::onCmdRefresh), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_SHOW_BIG_ICONS, FilePanel::onCmdShow), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_SHOW_MINI_ICONS, FilePanel::onCmdShow), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_SHOW_DETAILS, FilePanel::onCmdShow), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_TOGGLE_HIDDEN, FilePanel::onCmdToggleHidden), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_TOGGLE_THUMBNAILS, FilePanel::onCmdToggleThumbnails), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_SELECT_ALL, FilePanel::onCmdSelect), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_DESELECT_ALL, FilePanel::onCmdSelect), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_SELECT_INVERSE, FilePanel::onCmdSelect), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_ADD_TO_ARCH, FilePanel::onCmdAddToArch), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_EXTRACT, FilePanel::onCmdExtract), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_EXTRACT_TO_FOLDER, FilePanel::onCmdExtractToFolder), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_EXTRACT_HERE, FilePanel::onCmdExtractHere), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_RUN_SCRIPT, FilePanel::onCmdRunScript), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_RUN_SCRIPT, FilePanel::onUpdRunScript), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_GO_SCRIPTDIR, FilePanel::onCmdGoScriptDir), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_DIR_USAGE, FilePanel::onCmdDirUsage), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, FilePanel::ID_FILELIST, FilePanel::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_POPUP_MENU, FilePanel::onCmdPopupMenu), FXMAPFUNC(SEL_DOUBLECLICKED, FilePanel::ID_FILELIST, FilePanel::onCmdItemDoubleClicked), FXMAPFUNC(SEL_CLICKED, FilePanel::ID_FILELIST, FilePanel::onCmdItemClicked), FXMAPFUNC(SEL_FOCUSIN, FilePanel::ID_FILELIST, FilePanel::onCmdFocus), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_STATUS, FilePanel::onUpdStatus), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_DIRECTORY_UP, FilePanel::onUpdUp), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_COPY_CLIPBOARD, FilePanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_CUT_CLIPBOARD, FilePanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_PASTE_CLIPBOARD, FilePanel::onUpdPaste), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_PROPERTIES, FilePanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_TRASH, FilePanel::onUpdFileTrash), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_RESTORE, FilePanel::onUpdFileRestore), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_GO_TRASH, FilePanel::onUpdGoTrash), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_DELETE, FilePanel::onUpdFileDelete), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_MOVETO, FilePanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_COPYTO, FilePanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_FILE_RENAME, FilePanel::onUpdSelMult), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_COMPARE, FilePanel::onUpdCompare), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_EDIT, FilePanel::onUpdOpen), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_VIEW, FilePanel::onUpdOpen), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_OPEN, FilePanel::onUpdOpen), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_ADD_TO_ARCH, FilePanel::onUpdAddToArch), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_SHOW_BIG_ICONS, FilePanel::onUpdShow), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_SHOW_MINI_ICONS, FilePanel::onUpdShow), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_SHOW_DETAILS, FilePanel::onUpdShow), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_TOGGLE_HIDDEN, FilePanel::onUpdToggleHidden), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_TOGGLE_THUMBNAILS, FilePanel::onUpdToggleThumbnails), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_DIR_USAGE, FilePanel::onUpdDirUsage), #if defined(linux) FXMAPFUNC(SEL_COMMAND, FilePanel::ID_MOUNT, FilePanel::onCmdMount), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_UMOUNT, FilePanel::onCmdMount), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_MOUNT, FilePanel::onUpdMount), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_UMOUNT, FilePanel::onUpdUnmount), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_PKG_QUERY, FilePanel::onCmdPkgQuery), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_PKG_INSTALL, FilePanel::onCmdPkgInstall), FXMAPFUNC(SEL_COMMAND, FilePanel::ID_PKG_UNINSTALL, FilePanel::onCmdPkgUninstall), FXMAPFUNC(SEL_UPDATE, FilePanel::ID_PKG_QUERY, FilePanel::onUpdPkgQuery), #endif }; // Object implementation FXIMPLEMENT(FilePanel, FXVerticalFrame, FilePanelMap, ARRAYNUMBER(FilePanelMap)) // Construct File Panel FilePanel::FilePanel(FXWindow* owner, const char* nm, FXComposite* p, DirPanel* dp, FXuint name_size, FXuint size_size, FXuint type_size, FXuint ext_size, FXuint modd_size, FXuint user_size, FXuint grou_size, FXuint attr_size, FXuint deldate_size, FXuint origpath_size, FXbool showthumbs, FXColor listbackcolor, FXColor listforecolor, FXColor attentioncolor, FXbool smoothscroll, FXuint opts, int x, int y, int w, int h) : FXVerticalFrame(p, opts, x, y, w, h, 0, 0, 0, 0) { name = nm; dirpanel = dp; attenclr = attentioncolor; // Global container FXVerticalFrame* cont = new FXVerticalFrame(this, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // Container for the path linker FXHorizontalFrame* pathframe = new FXHorizontalFrame(cont, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0); // File list // Smooth scrolling FXuint options; if (smoothscroll) { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|_ICONLIST_MINI_ICONS; } else { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|_ICONLIST_MINI_ICONS|SCROLLERS_DONT_TRACK; } FXVerticalFrame* cont2 = new FXVerticalFrame(cont, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); list = new FileList(owner, cont2, this, ID_FILELIST, showthumbs, options); list->setHeaderSize(0, name_size); list->setHeaderSize(1, size_size); list->setHeaderSize(2, type_size); list->setHeaderSize(3, ext_size); list->setHeaderSize(4, modd_size); list->setHeaderSize(5, user_size); list->setHeaderSize(6, grou_size); list->setHeaderSize(7, attr_size); list->setHeaderSize(8, deldate_size); list->setHeaderSize(9, origpath_size); list->setTextColor(listforecolor); list->setBackColor(listbackcolor); // Visually indicate if the panel is active activeicon = new FXButton(pathframe, "", graybuttonicon, this, FilePanel::ID_FILELIST, BUTTON_TOOLBAR|JUSTIFY_LEFT|LAYOUT_LEFT); // Path text pathtext = new TextLabel(pathframe, 0, this, ID_FILELIST, LAYOUT_FILL_X|LAYOUT_FILL_Y); pathtext->setBackColor(getApp()->getBaseColor()); // Path linker pathlink = new PathLinker(pathframe, list, dirpanel->getList(), JUSTIFY_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X); // Status bar statusbar = new FXHorizontalFrame(cont, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 3, 3, 3, 3); statusbar->setTarget(this); statusbar->setSelector(FXSEL(SEL_UPDATE, FilePanel::ID_STATUS)); FXString key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); new FXToggleButton(statusbar, TAB+_("Show hidden files")+PARS(key), TAB+_("Hide hidden files")+PARS(key), showhiddenicon, hidehiddenicon, this->list, FileList::ID_TOGGLE_HIDDEN, TOGGLEBUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); new FXToggleButton(statusbar, TAB+_("Show thumbnails")+PARS(key), TAB+_("Hide thumbnails")+PARS(key), showthumbicon, hidethumbicon, this->list, FileList::ID_TOGGLE_THUMBNAILS, TOGGLEBUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); key = getApp()->reg().readStringEntry("KEYBINDINGS", "filter", "Ctrl-D"); new FXButton(statusbar, TAB+_("Filter")+PARS(key), filtericon, this, FilePanel::ID_FILTER, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); FXHorizontalFrame* hframe = new FXHorizontalFrame(statusbar, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0); statuslabel = new FXLabel(hframe, _("Status"), NULL, JUSTIFY_LEFT|LAYOUT_LEFT); filterlabel = new FXLabel(hframe, "", NULL, JUSTIFY_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X); corner = new FXDragCorner(statusbar); // Panel separator panelsep = new FXHorizontalSeparator(cont, SEPARATOR_GROOVE|LAYOUT_FILL_X); // Initializations selmult = false; current = NULL; // Single click navigation single_click = getApp()->reg().readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); if (single_click == SINGLE_CLICK_DIR_FILE) { list->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } // Dialogs operationdialogsingle = NULL; operationdialogrename = NULL; operationdialogmultiple = NULL; newdirdialog = NULL; newfiledialog = NULL; newlinkdialog = NULL; opendialog = NULL; archdialog = NULL; filterdialog = NULL; comparedialog = NULL; // Home and trahscan locations trashlocation = xdgdatahome+PATHSEPSTRING TRASHPATH; trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; // Start location (we return to the start location after each chdir) startlocation = FXSystem::getCurrentDirectory(); // Initialize clipboard flags clipboard_locked = false; fromPaste = false; // Initialize control flag for right click popup menu ctrl = false; // Initialize the Shift-F10 flag shiftf10 = false; // Initialize the active panel flag isactive = false; // Default programs identifiers progs[""] = TXTVIEWER; progs[""] = TXTEDITOR; progs[""] = IMGVIEWER; progs[""] = IMGEDITOR; progs[""] = PDFVIEWER; progs[""] = AUDIOPLAYER; progs[""] = VIDEOPLAYER; progs[""] = ARCHIVER; } // Create X window void FilePanel::create() { // Register standard uri-list type urilistType = getApp()->registerDragType("text/uri-list"); // Register special uri-list type used for Gnome, XFCE and Xfe xfelistType = getApp()->registerDragType("x-special/gnome-copied-files"); // Register special uri-list type used for KDE kdelistType = getApp()->registerDragType("application/x-kde-cutselection"); // Register standard UTF-8 text type used for file dialogs utf8Type = getApp()->registerDragType("UTF8_STRING"); // Display or hide path linker FXbool show_pathlink = getApp()->reg().readUnsignedEntry("SETTINGS", "show_pathlinker", true); if (show_pathlink) { pathtext->hide(); pathlink->show(); } else { pathtext->show(); pathlink->hide(); } FXVerticalFrame::create(); } // Destructor FilePanel::~FilePanel() { delete list; delete current; delete next; delete statuslabel; delete filterlabel; delete statusbar; delete panelsep; delete pathlink; delete newfiledialog; delete newlinkdialog; delete newdirdialog; delete opendialog; delete archdialog; delete filterdialog; delete comparedialog; delete operationdialogsingle; delete operationdialogrename; delete operationdialogmultiple; delete pathtext; } // Make panel active void FilePanel::setActive() { // Set active icon activeicon->setIcon(greenbuttonicon); activeicon->setTipText(_("Panel is active")); pathlink->focus(); current = this; // Make dirpanel point on the current directory, // but only if Filepanel and Dirpanel directories are different if (dirpanel->getDirectory() != current->list->getDirectory()) { dirpanel->setDirectory(current->list->getDirectory(), true); } // Make dirpanel inactive dirpanel->setInactive(); next->setInactive(); list->setFocus(); isactive = true; } // Make panel inactive void FilePanel::setInactive(FXbool force) { // Set active icon activeicon->setIcon(graybuttonicon); activeicon->setTipText(_("Activate panel")); // By default we set the panel inactive if (force) { current = next; list->handle(this, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL), NULL); isactive = false; } } // Make panel focus (i.e. active) when clicked long FilePanel::onCmdFocus(FXObject* sender, FXSelector sel, void* ptr) { setActive(); return(1); } // Set Pointer to Another FilePanel void FilePanel::Next(FilePanel* nxt) { next = nxt; } // Show or hide drag corner void FilePanel::showCorner(FXbool show) { if (show) { corner->show(); } else { corner->hide(); } } // Show or hide active icon void FilePanel::showActiveIcon(FXbool show) { if (show) { activeicon->show(); } else { activeicon->hide(); } } // Update location history when changing directory (home, up or double click) void FilePanel::updateLocation() { FXString item; int i = 0; FXComboBox* address = ((XFileExplorer*)mainWindow)->getAddressBox(); address->setNumVisible(5); int count = address->getNumItems(); FXString p = list->getDirectory(); // Remember latest directory in the location address if (!count) { count++; address->insertItem(0, address->getText()); } while (i < count) { item = address->getItem(i++); if (streq((const char*)&p[0], (const char*)&item[0])) { i--; break; } } if (i == count) { address->insertItem(0, list->getDirectory()); } // Make current directory visible to avoid scrolling again list->makeItemVisible(list->getCurrentItem()); } // We now really do have the clipboard, keep clipboard content long FilePanel::onClipboardGained(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardGained(sender, sel, ptr); return(1); } // We lost the clipboard long FilePanel::onClipboardLost(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardLost(sender, sel, ptr); return(1); } // Somebody wants our clipboard content long FilePanel::onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuchar* data; FXuint len; // Perhaps the target wants to supply its own data for the clipboard if (FXVerticalFrame::onClipboardRequest(sender, sel, ptr)) { return(1); } // Clipboard target is xfelistType (Xfe, Gnome or XFCE) if (event->target == xfelistType) { // Don't modify the clipboard if we are called from updPaste() if (!clipboard_locked) { // Prepend "copy" or "cut" as in the Gnome way and avoid duplicating these strings if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { if (clipboard_type == CUT_CLIPBOARD) { clipboard = "cut\n" + clipboard; } else { clipboard = "copy\n" + clipboard; } } } // Return clipboard content if (event->target == xfelistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); // Return because xfelistType is not compatible with other types return(1); } } } // Clipboard target is kdelisType (KDE) if (event->target == kdelistType) { // The only data to be passed in this case is "0" for copy and "1" for cut // The uri data are passed using the standard uri-list type FXString flag; if (clipboard_type == CUT_CLIPBOARD) { flag = "1"; } else { flag = "0"; } // Return clipboard content if (event->target == kdelistType) { FXMEMDUP(&data, flag.text(), FXuchar, 1); setDNDData(FROM_CLIPBOARD, event->target, data, 1); } } // Clipboard target is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) if (event->target == urilistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } // Clipboard target is utf8Type (to paste file pathes as text to other applications) if (event->target == utf8Type) { if (!clipboard.empty()) { int beg = 0, end = 0; FXString str = ""; FXString pathname, url; // Clipboard don't contain 'copy\n' or 'cut\n' as first line if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); } // Clipboard contains 'copy\n' or 'cut\n' as first line, thus skip it else { // Start after the 'copy\n' or 'cut\n' prefix end = clipboard.find('\n', 0); end++; beg = end; // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); } if (!str.empty()) { len = str.length(); FXMEMDUP(&data, str.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } } return(0); } // Copy or cut to clipboard (and add copy / add cut) long FilePanel::onCmdCopyCut(FXObject*, FXSelector sel, void*) { FXString name, curdir; // Clear clipboard if normal copy or cut if ((FXSELID(sel) == ID_COPY_CLIPBOARD) || (FXSELID(sel) == ID_CUT_CLIPBOARD)) { clipboard.clear(); } // Add an '\n' at the end if addcopy or addcut else { clipboard += '\n'; } // Clipboard type if ((FXSELID(sel) == ID_CUT_CLIPBOARD) || (FXSELID(sel) == ID_ADDCUT_CLIPBOARD)) { clipboard_type = CUT_CLIPBOARD; } else { clipboard_type = COPY_CLIPBOARD; } // Items number in the file list int num = current->list->getNumSelectedItems(); if (num == 0) { return(0); } // If exist selected files, use them else if (num >= 1) { // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Construct the uri list of files and fill the clipboard with it curdir = current->list->getDirectory(); for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { name = current->list->getItemText(u).text(); name = name.section('\t', 0); if (curdir == ROOTDIR) { clipboard += FXURL::encode(::fileToURI(curdir+name))+"\n"; } else { clipboard += FXURL::encode(::fileToURI(curdir+PATHSEPSTRING+name))+"\n"; } } } } // Remove the last \n of the list, for compatibility with some file managers (e.g. nautilus, nemo) clipboard.erase(clipboard.length()-1); // Acquire the clipboard FXDragType types[4]; types[0] = xfelistType; types[1] = kdelistType; types[2] = urilistType; types[3] = utf8Type; if (acquireClipboard(types, 4)) { return(0); } return(1); } // Paste file(s) from clipboard long FilePanel::onCmdPaste(FXObject*, FXSelector sel, void*) { FXuchar* data; FXuint len; int beg, end, pos; FXString chaine, url, param; int num = 0; FXbool from_kde = false; // If source is xfelistType (Gnome, XFCE, or Xfe app) if (getDNDData(FROM_CLIPBOARD, xfelistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item url url = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = url.rfind('\r')) > 0) { url.erase(pos); } // Process first item if (num == 0) { // First item should be "copy" or "cut" if (url == "copy") { clipboard_type = COPY_CLIPBOARD; num++; } else if (url == "cut") { clipboard_type = CUT_CLIPBOARD; num++; } // If first item is not "copy" nor "cut", process it as a normal url // and use default clipboard type else { // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; // Add one more because the first line "copy" or "cut" was not present num += 2; } } // Process other items else { // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; num++; } } // Construct the final param string passed to the file management routine param = current->list->getDirectory()+"\n" + FXStringVal(num-1) + "\n" + param; // Copy or cut operation depending on the clipboard type switch (clipboard_type) { case COPY_CLIPBOARD: sel = FXSEL(SEL_COMMAND, FilePanel::ID_FILE_COPY); break; case CUT_CLIPBOARD: clipboard.clear(); sel = FXSEL(SEL_COMMAND, FilePanel::ID_FILE_CUT); break; } fromPaste = true; handle(this, sel, (void*)param.text()); // Free data pointer FXFREE(&data); // Return here because xfelistType is not compatible with other types return(1); } // If source type is kdelistType (KDE) if (getDNDData(FROM_CLIPBOARD, kdelistType, data, len)) { from_kde = true; FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Obtain clipboard type (copy or cut) if (clipboard == "1") { clipboard_type = CUT_CLIPBOARD; } else { clipboard_type = COPY_CLIPBOARD; } FXFREE(&data); } // If source type is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) if (getDNDData(FROM_CLIPBOARD, urilistType, data, len)) { // For non KDE apps, set action to copy if (!from_kde) { clipboard_type = COPY_CLIPBOARD; } FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item url url = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = url.rfind('\r')) > 0) { url.erase(pos); } // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; num++; } // Construct the final param string passed to the file management routine param = current->list->getDirectory()+"\n" + FXStringVal(num) + "\n" + param; // Copy or cut operation depending on the clipboard type switch (clipboard_type) { case COPY_CLIPBOARD: sel = FXSEL(SEL_COMMAND, FilePanel::ID_FILE_COPY); break; case CUT_CLIPBOARD: clipboard.clear(); sel = FXSEL(SEL_COMMAND, FilePanel::ID_FILE_CUT); break; } fromPaste = true; handle(this, sel, (void*)param.text()); FXFREE(&data); return(1); } return(0); } // Execute file with an optional confirm dialog void FilePanel::execFile(FXString pathname) { int ret; FXString cmd, cmdname; #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // File is executable, but is it a text file? FXString str = mimetype(pathname); FXbool isTextFile = true; if (strstr(str.text(), "charset=binary")) { isTextFile = false; } // With confirmation dialog FXbool confirm_execute = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_execute", true); if (isTextFile && (confirm_execute == 1)) { FXString msg; msg.format(_("File %s is an executable text file, what do you want to do?"), pathname.text()); ExecuteBox* dlg = new ExecuteBox(this, _("Confirm Execute"), msg); FXuint answer = dlg->execute(PLACEMENT_CURSOR); delete dlg; // Execute if (answer == EXECBOX_CLICKED_EXECUTE) { cmdname = FXPath::name(pathname); cmd = ::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // Execute in console mode if (answer == EXECBOX_CLICKED_CONSOLE) { ret = chdir(current->list->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), current->list->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), current->list->getDirectory().text()); } } cmdname = FXPath::name(pathname); cmd = ::quote(pathname); // Make and show command window // The CommandWindow object will delete itself when closed! CommandWindow* cmdwin = new CommandWindow(getApp(), _("Command log"), cmd, 30, 80); cmdwin->create(); cmdwin->setIcon(runicon); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } } } // Edit if (answer == EXECBOX_CLICKED_EDIT) { FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); cmd = txteditor; cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } // Without confirmation dialog else { cmdname = FXPath::name(pathname); cmd = ::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } } // Double Click on File Item long FilePanel::onCmdItemDoubleClicked(FXObject* sender, FXSelector sel, void* ptr) { FXString cmd, cmdname, filename, pathname; // Wait cursor getApp()->beginWaitCursor(); // At most one item selected if (current->list->getNumSelectedItems() <= 1) { FXlong item = (FXlong)ptr; if (item > -1) { #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // File name and path filename = list->getItemFilename(item); pathname = list->getItemPathname(item); // If directory, open the directory if (list->isItemDirectory(item)) { // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), pathname.text()); getApp()->endWaitCursor(); return(0); } if (filename == "..") { list->handle(this, FXSEL(SEL_COMMAND, FileList::ID_DIRECTORY_UP), NULL); } else { list->setDirectory(pathname); } // Change directory in tree list dirpanel->setDirectory(pathname, true); current->updatePath(); // Update location history updateLocation(); } else if (list->isItemFile(item)) { // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); FileAssoc* association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to open the file if (association->command.section(',', 0) != "") { cmdname = association->command.section(',', 0); // Use a default program if possible switch (progs[cmdname]) { case TXTVIEWER: cmdname = txtviewer; break; case TXTEDITOR: cmdname = txteditor; break; case IMGVIEWER: cmdname = imgviewer; break; case IMGEDITOR: cmdname = imgeditor; break; case PDFVIEWER: cmdname = pdfviewer; break; case AUDIOPLAYER: cmdname = audioplayer; break; case VIDEOPLAYER: cmdname = videoplayer; break; case ARCHIVER: cmdname = archiver; break; case NONE: // No program found ; break; } // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Or execute the file else if (list->isItemExecutable(item)) { execFile(pathname); } // Or call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (list->isItemExecutable(item)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } // More than one selected files else { current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN), NULL); } getApp()->endWaitCursor(); return(1); } // Single click on File Item long FilePanel::onCmdItemClicked(FXObject* sender, FXSelector sel, void* ptr) { // Make panel active setActive(); if (single_click != SINGLE_CLICK_NONE) { // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // In detailed mode, avoid single click when mouse cursor is not over the first column int x, y; FXuint state; getCursorPosition(x, y, state); FXbool allow = true; if (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) > list->getHeaderSize(0))) { allow = false; } // Single click with control or shift if (state&(CONTROLMASK|SHIFTMASK)) { return(1); } // Single click without control or shift else { FXString cmd, cmdname, filename, pathname; // Wait cursor getApp()->beginWaitCursor(); #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif FXlong item = (FXlong)ptr; if (item > -1) { // File name and path filename = list->getItemFilename(item); pathname = list->getItemPathname(item); // If directory, open the directory if ((single_click != SINGLE_CLICK_NONE) && list->isItemDirectory(item) && allow) { // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), pathname.text()); getApp()->endWaitCursor(); return(0); } if (filename == "..") { list->handle(this, FXSEL(SEL_COMMAND, FileList::ID_DIRECTORY_UP), NULL); } else { list->setDirectory(pathname); } // Change directory in tree list dirpanel->setDirectory(pathname, true); current->updatePath(); // Update location history updateLocation(); } // If file, use the association if any else if ((single_click == SINGLE_CLICK_DIR_FILE) && list->isItemFile(item) && allow) { // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); FileAssoc* association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to open the file if (association->command.section(',', 0) != "") { cmdname = association->command.section(',', 0); // Use a default program if possible switch (progs[cmdname]) { case TXTVIEWER: cmdname = txtviewer; break; case TXTEDITOR: cmdname = txteditor; break; case IMGVIEWER: cmdname = imgviewer; break; case IMGEDITOR: cmdname = imgeditor; break; case PDFVIEWER: cmdname = pdfviewer; break; case AUDIOPLAYER: cmdname = audioplayer; break; case VIDEOPLAYER: cmdname = videoplayer; break; case ARCHIVER: cmdname = archiver; break; case NONE: // No program found ; break; } // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Or execute the file else if (list->isItemExecutable(item)) { execFile(pathname); } // Or call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (list->isItemExecutable(item)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } getApp()->endWaitCursor(); } } return(1); } // Go to parent directory long FilePanel::onCmdDirectoryUp(FXObject* sender, FXSelector sel, void* ptr) { current->list->handle(this, FXSEL(SEL_COMMAND, FileList::ID_DIRECTORY_UP), NULL); current->list->setFocus(); dirpanel->setDirectory(current->list->getDirectory(), true); current->updatePath(); updateLocation(); return(1); } // Go to home directory long FilePanel::onCmdGoHome(FXObject* sender, FXSelector sel, void* ptr) { current->list->setDirectory(homedir); current->list->setFocus(); dirpanel->setDirectory(homedir, true); current->updatePath(); updateLocation(); return(1); } // Go to trash directory long FilePanel::onCmdGoTrash(FXObject* sender, FXSelector sel, void* ptr) { current->list->setDirectory(trashfileslocation); current->list->setFocus(); dirpanel->setDirectory(trashfileslocation, true); current->updatePath(); updateLocation(); return(1); } // Set the flag that allows to stop the file list refresh long FilePanel::onCmdStopListRefreshTimer(FXObject*, FXSelector, void*) { stopListRefresh = true; return(0); } // Copy/Move/Rename/Symlink file(s) long FilePanel::onCmdFileMan(FXObject* sender, FXSelector sel, void* ptr) { int num; FXString src, targetdir, target, name, source; int firstitem = 0, lastitem = 0; // Focus on this panel list current->list->setFocus(); // Confirmation dialog? FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); // If we are we called from the paste command, get the parameters from the pointer if (fromPaste) { // Reset the flag fromPaste = false; // Get the parameters FXString str = (char*)ptr; targetdir = str.section('\n', 0); num = FXUIntVal(str.section('\n', 1)); src = str.after('\n', 2); // If no item in clipboard, return if (num <= 0) { return(0); } // If there is a selected directory in file panel, use it as target directory if (current->list->getNumSelectedItems() == 1) { int item = current->list->getCurrentItem(); if (current->list->isItemDirectory(item)) { targetdir = list->getItemPathname(item); } } } // Obtain the parameters from the file panel else { // Current directory FXString curdir = current->list->getDirectory(); // Number of selected items num = current->list->getNumSelectedItems(); // If no item, return if (num <= 0) { return(0); } // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Obtain the list of source files and the target directory for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { if (firstitem == 0) { firstitem = u; } lastitem = u; name = current->list->getItemText(u).text(); name = name.section('\t', 0); src += curdir+PATHSEPSTRING+name+"\n"; } } targetdir = current->next->list->getDirectory(); if (!current->next->shown() || (FXSELID(sel) == ID_FILE_RENAME)) { targetdir = current->list->getDirectory(); } } // Number of items in the FileList int numitems = current->list->getNumItems(); // Name and directory of the first source file source = src.section('\n', 0); name = FXPath::name(source); FXString dir = FXPath::directory(source); // Initialize target name if (targetdir != ROOTDIR) { target = targetdir+PATHSEPSTRING; } else { target = targetdir; } // Configure the command, title, message, etc. FXIcon* icon = NULL; FXString command, title, message; if (FXSELID(sel) == ID_FILE_COPY) { command = "copy"; title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = _("Copy "); message += source; if (::isFile(source)) { target += name; } // Source and target are identical => add a suffix to the name FXString tgt = ::cleanPath(target); // Remove trailing / if any if ((::identical(source, tgt) && (tgt != current->list->getDirectory())) || // Check we are not within target (::isDirectory(source) && (source == tgt+PATHSEPSTRING+FXPath::name(source)))) { target = ::buildCopyName(source); } } else { message.format(_("Copy %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_FILE_RENAME) { command = "rename"; title = _("Rename"); icon = move_bigicon; if (num == 1) { message = _("Rename "); message += name; target = name; title = _("Rename"); } else { return(0); } } if (FXSELID(sel) == ID_FILE_COPYTO) { command = "copy"; title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = _("Copy "); message += source; } else { message.format(_("Copy %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_FILE_MOVETO) { command = "move"; title = _("Move"); icon = move_bigicon; if (num == 1) { message = _("Move "); message += source; title = _("Move"); } else { message.format(_("Move %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_FILE_CUT) { command = "move"; title = _("Move"); icon = move_bigicon; if (num == 1) { message = _("Move "); message += source; if (::isFile(source)) { target += name; } title = _("Move"); } else { message.format(_("Move %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_FILE_SYMLINK) { command = "symlink"; title = _("Symlink"); icon = link_bigicon; if (num == 1) { message = _("Symlink "); message += source; target += name; } else { message.format(_("Symlink %s items from: %s"), FXStringVal(num).text(), dir.text()); } } // File operation dialog, if needed if (ask_before_copy || (source == target) || (FXSELID(sel) == ID_FILE_COPYTO) || (FXSELID(sel) == ID_FILE_MOVETO) || (FXSELID(sel) == ID_FILE_RENAME) || (FXSELID(sel) == ID_FILE_SYMLINK)) { if (num == 1) { if (FXSELID(sel) == ID_FILE_RENAME) { if (operationdialogrename == NULL) { operationdialogrename = new InputDialog(this, "", "", title, _("To:"), icon); } operationdialogrename->setTitle(title); operationdialogrename->setIcon(icon); operationdialogrename->setMessage(message); operationdialogrename->setText(target); if (::isDirectory(source)) // directory { operationdialogrename->selectAll(); } else { int pos = target.rfind('.'); if (pos <= 0) { operationdialogrename->selectAll(); // no extension or dot file } else { operationdialogrename->setSelection(0, pos); } } int rc = 1; rc = operationdialogrename->execute(PLACEMENT_CURSOR); target = operationdialogrename->getText(); // Target name contains '/' if (target.contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in file or folder names, operation cancelled")); return(0); } if (!rc) { return(0); } } else { if (operationdialogsingle == NULL) { operationdialogsingle = new BrowseInputDialog(this, "", "", title, _("To:"), icon, BROWSE_INPUT_MIXED); } operationdialogsingle->setTitle(title); operationdialogsingle->setIcon(icon); operationdialogsingle->setMessage(message); operationdialogsingle->setText(target); // Select file name without path if (FXSELID(sel) == ID_FILE_SYMLINK) { int pos = target.rfind(PATHSEPSTRING); if (pos >= 0) { operationdialogsingle->setSelection(pos+1, target.length()); } } operationdialogsingle->setDirectory(targetdir); int rc = 1; rc = operationdialogsingle->execute(PLACEMENT_CURSOR); target = operationdialogsingle->getText(); if (!rc) { return(0); } } } else { if (operationdialogmultiple == NULL) { operationdialogmultiple = new BrowseInputDialog(this, "", "", title, _("To folder:"), icon, BROWSE_INPUT_FOLDER); } operationdialogmultiple->setTitle(title); operationdialogmultiple->setIcon(icon); operationdialogmultiple->setMessage(message); operationdialogmultiple->setText(target); operationdialogmultiple->CursorEnd(); operationdialogmultiple->setDirectory(targetdir); int rc = 1; rc = operationdialogmultiple->execute(PLACEMENT_CURSOR); target = operationdialogmultiple->getText(); if (!rc) { return(0); } } } // Nothing entered if (target == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // Update target and target parent directory target = ::filePath(target,current->list->getDirectory()); if (::isDirectory(target)) { targetdir = target; } else { targetdir = FXPath::directory(target); } // Target parent directory doesn't exist if (!::exists(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), targetdir.text()); return(0); } // Target parent directory not writable if (!::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // Target parent directory is not a directory if (!::isDirectory(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), targetdir.text()); return(0); } // Multiple sources and non existent destination if ((num > 1) && !::exists(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), target.text()); return(0); } // Multiple sources and target is a file if ((num > 1) && ::isFile(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), target.text()); return(0); } // Target is a directory and is not writable if (::isDirectory(target) && !::isWritable(target)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), target.text()); return(0); } // Target is a file and its parent directory is not writable if (::isFile(target) && !::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // One source File* f = NULL; int ret; if (num == 1) { // An empty source file name corresponds to the ".." file // Don't perform any file operation on it! if (source == "") { return(0); } // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY, num); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An unknown error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); } } else if (command == "rename") { f = new File(this, _("File rename"), RENAME, num); f->create(); ret = f->rename(source, target); // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } } else if (command == "move") { f = new File(this, _("File move"), MOVE, num); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An unknown error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); } } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK, num); f->create(); f->symlink(source, target); } // Shouldn't happen else { exit(EXIT_FAILURE); } getApp()->endWaitCursor(); delete f; } // Multiple sources // Note : rename cannot be used in this case! else if (num > 1) { // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY, num); } else if (command == "move") { f = new File(this, _("File move"), MOVE, num); } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK, num); } // Shouldn't happen else { exit(EXIT_FAILURE); } f->create(); // Initialize file list stop refresh timer and flag stopListRefresh = false; getApp()->addTimeout(this, ID_STOP_LIST_REFRESH_TIMER, STOP_LIST_REFRESH_INTERVAL); // Loop on the multiple files for (int i = 0; i < num; i++) { // Stop refreshing the file list if file operation is long and has many files // This avoids flickering and speeds up things a bit if (stopListRefresh && (i > STOP_LIST_REFRESH_NBMAX)) { // Force a last refresh if current panel is destination if (current->getDirectory() == targetdir) { current->list->onCmdRefresh(0, 0, 0); } // Force a last refresh if next panel is destination if (next->getDirectory() == targetdir) { next->list->onCmdRefresh(0, 0, 0); } // Tell the dir and file list to not refresh anymore setAllowRefresh(false); next->setAllowRefresh(false); dirpanel->setAllowDirsizeRefresh(false); // Don't need to stop again stopListRefresh = false; } // Individual source file source = src.section('\n', i); // File could have already been moved above in the tree if (!::exists(source)) { continue; } // An empty file name corresponds to the ".." file (why?) // Don't perform any file operation on it! if (source != "") { if (command == "copy") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An known error has occurred if (ret == -1) { f->hideProgressDialog(); break; } // An unknown error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); break; } } else if (command == "move") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An known error has occurred if (ret == -1) { f->hideProgressDialog(); break; } // An unknown error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); break; } } else if (command == "symlink") { ret = f->symlink(source, target); // An known error has occurred if (ret == -1) { f->hideProgressDialog(); break; } // An unknown error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the symlink operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Symlink operation cancelled!")); break; } } // Shouldn't happen else { exit(EXIT_FAILURE); } } } // Reinit timer and refresh flags getApp()->removeTimeout(this, ID_STOP_LIST_REFRESH_TIMER); current->setAllowRefresh(true); next->setAllowRefresh(true); dirpanel->setAllowDirsizeRefresh(true); getApp()->endWaitCursor(); delete f; } // Force panels refresh next->onCmdRefresh(0, 0, 0); current->onCmdRefresh(0, 0, 0); // Enable previous or last selected item for keyboard navigation if (((FXSELID(sel) == ID_FILE_MOVETO) || (FXSELID(sel) == ID_FILE_RENAME)) && (current->list->getNumItems() < numitems)) { firstitem = (firstitem < 1) ? 0 : firstitem-1; current->list->enableItem(firstitem); current->list->setCurrentItem(firstitem); } else { current->list->enableItem(lastitem); current->list->setCurrentItem(lastitem); } return(1); } // Trash files from the file list or the tree list long FilePanel::onCmdFileTrash(FXObject*, FXSelector, void*) { int firstitem = 0; File* f = NULL; current->list->setFocus(); FXString dir = current->list->getDirectory(); FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); // If we don't have permission to write to the parent directory if (!::isWritable(dir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), dir.text()); return(0); } // If we don't have permission to write to the trash directory if (!::isWritable(trashfileslocation)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to trash location %s: Permission denied"), trashfileslocation.text()); return(0); } // Items number in the file list int num = current->list->getNumSelectedItems(); // If nothing selected, return if (num == 0) { return(0); } // If exist selected files, use them else if (num >= 1) { // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } if (confirm_trash) { FXString message; if (num == 1) { FXString pathname; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); } } if (::isDirectory(pathname)) { message.format(_("Move folder %s to trash can?"), pathname.text()); } else { message.format(_("Move file %s to trash can?"), pathname.text()); } } else { message.format(_("Move %s selected items to trash can?"), FXStringVal(num).text()); } MessageBox box(this, _("Confirm Trash"), message, delete_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Move to trash"), DELETE, num); f->create(); list->setAllowRefresh(false); // Overwrite initialisations FXbool overwrite = false; FXbool overwrite_all = false; FXbool skip_all = false; // Delete selected files FXString filename, pathname; int i = 0; stopListRefresh = false; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Get index of first selected item if (firstitem == 0) { firstitem = u; } // Stop refreshing the dirsize in dirpanel // when there are many files to delete i++; if (!stopListRefresh && (i > STOP_LIST_REFRESH_NBMAX)) { dirpanel->setAllowDirsizeRefresh(false); stopListRefresh = true; } // Get file name and path filename = current->list->getItemFilename(u); pathname = current->list->getItemPathname(u); // If we don't have permission to write to the file if (!::isWritable(pathname)) { // Overwrite dialog if necessary if (!(overwrite_all | skip_all)) { f->hideProgressDialog(); FXString msg; msg.format(_("File %s is write-protected, move it anyway to trash can?"), pathname.text()); if (num ==1) { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Trash"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 1) { overwrite = true; } else { goto end; } } else { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Trash"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Overwrite case 1: overwrite = true; break; // Overwrite all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } } if ((overwrite | overwrite_all) & !skip_all) { // Caution!! Don't delete parent directory!! if (filename != "..") { // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); break; } } } f->showProgressDialog(); } // If we have permission to write else { // Caution!! Don't delete parent directory!! if (filename != "..") { // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); break; } } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move to trash file operation cancelled!")); break; } } } } end: getApp()->endWaitCursor(); delete f; } // Force FilePanel and DirPanel refresh list->setAllowRefresh(true); stopListRefresh = false; dirpanel->setAllowDirsizeRefresh(true); onCmdRefresh(0, 0, 0); // Enable last item before the first selected item (for keyboard navigation) firstitem = (firstitem < 1) ? 0 : firstitem-1; current->list->enableItem(firstitem); current->list->setCurrentItem(firstitem); return(1); } // Restore files from trash can long FilePanel::onCmdFileRestore(FXObject*, FXSelector, void*) { int firstitem = 0; File* f = NULL; current->list->setFocus(); FXString dir = current->list->getDirectory(); FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); // Items number in the file list int num = current->list->getNumSelectedItems(); // If nothing selected, return if (num == 0) { return(0); } // If exist selected files, use them else if (num >= 1) { // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Restore from trash"), DELETE, num); f->create(); list->setAllowRefresh(false); // Restore (i.e. move to their original location) selected files FXString filename, pathname; int i = 0; stopListRefresh = false; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Get index of first selected item if (firstitem == 0) { firstitem = u; } // Stop refreshing the dirsize in dirpanel // when there are many files to delete i++; if (!stopListRefresh && (i > STOP_LIST_REFRESH_NBMAX)) { dirpanel->setAllowDirsizeRefresh(false); stopListRefresh = true; } // Get file name and path filename = current->list->getItemFilename(u); pathname = current->list->getItemPathname(u); // Don't restore '..' directory if (filename != "..") { // Obtain trash base name and sub path FXString subpath = pathname; subpath.erase(0, trashfileslocation.length()+1); FXString trashbasename = subpath.before('/'); if (trashbasename == "") { trashbasename = name; } subpath.erase(0, trashbasename.length()); // Read the .trashinfo file FILE* fp; char line[1024]; FXbool success = true; FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+trashbasename+".trashinfo"; FXString origpathname = ""; if ((fp = fopen(trashinfopathname.text(), "r")) != NULL) { // Read the first two lines and get the strings if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { origpathname = line; origpathname = origpathname.after('='); origpathname = origpathname.before('\n'); } fclose(fp); origpathname = origpathname+subpath; } // Confirm restore dialog if (confirm_trash && (u == firstitem)) { FXString message; if (num == 1) { if (::isDirectory(pathname)) { message.format(_("Restore folder %s to its original location %s ?"), filename.text(), origpathname.text()); } else { message.format(_("Restore file %s to its original location %s ?"), filename.text(), origpathname.text()); } } else { message.format(_("Restore %s selected items to their original locations?"), FXStringVal(num).text()); } f->hideProgressDialog(); MessageBox box(this, _("Confirm Restore"), message, restore_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { getApp()->endWaitCursor(); delete f; return(0); } f->showProgressDialog(); } if (origpathname == "") { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("Restore information not available for %s"), pathname.text()); goto end; } // If parent dir of the original location does not exist FXString origparentdir = FXPath::directory(origpathname); if (!::exists(origparentdir)) { // Ask the user if he wants to create it f->hideProgressDialog(); FXString message; message.format(_("Parent folder %s does not exist, do you want to create it?"), origparentdir.text()); MessageBox box(this, _("Confirm Restore"), message, restore_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { goto end; } else { errno = 0; int ret = mkpath(origparentdir.text(), 0755); int errcode = errno; if (ret == -1) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create folder %s: %s"), origparentdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create folder %s"), origparentdir.text()); } goto end; } f->showProgressDialog(); } } // Move file to original location (with restore option) int ret = f->move(pathname, origpathname, true); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the restore from trash operation!")); goto end; } // Silently remove trashinfo file FXString trashfilespathname = trashfileslocation+PATHSEPSTRING+trashbasename; if ((pathname == trashfilespathname) && !::exists(trashfilespathname)) { ::unlink(trashinfopathname.text()); } } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Restore from trash file operation cancelled!")); goto end; } } } end: getApp()->endWaitCursor(); delete f; } // Force FilePanel and DirPanel refresh list->setAllowRefresh(true); stopListRefresh = false; dirpanel->setAllowDirsizeRefresh(true); onCmdRefresh(0, 0, 0); // Enable last item before the first selected item (for keyboard navigation) firstitem = (firstitem < 1) ? 0 : firstitem-1; current->list->enableItem(firstitem); current->list->setCurrentItem(firstitem); return(1); } // Definitively delete files from the file list or the tree list (no trash can) long FilePanel::onCmdFileDelete(FXObject*, FXSelector, void*) { int firstitem = 0; File* f = NULL; current->list->setFocus(); FXString dir = current->list->getDirectory(); FXbool confirm_del = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete", true); FXbool confirm_del_emptydir = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete_emptydir", true); // If we don't have permission to write to the parent directory if (!::isWritable(dir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), dir.text()); return(0); } // Items number in the file list int num = current->list->getNumSelectedItems(); // If nothing selected, return if (num == 0) { return(0); } // If exist selected files, use them else if (num >= 1) { // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } if (confirm_del) { FXString message; if (num == 1) { FXString pathname; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); } } if (::isDirectory(pathname)) { message.format(_("Definitively delete folder %s ?"), pathname.text()); } else { message.format(_("Definitively delete file %s ?"), pathname.text()); } } else { message.format(_("Definitively delete %s selected items?"), FXStringVal(num).text()); } MessageBox box(this, _("Confirm Delete"), message, delete_big_permicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("File delete"), DELETE, num); f->create(); list->setAllowRefresh(false); // Overwrite initialisations FXbool overwrite = false; FXbool overwrite_all = false; FXbool skip_all = false; FXbool ask_del_empty = true; FXbool skip_all_del_emptydir = false; // Delete selected files FXString filename, pathname; int i = 0; stopListRefresh = false; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Get index of first selected item if (firstitem == 0) { firstitem = u; } // Stop refreshing the dirsize in dirpanel // when there are many files to delete i++; if (!stopListRefresh && (i > STOP_LIST_REFRESH_NBMAX)) { dirpanel->setAllowDirsizeRefresh(false); stopListRefresh = true; } // Get file name and path filename = current->list->getItemFilename(u); pathname = current->list->getItemPathname(u); // Confirm empty directory deletion if (confirm_del & confirm_del_emptydir & ask_del_empty) { if ((::isEmptyDir(pathname) == 0) && !::isLink(pathname)) { if (skip_all_del_emptydir) { continue; } f->hideProgressDialog(); FXString msg; msg.format(_("Folder %s is not empty, delete it anyway?"), pathname.text()); if (num ==1) { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 0) { goto end; } } else { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Yes case 1: break; // Yes for all case 2: ask_del_empty = false; break; // Skip case 3: continue; break; // Skip all case 4: skip_all_del_emptydir = true; continue; break; } } f->showProgressDialog(); } } // If we don't have permission to write to the file if (!::isWritable(pathname)) { // Overwrite dialog if necessary if (!(overwrite_all | skip_all)) { f->hideProgressDialog(); FXString msg; msg.format(_("File %s is write-protected, delete it anyway?"), pathname.text()); if (num == 1) { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 1) { overwrite = true; } else { goto end; } } else { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Yes case 1: overwrite = true; break; // Yes for all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } } if ((overwrite | overwrite_all) & !skip_all) { // Caution!! Don't delete parent directory!! if (filename != "..") { // Definitively remove file or folder f->remove(pathname); } } f->showProgressDialog(); } // If we have permission to write else { // Caution!! Don't delete parent directory!! if (filename != "..") { // Definitively remove file or folder f->remove(pathname); // If is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (pathname.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+filename+".trashinfo"; ::unlink(trashinfopathname.text()); } } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Delete file operation cancelled!")); break; } } } } end: getApp()->endWaitCursor(); delete f; } // Force FilePanel and DirPanel refresh list->setAllowRefresh(true); stopListRefresh = false; dirpanel->setAllowDirsizeRefresh(true); onCmdRefresh(0, 0, 0); // Enable last item before the first selected item (for keyboard navigation) firstitem = (firstitem < 1) ? 0 : firstitem-1; current->list->enableItem(firstitem); current->list->setCurrentItem(firstitem); return(1); } // View/Edit files long FilePanel::onCmdEdit(FXObject*, FXSelector s, void*) { // Wait cursor getApp()->beginWaitCursor(); FXString pathname, samecmd, cmd, cmdname, itemslist = " "; FileAssoc* association; FXbool same = true; FXbool first = true; current->list->setFocus(); if (current->list->getNumSelectedItems() == 0) { getApp()->endWaitCursor(); return(0); } FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); // Check if all files have the same association for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Increment number of selected items pathname = current->list->getItemPathname(u); association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to edit/view the files if (FXSELID(s) == ID_EDIT) // Edit { cmd = association->command.section(',', 2); // Use a default editor if possible switch (progs[cmd]) { case TXTEDITOR: cmd = txteditor; break; case IMGEDITOR: cmd = imgeditor; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default editor found ; break; } if (cmd.length() == 0) { cmd = txteditor; } } else // Any other is View { cmd = association->command.section(',', 1); // Use a default viewer if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case IMGVIEWER: cmd = imgviewer; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default viewer found ; break; } if (cmd.length() == 0) { cmd = txtviewer; } } if (cmd.text() != NULL) { // First selected item if (first) { samecmd = cmd; first = false; } if (samecmd != cmd) { same = false; break; } // List of selected items itemslist += ::quote(pathname) + " "; } else { same = false; break; } } // No association else { same = false; break; } } } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Same association for all files : execute the associated or default editor or viewer if (same) { cmdname = samecmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Files have different associations : handle them separately else { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); // Only View / Edit regular files (not directories) if (::isFile(pathname)) { association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to edit/view the file if (FXSELID(s) == ID_EDIT) // Edit { cmd = association->command.section(',', 2); // Use a default editor if possible switch (progs[cmd]) { case TXTEDITOR: cmd = txteditor; break; case IMGEDITOR: cmd = imgeditor; break; case ARCHIVER: cmd = archiver; break; } if (cmd.length() == 0) { cmd = txteditor; } } else // Any other is View { cmd = association->command.section(',', 1); // Use a default viewer if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case IMGVIEWER: cmd = imgviewer; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default viewer found ; break; } if (cmd.length() == 0) { cmd = txtviewer; } } if (cmd.text() != NULL) { cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } // No association else { if (FXSELID(s) == ID_EDIT) { cmd = txteditor; } else { cmd = txtviewer; } cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } } } getApp()->endWaitCursor(); return(1); } // Compare two files long FilePanel::onCmdCompare(FXObject*, FXSelector s, void*) { current->list->setFocus(); int num = current->list->getNumSelectedItems(); // Only one or two selected items can be handled if ((num != 1) && (num != 2)) { getApp()->endWaitCursor(); return(0); } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif FXString filecomparator = getApp()->reg().readStringEntry("PROGS", "filecomparator", DEFAULT_FILECOMPARATOR); FXString pathname, cmd, cmdname, itemslist = " "; // One selected item if (num == 1) { // Get the selected item for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); itemslist += ::quote(pathname) + " "; } } // Open a dialog to select the other item to be compared if (comparedialog == NULL) { comparedialog = new BrowseInputDialog(this, "", "", _("Compare"), _("With:"), bigcompareicon, BROWSE_INPUT_FILE); } comparedialog->setIcon(bigcompareicon); comparedialog->setMessage(pathname); comparedialog->setText(""); int rc = 1; rc = comparedialog->execute(PLACEMENT_CURSOR); // Get item path and add it to the list FXString str = comparedialog->getText(); itemslist += ::quote(str); if (!rc || (str == "")) { return(0); } } // Two selected items else if (num == 2) { // Get the two selected items for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); itemslist += ::quote(pathname) + " "; } } } // Wait cursor getApp()->beginWaitCursor(); // If command exists, run it cmdname = filecomparator; if (::existCommand(cmdname)) { cmd = cmdname+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, issue an error message else { getApp()->endWaitCursor(); MessageBox::error(this, BOX_OK, _("Error"), _("Program %s not found. Please define a file comparator program in the Preferences dialog!"), cmdname.text()); } getApp()->endWaitCursor(); return(1); } // File or directory properties long FilePanel::onCmdProperties(FXObject* sender, FXSelector, void*) { int ret; int num, itm; current->list->setFocus(); // If no selected files in the file list, use the selected folder from the tree list (if any) num = current->list->getNumSelectedItems(&itm); if (num == 0) { return(0); } // There is one selected file in the file list else if (num == 1) { // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } FXString path = current->list->getDirectory(); FXString filename = current->list->getItemText(itm); filename = filename.section('\t', 0); PropertiesBox* attrdlg = new PropertiesBox(this, filename, path); attrdlg->create(); attrdlg->show(PLACEMENT_OWNER); } // There are multiple selected files in the file list else if (num > 1) { ret = chdir(current->list->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), current->list->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), current->list->getDirectory().text()); } return(0); } FXString path = current->list->getDirectory(); FXString* files = new FXString[num]; FXString* paths = new FXString[num]; // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } int i = 0; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { files[i] = current->list->getItemText(u).section('\t', 0); paths[i] = path; i++; } } PropertiesBox* attrdlg = new PropertiesBox(this, files, num, paths); attrdlg->create(); attrdlg->show(PLACEMENT_OWNER); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } } // Force panel refresh return(1); } // Create new directory long FilePanel::onCmdNewDir(FXObject*, FXSelector, void*) { FXString dirname = ""; // Focus on current panel list current->list->setFocus(); FXString dirpath = current->list->getDirectory(); if (dirpath != ROOTDIR) { dirpath += PATHSEPSTRING; } if (newdirdialog == NULL) { newdirdialog = new InputDialog(this, "", _("Create new folder:"), _("New Folder"),"",bignewfoldericon); } newdirdialog->setText(""); // Accept was pressed if (newdirdialog->execute(PLACEMENT_CURSOR)) { if (newdirdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("Folder name is empty, operation cancelled")); return(0); } // Directory name contains '/' if (newdirdialog->getText().contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in folder names, operation cancelled")); return(0); } dirname = dirpath+newdirdialog->getText(); if (dirname != dirpath) { // Create the new dir according to the current umask int mask; mask = umask(0); umask(mask); // Note that the umask value is in decimal (511 means octal 0777) errno = 0; int ret = ::mkdir(dirname.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s: %s"), dirname.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s"), dirname.text()); } return(0); } } } // Cancel was pressed else { return(0); } // Force panel refresh onCmdRefresh(0, 0, 0); // Enable created item, if any (for keyboard navigation) FXString name; for (int u = 0; u < current->list->getNumItems(); u++) { name = current->list->getItemPathname(u); if (name == dirname) { current->list->enableItem(u); current->list->setCurrentItem(u); break; } } return(1); } // Create new file long FilePanel::onCmdNewFile(FXObject*, FXSelector, void*) { FXString filename = ""; // Focus on current panel list current->list->setFocus(); FXString pathname = current->list->getDirectory(); if (pathname != ROOTDIR) { pathname += PATHSEPSTRING; } if (newfiledialog == NULL) { newfiledialog = new InputDialog(this, "", _("Create new file:"), _("New File"), "", bignewfileicon, false); } newfiledialog->setText(""); // Accept was pressed if (newfiledialog->execute(PLACEMENT_CURSOR)) { if (newfiledialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // File name contains '/' if (newfiledialog->getText().contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in file names, operation cancelled")); return(0); } filename = pathname+newfiledialog->getText(); FILE* file; if (filename != pathname) { // Test some error conditions if (::exists(filename)) { MessageBox::error(this, BOX_OK, _("Error"), _("File or folder %s already exists"), filename.text()); return(0); } // Create the new file errno = 0; if (!(file = fopen(filename.text(), "w+")) || fclose(file)) { if (errno) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create file %s: %s"), filename.text(), strerror(errno)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create file %s"), filename.text()); } return(0); } // Change the file permissions according to the current umask int mask; mask = umask(0); umask(mask); errno = 0; int rc = chmod(filename.text(), 438 & ~mask); int errcode = errno; if (rc) { if (errcode) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't set permissions in %s: %s"), filename.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't set permissions in %s"), filename.text()); } } } } // Cancel was pressed else { return(0); } // Force panel refresh onCmdRefresh(0, 0, 0); // Enable created item, if any (for keyboard navigation) FXString name; for (int u = 0; u < current->list->getNumItems(); u++) { name = current->list->getItemPathname(u); if (name == filename) { current->list->enableItem(u); current->list->setCurrentItem(u); break; } } return(1); } // Create new symbolic link long FilePanel::onCmdNewSymlink(FXObject*, FXSelector, void*) { FXString linkname = ""; // Focus on current panel list current->list->setFocus(); FXString linkpath = current->list->getDirectory(); if (linkpath != ROOTDIR) { linkpath += PATHSEPSTRING; } if (newlinkdialog == NULL) { newlinkdialog = new InputDialog(this, "", _("Create new symbolic link:"), _("New Symlink"), "", bignewlinkicon, false); } newlinkdialog->setText(""); // Accept was pressed if (newlinkdialog->execute(PLACEMENT_CURSOR)) { if (newlinkdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } linkname = linkpath+newlinkdialog->getText(); File* f; if (linkname != linkpath) { // Test some error conditions if (::exists(linkname)) { MessageBox::error(this, BOX_OK, _("Error"), _("File or folder %s already exists"), linkname.text()); return(0); } // Select target FileDialog browse(this, _("Select the symlink refered file or folder")); browse.setDirectory(linkpath); browse.setSelectMode(SELECT_FILE_MIXED); if (browse.execute()) { FXString linksource = browse.getFilename(); // Source does not exist if (!::exists(linksource)) { MessageBox::error(this, BOX_OK, _("Error"), _("Symlink source %s does not exist"), linksource.text()); return(0); } f = new File(this, _("Symlink"), SYMLINK); f->create(); f->symlink(linksource, linkname); delete f; } //else //return 0; } } // Cancel was pressed else { return(0); } // Force panel refresh onCmdRefresh(0, 0, 0); // Enable created item, if any (for keyboard navigation) FXString name; for (int u = 0; u < current->list->getNumItems(); u++) { name = current->list->getItemPathname(u); if (name == linkname) { current->list->enableItem(u); current->list->setCurrentItem(u); break; } } return(1); } // Open single or multiple files long FilePanel::onCmdOpen(FXObject*, FXSelector, void*) { // Wait cursor getApp()->beginWaitCursor(); FXString pathname, samecmd, cmd, cmdname, itemslist = " "; FileAssoc* association; FXbool same = true; FXbool first = true; current->list->setFocus(); if (current->list->getNumSelectedItems() == 0) { getApp()->endWaitCursor(); return(0); } // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); // Check if all files have the same association for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Increment number of selected items pathname = current->list->getItemPathname(u); // If directory, skip it if (::isDirectory(pathname)) { continue; } // If association found association = assocdict->findFileBinding(pathname.text()); if (association) { cmd = association->command.section(',', 0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case TXTEDITOR: cmd = txteditor; break; case IMGVIEWER: cmd = imgviewer; break; case IMGEDITOR: cmd = imgeditor; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No program found ; break; } if (cmd != "") { // First selected item if (first) { samecmd = cmd; first = false; } if (samecmd != cmd) { same = false; break; } // List of selected items itemslist += ::quote(pathname) + " "; } else { same = false; break; } } else { same = false; break; } } } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Same command for all files : open them if (same && (itemslist != " ")) { cmdname = samecmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = samecmd+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Files have different commands : handle them separately else { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); // If directory, skip it if (::isDirectory(pathname)) { continue; } association = assocdict->findFileBinding(pathname.text()); if (association) { // Use association to open the file cmd = association->command.section(',', 0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case TXTEDITOR: cmd = txteditor; break; case IMGVIEWER: cmd = imgviewer; break; case IMGEDITOR: cmd = imgeditor; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No program found ; break; } if (cmd != "") { cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); #else runcmd(cmd, current->list->getDirectory(), startlocation); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Or execute the file else if (current->list->isItemExecutable(u)) { execFile(pathname); } // Or call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (current->list->isItemExecutable(u)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } getApp()->endWaitCursor(); return(1); } // Open with long FilePanel::onCmdOpenWith(FXObject*, FXSelector, void*) { char** str = NULL; current->list->setFocus(); if (current->list->getNumSelectedItems() == 0) { return(0); } FXString cmd = "", cmdname; if (opendialog == NULL) { opendialog = new HistInputDialog(this, "", _("Open selected file(s) with:"), _("Open With"), "", bigfileopenicon, HIST_INPUT_EXECUTABLE_FILE, true, _("A&ssociate")); } opendialog->setText(cmd); // Dialog with history list and associate checkbox opendialog->CursorEnd(); opendialog->selectAll(); opendialog->clearItems(); for (int i = 0; i < OpenNum; i++) { opendialog->appendItem(OpenHistory[i]); } opendialog->setDirectory(ROOTDIR); opendialog->sortItems(); if (opendialog->execute()) { cmd = opendialog->getText(); if (cmd == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Handles "associate" checkbox for "open with..." dialog if (opendialog->getOption()) { FXString filename = current->list->getItemFilename(u); FXString ext = filename.rafter('.', 2).lower(); if ((ext == "tar.gz") || (ext == "tar.bz2") || (ext == "tar.xz") || (ext == "tar.z")) // Special cases { } else { ext = FXPath::extension(filename).lower(); } if (ext == "") { ext = FXPath::name(filename); } FileAssoc* association = current->list->getItemAssoc(u); if (association) { // Update existing association FXString oldfileassoc = getApp()->reg().readStringEntry("FILETYPES", ext.text(), ""); oldfileassoc.erase(0, oldfileassoc.section(';', 0).section(',', 0).length()); oldfileassoc.prepend(opendialog->getText()); getApp()->reg().writeStringEntry("FILETYPES", ext.text(), oldfileassoc.text()); // Handle file association str = new char* [2]; str[0] = new char[strlen(ext.text())+1]; str[1] = new char[strlen(oldfileassoc.text())+1]; strlcpy(str[0], ext.text(), ext.length()+1); strlcpy(str[1], oldfileassoc.text(), oldfileassoc.length()+1); mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC), str); } else { // New association FXString newcmd = opendialog->getText().append(";Document;;;;"); getApp()->reg().writeStringEntry("FILETYPES", ext.text(), newcmd.text()); // Handle file association str = new char* [2]; str[0] = new char[strlen(ext.text())+1]; str[1] = new char[strlen(newcmd.text())+1]; strlcpy(str[0], ext.text(), ext.length()+1); strlcpy(str[1], newcmd.text(), newcmd.length()+1); mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC), str); } } // End FXString pathname = current->list->getItemPathname(u); cmdname = cmd; cmd += " "; cmd = cmd+::quote(pathname); } } // Run command if it exists getApp()->beginWaitCursor(); #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // If command exists, run it if (::existCommand(cmdname)) #ifdef STARTUP_NOTIFICATION { runcmd(cmd, cmdname, current->list->getDirectory(), startlocation, usesn, snexcepts); } #else { runcmd(cmd, current->list->getDirectory(), startlocation); } #endif // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); current->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); return(1); } // Update history list OpenNum = opendialog->getHistorySize(); cmd = opendialog->getText(); // Check if cmd is a new string, i.e. is not already in history FXbool newstr = true; for (int i = 0; i < OpenNum-1; i++) { if (streq(OpenHistory[i], cmd.text())) { newstr = false; break; } } // History limit reached if (OpenNum > OPEN_HIST_SIZE) { OpenNum--; } // New string if (newstr) { // FIFO strlcpy(OpenHistory[0], cmd.text(), cmd.length()+1); for (int i = 1; i < OpenNum; i++) { strlcpy(OpenHistory[i], opendialog->getHistoryItem(i-1).text(), opendialog->getHistoryItem(i-1).length()+1); } } getApp()->endWaitCursor(); } return(1); } long FilePanel::onCmdItemFilter(FXObject* o, FXSelector sel, void*) { if (FilterNum == 0) { strlcpy(FilterHistory[FilterNum], "*", 2); FilterNum++; } int i; FXString pat = list->getPattern(); if (filterdialog == NULL) { filterdialog = new HistInputDialog(this, pat, _("Show files:"), _("Filter"), "", bigfiltericon, HIST_INPUT_FILE); } filterdialog->CursorEnd(); filterdialog->selectAll(); filterdialog->clearItems(); for (int i = 0; i < FilterNum; i++) { filterdialog->appendItem(FilterHistory[i]); } filterdialog->sortItems(); if (filterdialog->execute() && ((pat = filterdialog->getText()) != "")) { // Change file list patten if (FXSELID(sel) == ID_FILTER_CURRENT) { current->list->setPattern(pat); } else { list->setPattern(pat); } FXbool newstr = true; for (i = 0; i < FilterNum; i++) { if (streq(FilterHistory[i], pat.text())) { newstr = false; break; } } // Append new string to the list bottom if (newstr && (FilterNum < FILTER_HIST_SIZE)) { strlcpy(FilterHistory[FilterNum], pat.text(), pat.length()+1); FilterNum++; } } list->setFocus(); return(1); } // Panel context menu long FilePanel::onCmdPopupMenu(FXObject* o, FXSelector s, void* p) { // Make panel active setActive(); // Check if control key or Shift-F10 or menu was pressed if (p != NULL) { FXEvent* event = (FXEvent*)p; if (event->state&CONTROLMASK) { ctrl = true; } if ((event->state&SHIFTMASK && event->code == KEY_F10) || event->code == KEY_Menu) { shiftf10 = true; } } // Use to select the item under cursor when right clicking // Only when Shift-F10 was not pressed if (!shiftf10 && (list->getNumSelectedItems() <= 1)) { int x, y; FXuint state; list->getCursorPosition(x, y, state); int item = list->getItemAt(x, y); if (list->getCurrentItem() >= 0) { list->deselectItem(list->getCurrentItem()); } if (item >= 0) { list->setCurrentItem(item); list->selectItem(item); } } // If first item (i.e. the '..' item) if ((list->getNumSelectedItems() == 1) && list->isItemSelected(0)) { ctrl = true; } // If control flag is set, deselect all items if (ctrl) { list->handle(o, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL), p); } // Popup menu pane FXMenuPane* menu = new FXMenuPane(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); int num, itm; num = current->list->getNumSelectedItems(&itm); // No selection or control flag set if ((num == 0) || current->ctrl) { // Menu items new FXMenuCommand(menu, _("New& file..."), newfileicon, current, FilePanel::ID_NEW_FILE); new FXMenuCommand(menu, _("New f&older..."), newfoldericon, current, FilePanel::ID_NEW_DIR); new FXMenuCommand(menu, _("New s&ymlink..."), newlinkicon, current, FilePanel::ID_NEW_SYMLINK); new FXMenuCommand(menu, _("Fi<er..."), filtericon, current, FilePanel::ID_FILTER); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("&Paste"), paste_clpicon, current, FilePanel::ID_PASTE_CLIPBOARD); new FXMenuSeparator(menu); new FXMenuCheck(menu, _("&Hidden files"), current->list, FileList::ID_TOGGLE_HIDDEN); new FXMenuCheck(menu, _("Thum&bnails"), current->list, FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("B&ig icons"), current->list, IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(menu, _("&Small icons"), current->list, IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(menu, _("&Full file list"), current->list, IconList::ID_SHOW_DETAILS); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("&Rows"), current->list, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(menu, _("&Columns"), current->list, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(menu, _("Autosize"), current->list, FileList::ID_AUTOSIZE); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("&Name"), current->list, FileList::ID_SORT_BY_NAME); new FXMenuRadio(menu, _("Si&ze"), current->list, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(menu, _("&Type"), current->list, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(menu, _("E&xtension"), current->list, FileList::ID_SORT_BY_EXT); new FXMenuRadio(menu, _("&Date"), current->list, FileList::ID_SORT_BY_TIME); new FXMenuRadio(menu, _("&User"), current->list, FileList::ID_SORT_BY_USER); new FXMenuRadio(menu, _("&Group"), current->list, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(menu, _("Per&missions"), current->list, FileList::ID_SORT_BY_PERM); new FXMenuRadio(menu, _("Deletion date"), current->list, FileList::ID_SORT_BY_DELTIME); new FXMenuSeparator(menu); new FXMenuCheck(menu, _("Ignore c&ase"), current->list, FileList::ID_SORT_CASE); new FXMenuCheck(menu, _("Fold&ers first"), current->list, FileList::ID_DIRS_FIRST); new FXMenuCheck(menu, _("Re&verse order"), current->list, FileList::ID_SORT_REVERSE); } // Non empty selection else { // Deselect the '..' item if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Panel submenu items FXMenuPane* submenu = new FXMenuPane(this); new FXMenuCommand(submenu, _("Ne&w file..."), newfileicon, current, FilePanel::ID_NEW_FILE); new FXMenuCommand(submenu, _("New f&older..."), newfoldericon, current, FilePanel::ID_NEW_DIR); new FXMenuCommand(submenu, _("New s&ymlink..."), newlinkicon, current, FilePanel::ID_NEW_SYMLINK); new FXMenuCommand(submenu, _("Fi<er..."), filtericon, current, FilePanel::ID_FILTER); new FXMenuSeparator(submenu); new FXMenuCommand(submenu, _("&Paste"), paste_clpicon, current, FilePanel::ID_PASTE_CLIPBOARD); new FXMenuSeparator(submenu); new FXMenuCheck(submenu, _("&Hidden files"), current->list, FileList::ID_TOGGLE_HIDDEN); new FXMenuCheck(submenu, _("Thum&bnails"), current->list, FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("B&ig icons"), current->list, IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(submenu, _("&Small icons"), current->list, IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(submenu, _("&Full file list"), current->list, IconList::ID_SHOW_DETAILS); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("&Rows"), current->list, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(submenu, _("&Columns"), current->list, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(submenu, _("Autosize"), current->list, FileList::ID_AUTOSIZE); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("&Name"), current->list, FileList::ID_SORT_BY_NAME); new FXMenuRadio(submenu, _("Si&ze"), current->list, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(submenu, _("&Type"), current->list, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(submenu, _("E&xtension"), current->list, FileList::ID_SORT_BY_EXT); new FXMenuRadio(submenu, _("&Date"), current->list, FileList::ID_SORT_BY_TIME); new FXMenuRadio(submenu, _("&User"), current->list, FileList::ID_SORT_BY_USER); new FXMenuRadio(submenu, _("&Group"), current->list, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(submenu, _("Per&missions"), current->list, FileList::ID_SORT_BY_PERM); new FXMenuRadio(submenu, _("Deletion date"), current->list, FileList::ID_SORT_BY_DELTIME); new FXMenuSeparator(submenu); new FXMenuCheck(submenu, _("Ignore c&ase"), current->list, FileList::ID_SORT_CASE); new FXMenuCheck(submenu, _("Fold&ers first"), current->list, FileList::ID_DIRS_FIRST); new FXMenuCheck(submenu, _("Re&verse order"), current->list, FileList::ID_SORT_REVERSE); new FXMenuCascade(menu, _("Pane&l"), NULL, submenu); new FXMenuSeparator(menu); #if defined(linux) FXString name = current->list->getItemPathname(itm); if ((num == 1) && (fsdevices->find(name.text()) || mtdevices->find(name.text()))) { new FXMenuCommand(menu, _("&Mount"), maphosticon, current, FilePanel::ID_MOUNT); new FXMenuCommand(menu, _("Unmount"), unmaphosticon, current, FilePanel::ID_UMOUNT); new FXMenuSeparator(menu); } #endif FXbool ar = false; if (current->list->getItem(itm) && current->list->isItemFile(itm)) { new FXMenuCommand(menu, _("Open &with..."), fileopenicon, current, FilePanel::ID_OPEN_WITH); new FXMenuCommand(menu, _("&Open"), fileopenicon, current, FilePanel::ID_OPEN); FXString name = current->list->getItemText(itm).section('\t', 0); // Last and before last file extensions FXString ext1 = name.rafter('.', 1).lower(); FXString ext2 = name.rafter('.', 2).lower(); // Destination folder name FXString extract_to_folder; if ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z")) { extract_to_folder = _("Extr&act to folder ")+name.section('\t', 0).rbefore('.', 2); } else { extract_to_folder = _("Extr&act to folder ")+name.section('\t', 0).rbefore('.', 1); } // Display the extract and package menus according to the archive extensions if ((num == 1) && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) { ar = true; new FXMenuCommand(menu, _("&Extract here"), archexticon, current, FilePanel::ID_EXTRACT_HERE); new FXMenuCommand(menu, extract_to_folder, archexticon, current, FilePanel::ID_EXTRACT_TO_FOLDER); new FXMenuCommand(menu, _("E&xtract to..."), archexticon, current, FilePanel::ID_EXTRACT); } else if ((num == 1) && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) { ar = true; new FXMenuCommand(menu, _("&Extract here"), archexticon, current, FilePanel::ID_EXTRACT_HERE); } else if ((num == 1) && ((ext1 == "tar") || (ext1 == "tgz") || (ext1 == "tbz2") || (ext1 == "tbz") || (ext1 == "taz") || (ext1 == "txz") || (ext1 == "zip") || (ext1 == "7z") || (ext1 == "lzh") || (ext1 == "rar") || (ext1 == "ace") || (ext1 == "arj"))) { ar = true; new FXMenuCommand(menu, _("&Extract here"), archexticon, current, FilePanel::ID_EXTRACT_HERE); new FXMenuCommand(menu, extract_to_folder, archexticon, current, FilePanel::ID_EXTRACT_TO_FOLDER); new FXMenuCommand(menu, _("E&xtract to..."), archexticon, current, FilePanel::ID_EXTRACT); } #if defined(linux) else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb"))) { ar = true; new FXMenuCommand(menu, _("&View"), packageicon, current, FilePanel::ID_VIEW); new FXMenuCommand(menu, _("Install/Up&grade"), packageicon, current, ID_PKG_INSTALL); new FXMenuCommand(menu, _("Un&install"), packageicon, current, ID_PKG_UNINSTALL); } #endif // Not archive nor package if (!ar) { new FXMenuCommand(menu, _("&View"), viewicon, current, FilePanel::ID_VIEW); new FXMenuCommand(menu, _("&Edit"), editicon, current, FilePanel::ID_EDIT); if (num == 1) { new FXMenuCommand(menu, _("Com&pare..."), compareicon, current, FilePanel::ID_COMPARE); } else { new FXMenuCommand(menu, _("Com&pare"), compareicon, current, FilePanel::ID_COMPARE); } } } if (!ar) { new FXMenuCommand(menu, _("&Add to archive..."), archaddicon, current, FilePanel::ID_ADD_TO_ARCH); } #if defined(linux) if ((num == 1) && !ar) { new FXMenuCommand(menu, _("Packages &query "), packageicon, current, FilePanel::ID_PKG_QUERY); } #endif // Build scripts menu new FXMenuSeparator(menu); FXString scriptpath = homedir + PATHSEPSTRING CONFIGPATH PATHSEPSTRING XFECONFIGPATH PATHSEPSTRING SCRIPTPATH; FXMenuPane* scriptsmenu = new FXMenuPane(this); new FXMenuCascade(menu, _("Scripts"), runicon, scriptsmenu); readScriptDir(scriptsmenu, scriptpath); new FXMenuSeparator(scriptsmenu); new FXMenuCommand(scriptsmenu, _("&Go to script folder"), gotodiricon, this, FilePanel::ID_GO_SCRIPTDIR); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("&Copy"), copy_clpicon, current, FilePanel::ID_COPY_CLIPBOARD); new FXMenuCommand(menu, _("C&ut"), cut_clpicon, current, FilePanel::ID_CUT_CLIPBOARD); new FXMenuCommand(menu, _("&Paste"), paste_clpicon, current, FilePanel::ID_PASTE_CLIPBOARD); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Re&name..."), renameiticon, current, FilePanel::ID_FILE_RENAME); new FXMenuCommand(menu, _("Copy &to..."), copy_clpicon, current, FilePanel::ID_FILE_COPYTO); new FXMenuCommand(menu, _("&Move to..."), moveiticon, current, FilePanel::ID_FILE_MOVETO); new FXMenuCommand(menu, _("Symlin&k to..."), minilinkicon, current, FilePanel::ID_FILE_SYMLINK); new FXMenuCommand(menu, _("M&ove to trash"), filedeleteicon, current, FilePanel::ID_FILE_TRASH); new FXMenuCommand(menu, _("Restore &from trash"), filerestoreicon, current, FilePanel::ID_FILE_RESTORE); new FXMenuCommand(menu, _("&Delete"), filedelete_permicon, current, FilePanel::ID_FILE_DELETE); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Compare &sizes"), charticon, current, FilePanel::ID_DIR_USAGE); new FXMenuCommand(menu, _("P&roperties"), attribicon, current, FilePanel::ID_PROPERTIES); } menu->create(); // Reset flags ctrl = false; shiftf10 = false; allowPopupScroll = true; // Allow keyboard scrolling menu->popup(NULL, x, y); getApp()->runModalWhileShown(menu); allowPopupScroll = false; return(1); } // Read all executable file names that are located into the script directory // Sort entries alphabetically int FilePanel::readScriptDir(FXMenuPane* scriptsmenu, FXString dir) { DIR* dp; struct dirent** namelist; // Open directory if ((dp = opendir(dir.text())) == NULL) { return(0); } // Eventually add a / at the end of the directory name if (dir[dir.length()-1] != '/') { dir = dir+"/"; } // Read directory and sort entries alphabetically int n = scandir(dir.text(), &namelist, NULL, alphasort); if (n < 0) { perror("scandir"); } else { for (int k = 0; k < n; k++) { // Avoid hidden directories and '.' and '..' if (namelist[k]->d_name[0] != '.') { FXString pathname = dir + namelist[k]->d_name; // Recurse if non empty directory if (::isDirectory(pathname)) { if (!::isEmptyDir(pathname)) { FXMenuPane* submenu = new FXMenuPane(this); new FXMenuCascade(scriptsmenu, namelist[k]->d_name, NULL, submenu); readScriptDir(submenu, pathname); } } // Add only executable files to the list else if (isReadExecutable(pathname)) { new FXMenuCommand(scriptsmenu, namelist[k]->d_name + FXString("\t\t") + pathname, miniexecicon, this, FilePanel::ID_RUN_SCRIPT); } } free(namelist[k]); } free(namelist); } // Close directory (void)closedir(dp); return(1); } // Run Terminal in the selected directory long FilePanel::onCmdXTerm(FXObject*, FXSelector, void*) { int ret; getApp()->beginWaitCursor(); ret = chdir(current->list->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), current->list->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), current->list->getDirectory().text()); } return(0); } FXString cmd = getApp()->reg().readStringEntry("PROGS", "xterm", "xterm -sb"); cmd += " &"; ret = system(cmd.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), cmd.text()); } current->list->setFocus(); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } getApp()->endWaitCursor(); return(1); } // Add files or directory to an archive long FilePanel::onCmdAddToArch(FXObject* o, FXSelector, void*) { int ret; FXString name, ext1, ext2, cmd, archive = ""; File* f; ret = chdir(current->list->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), list->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), list->getDirectory().text()); } return(0); } // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Return if nothing is selected if (current->list->getNumSelectedItems() == 0) { return(0); } // If only one item is selected, use its name as a starting guess for the archive name if (current->list->getNumSelectedItems() == 1) { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { name = current->list->getItemFilename(u); break; } } archive = name; } // Initial archive name with full path and default extension FXString archpath = current->list->getDirectory(); if (archpath == PATHSEPSTRING) { archive = archpath+archive+".tar.gz"; } else { archive = archpath+PATHSEPSTRING+archive+".tar.gz"; } // Archive dialog if (archdialog == NULL) { archdialog = new ArchInputDialog(this, ""); } archdialog->setText(archive); archdialog->CursorEnd(); if (archdialog->execute()) { if (archdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // Get string and preserve escape characters archive = ::quote(archdialog->getText()); // Get extensions of the archive name ext1 = archdialog->getText().rafter('.', 1).lower(); ext2 = archdialog->getText().rafter('.', 2).lower(); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zcvf "+archive+" "; } else if (ext2 == "tar.bz2") { cmd = "tar -jcvf "+archive+" "; } else if (ext2 == "tar.xz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext2 == "tar.z") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "tar") { cmd = "tar -cvf "+archive+" "; } else if (ext1 == "gz") { cmd = "gzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zcvf "+archive+" "; } else if (ext1 == "taz") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "bz2") { cmd = "bzip2 -v "; } else if (ext1 == "xz") { cmd = "xz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jcvf "+archive+" "; } else if (ext1 == "txz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext1 == "z") { cmd = "compress -v "; } else if (ext1 == "zip") { cmd = "zip -r "+archive+" "; } else if (ext1 == "7z") { cmd = "7z a "+archive+" "; } // Default archive format else { archive += ".tar.gz"; cmd = "tar -zcvf "+archive+" "; } for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { // Don't include '..' in the list name = current->list->getItemFilename(u); if (name != "..") { cmd += " "; cmd = cmd+::quote(name); cmd += " "; } } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Create archive"), ARCHIVE); f->create(); // Create archive f->archive(archive, cmd); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } getApp()->endWaitCursor(); delete f; // Force panel refresh onCmdRefresh(0, 0, 0); } return(1); } // Extract archive long FilePanel::onCmdExtract(FXObject*, FXSelector, void*) { FXString name, ext1, ext2, cmd, dir, cdir; File* f; // Current directory cdir = current->list->getDirectory(); // File selection dialog FileDialog browse(this, _("Select a destination folder")); const char* patterns[] = { _("All Files"), "*", NULL }; browse.setDirectory(homedir); browse.setPatternList(patterns); browse.setSelectMode(SELECT_FILE_DIRECTORY); int item; current->list->getNumSelectedItems(&item); if (current->list->getItem(item)) { // Archive name and extensions name = current->list->getItemText(item).text(); ext1 = name.section('\t', 0).rafter('.', 1).lower(); ext2 = name.section('\t', 0).rafter('.', 2).lower(); name = ::quote(cdir + PATHSEPSTRING + name.section('\t', 0)); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zxvf "; } else if (ext2 == "tar.bz2") { cmd = "tar -jxvf "; } else if (ext2 == "tar.xz") { cmd = "tar -Jxvf "; } else if (ext2 == "tar.z") { cmd = "tar -Zxvf "; } else if (ext1 == "tar") { cmd = "tar -xvf "; } else if (ext1 == "gz") { cmd = "gunzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zxvf "; } else if (ext1 == "taz") { cmd = "tar -Zxvf "; } else if (ext1 == "bz2") { cmd = "bunzip2 -v "; } else if (ext1 == "xz") { cmd = "unxz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jxvf "; } else if (ext1 == "txz") { cmd = "tar -Jxvf "; } else if (ext1 == "z") { cmd = "uncompress -v "; } else if (ext1 == "zip") { cmd = "unzip -o "; } else if (ext1 == "7z") { cmd = "7z x -y "; } else if (ext1 == "rar") { cmd = "unrar x -o+ "; } else if (ext1 == "lzh") { cmd = "lha -xf "; } else if (ext1 == "ace") { cmd = "unace x "; } else if (ext1 == "arj") { cmd = "arj x -y "; } else { cmd = "tar -zxvf "; } // Final extract command cmd += name+" "; // Extract archive if (browse.execute()) { dir = browse.getFilename(); if (isWritable(dir)) { // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Extract archive"), EXTRACT); f->create(); // Extract archive f->extract(name, dir, cmd); getApp()->endWaitCursor(); delete f; } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), dir.text()); } } } // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } // Extract archive to a folder name based on the archive name long FilePanel::onCmdExtractToFolder(FXObject*, FXSelector, void*) { FXString name, pathname, ext1, ext2, cmd, dirname, dirpath, cdir; File* f; // Current directory cdir = current->list->getDirectory(); int item; current->list->getNumSelectedItems(&item); if (current->list->getItem(item)) { // Archive name and extensions name = current->list->getItemText(item).text(); ext1 = name.section('\t', 0).rafter('.', 1).lower(); ext2 = name.section('\t', 0).rafter('.', 2).lower(); // Destination folder name if ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z")) { dirname = name.section('\t', 0).rbefore('.', 2); } else { dirname = name.section('\t', 0).rbefore('.', 1); } // Create the new dir according to the current umask // Don't complain if directory already exists int mask = umask(0); umask(mask); dirpath = cdir + PATHSEPSTRING + dirname; errno = 0; int ret = ::mkdir(dirpath.text(), 511 & ~mask); int errcode = errno; if ((ret == -1) && (errcode != EEXIST)) { if (errcode) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s: %s"), dirpath.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s"), dirpath.text()); } return(0); } // Archive pathname pathname = ::quote(cdir + PATHSEPSTRING + name.section('\t', 0)); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zxvf "; } else if (ext2 == "tar.bz2") { cmd = "tar -jxvf "; } else if (ext2 == "tar.xz") { cmd = "tar -Jxvf "; } else if (ext2 == "tar.z") { cmd = "tar -Zxvf "; } else if (ext1 == "tar") { cmd = "tar -xvf "; } else if (ext1 == "gz") { cmd = "gunzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zxvf "; } else if (ext1 == "taz") { cmd = "tar -Zxvf "; } else if (ext1 == "bz2") { cmd = "bunzip2 -v "; } else if (ext1 == "xz") { cmd = "unxz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jxvf "; } else if (ext1 == "txz") { cmd = "tar -Jxvf "; } else if (ext1 == "z") { cmd = "uncompress -v "; } else if (ext1 == "zip") { cmd = "unzip -o "; } else if (ext1 == "7z") { cmd = "7z x -y "; } else if (ext1 == "rar") { cmd = "unrar x -o+ "; } else if (ext1 == "lzh") { cmd = "lha -xf "; } else if (ext1 == "ace") { cmd = "unace x "; } else if (ext1 == "arj") { cmd = "arj x -y "; } else { cmd = "tar -zxvf "; } // Final extract command cmd += pathname+" "; // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Extract archive"), EXTRACT); f->create(); // Extract archive f->extract(pathname, dirpath, cmd); getApp()->endWaitCursor(); delete f; } // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } // Extract archive in the current directory long FilePanel::onCmdExtractHere(FXObject*, FXSelector, void*) { FXString name, ext1, ext2, cmd, cdir; File* f; // Current directory cdir = current->list->getDirectory(); int item; current->list->getNumSelectedItems(&item); if (current->list->getItem(item)) { if (isWritable(cdir)) { // Archive name and extensions name = current->list->getItemText(item).text(); ext1 = name.section('\t', 0).rafter('.', 1); lower(); ext2 = name.section('\t', 0).rafter('.', 2).lower(); name = ::quote(cdir + PATHSEPSTRING + name.section('\t', 0)); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zxvf "; } else if (ext2 == "tar.bz2") { cmd = "tar -jxvf "; } else if (ext2 == "tar.xz") { cmd = "tar -Jxvf "; } else if (ext2 == "tar.z") { cmd = "tar -Zxvf "; } else if (ext1 == "tar") { cmd = "tar -xvf "; } else if (ext1 == "gz") { cmd = "gunzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zxvf "; } else if (ext1 == "taz") { cmd = "tar -Zxvf "; } else if (ext1 == "bz2") { cmd = "bunzip2 -v "; } else if (ext1 == "xz") { cmd = "unxz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jxvf "; } else if (ext1 == "txz") { cmd = "tar -Jxvf "; } else if (ext1 == "z") { cmd = "uncompress -v "; } else if (ext1 == "zip") { cmd = "unzip -o "; } else if (ext1 == "7z") { cmd = "7z x -y "; } else if (ext1 == "rar") { cmd = "unrar x -o+ "; } else if (ext1 == "lzh") { cmd = "lha -xf "; } else if (ext1 == "ace") { cmd = "unace x "; } else if (ext1 == "arj") { cmd = "arj x -y "; } else { cmd = "tar -zxvf "; } // Final extract command cmd += name+" "; // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Extract archive"), EXTRACT); f->create(); // Extract archive f->extract(name, cdir, cmd); getApp()->endWaitCursor(); delete f; } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), cdir.text()); } } // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } #if defined(linux) // Install/Upgrade package long FilePanel::onCmdPkgInstall(FXObject*, FXSelector, void*) { FXString name, path, cmd, dir, cdir; File* f; cdir = current->list->getDirectory(); int itm; current->list->getNumSelectedItems(&itm); if (current->list->getItem(itm)) { name = current->list->getItemText(itm).text(); name = name.section('\t', 0); path = ::quote(cdir + PATHSEPSTRING + name); // Command to perform FXString ext = FXPath::extension(name); if (comparecase(ext, "rpm") == 0) { cmd = "rpm -Uvh " + path; } else if (comparecase(ext, "deb") == 0) { cmd = "dpkg -i "+ path; } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Package Install/Upgrade"), PKG_INSTALL); f->create(); // Install/Upgrade package f->pkgInstall(name, cmd); getApp()->endWaitCursor(); delete f; } // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } // Uninstall package based on its name (package version is ignored) long FilePanel::onCmdPkgUninstall(FXObject*, FXSelector, void*) { FXString name, cmd, dir, cdir; File* f; cdir = current->list->getDirectory(); int itm; current->list->getNumSelectedItems(&itm); if (current->list->getItem(itm)) { name = current->list->getItemText(itm).text(); name = name.section('\t', 0); // Command to perform FXString ext = FXPath::extension(name); if (comparecase(ext, "rpm") == 0) { name = name.section('-', 0); cmd = "rpm -e " + name; } else if (comparecase(ext, "deb") == 0) { name = name.section('_', 0); cmd = "dpkg -r "+ name; } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Package Uninstall"), PKG_UNINSTALL); f->create(); // Uninstall package f->pkgUninstall(name, cmd); getApp()->endWaitCursor(); delete f; } // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } #endif // Force FilePanel and DirPanel refresh long FilePanel::onCmdRefresh(FXObject*, FXSelector, void*) { // Refresh panel FXString dir = list->getDirectory(); list->setDirectory(ROOTDIR, false); list->setDirectory(dir, false); updatePath(); // Focus on current panel current-> list->setFocus(); return(1); } // Handle item selection long FilePanel::onCmdSelect(FXObject* sender, FXSelector sel, void* ptr) { current->list->setFocus(); switch (FXSELID(sel)) { case ID_SELECT_ALL: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SELECT_ALL), ptr); return(1); case ID_DESELECT_ALL: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL), ptr); return(1); case ID_SELECT_INVERSE: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SELECT_INVERSE), ptr); return(1); } return(1); } // Handle show commands long FilePanel::onCmdShow(FXObject* sender, FXSelector sel, void* ptr) { switch (FXSELID(sel)) { case ID_SHOW_BIG_ICONS: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SHOW_BIG_ICONS), ptr); break; case ID_SHOW_MINI_ICONS: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SHOW_MINI_ICONS), ptr); break; case ID_SHOW_DETAILS: current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SHOW_DETAILS), ptr); break; } // Set focus on current panel list current->list->setFocus(); return(1); } // Update show commands long FilePanel::onUpdShow(FXObject* sender, FXSelector sel, void* ptr) { FXuint msg = FXWindow::ID_UNCHECK; FXuint style = current->list->getListStyle(); switch (FXSELID(sel)) { case ID_SHOW_BIG_ICONS: if (style & _ICONLIST_BIG_ICONS) { msg = FXWindow::ID_CHECK; } break; case ID_SHOW_MINI_ICONS: if (style & _ICONLIST_MINI_ICONS) { msg = FXWindow::ID_CHECK; } break; case ID_SHOW_DETAILS: if (!(style & (_ICONLIST_MINI_ICONS | _ICONLIST_BIG_ICONS))) { msg = FXWindow::ID_CHECK; } break; } sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); return(1); } // Handle toggle hidden command long FilePanel::onCmdToggleHidden(FXObject* sender, FXSelector sel, void* ptr) { current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_TOGGLE_HIDDEN), ptr); return(1); } // Update toggle hidden command long FilePanel::onUpdToggleHidden(FXObject* sender, FXSelector sel, void* ptr) { FXuint msg = FXWindow::ID_UNCHECK; FXbool hidden = current->list->shownHiddenFiles(); if (hidden == false) { msg = FXWindow::ID_CHECK; } sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); return(1); } // Handle toggle thumbnails command long FilePanel::onCmdToggleThumbnails(FXObject* sender, FXSelector sel, void* ptr) { current->list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_TOGGLE_THUMBNAILS), ptr); return(1); } // Update toggle hidden command long FilePanel::onUpdToggleThumbnails(FXObject* sender, FXSelector sel, void* ptr) { FXuint msg = FXWindow::ID_UNCHECK; FXbool showthumb = current->list->shownThumbnails(); if (showthumb == false) { msg = FXWindow::ID_CHECK; } sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); return(1); } // Run script long FilePanel::onCmdRunScript(FXObject* o, FXSelector sel, void*) { // Wait cursor getApp()->beginWaitCursor(); FXString pathname, cmd, itemslist = " "; FXString scriptpath = dynamic_cast(o)->getHelpText(); // Construct selected files list current->list->setFocus(); for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); // List of selected items itemslist += ::quote(pathname) + " "; } } // Construct command line cmd = ::quote(scriptpath) + itemslist + " &"; // Go to the current directory int ret = chdir(current->list->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), current->list->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), current->list->getDirectory().text()); } } // Execute command static pid_t child_pid = 0; switch ((child_pid = fork())) { case -1: fprintf(stderr, _("Error: Fork failed: %s\n"), strerror(errno)); break; case 0: execl("/bin/sh", "sh", "-c", cmd.text(), (char*)NULL); _exit(EXIT_SUCCESS); break; } // Return to the starting directory ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } } getApp()->endWaitCursor(); return(1); } // Go to scripts directory long FilePanel::onCmdGoScriptDir(FXObject* o, FXSelector sel, void*) { FXString scriptpath = homedir + PATHSEPSTRING CONFIGPATH PATHSEPSTRING XFECONFIGPATH PATHSEPSTRING SCRIPTPATH; if (!::exists(scriptpath)) { // Create the script directory according to the umask int mask = umask(0); umask(mask); errno = 0; int ret = mkpath(scriptpath.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create script folder %s: %s"), scriptpath.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create script folder %s"), scriptpath.text()); } return(0); } } // Go to scripts directory current->list->setDirectory(scriptpath); current->list->setFocus(); dirpanel->setDirectory(scriptpath, true); current->updatePath(); updateLocation(); return(1); } #if defined(linux) // Mount/Unmount file systems long FilePanel::onCmdMount(FXObject*, FXSelector sel, void*) { int ret; FXString cmd, msg, text; FXuint op; File* f; FXString dir; current->list->setFocus(); // Use the selected directory in FilePanel if any // or use the selected directory in DirPanel if (current->list->getNumSelectedItems() == 0) { dir = current->list->getDirectory(); } else { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { dir = current->list->getItemPathname(u); } } } // If symbolic link, read the linked directory if (::isLink(dir)) { dir = ::readLink(dir); } if (FXSELID(sel) == ID_MOUNT) { op = MOUNT; msg = _("Mount"); cmd = getApp()->reg().readStringEntry("PROGS", "mount", DEFAULT_MOUNTCMD) + FXString(" "); } else { op = UNMOUNT; msg = _("Unmount"); cmd = getApp()->reg().readStringEntry("PROGS", "unmount", DEFAULT_UMOUNTCMD) + FXString(" "); } cmd += ::quote(dir); cmd += " 2>&1"; ret = chdir(ROOTDIR); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), ROOTDIR, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), ROOTDIR); } return(0); } // Wait cursor getApp()->beginWaitCursor(); // File object text = msg + _(" file system..."); f = new File(this, text.text(), op); f->create(); // Mount/unmount file system text = msg + _(" the folder:"); f->mount(dir, text, cmd, op); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hide(); text = msg + _(" operation cancelled!"); MessageBox::error(this, BOX_OK, _("Warning"), "%s", text.text()); delete f; return(0); } getApp()->endWaitCursor(); delete f; // Force panel refresh onCmdRefresh(0, 0, 0); return(1); } // Update the Mount button long FilePanel::onUpdMount(FXObject* o, FXSelector sel, void*) { FXString dir; int num = current->list->getNumSelectedItems(); // Use the selected directory in FilePanel if any // or use the selected directory in DirPanel if (num == 0) { dir = current->list->getDirectory(); } else { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { dir = current->list->getItemPathname(u); } } } if (fsdevices->find(dir.text()) && !mtdevices->find(dir.text()) && current->list->getNumItems() && !current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update the Unmount button long FilePanel::onUpdUnmount(FXObject* o, FXSelector sel, void*) { FXString dir; int num = current->list->getNumSelectedItems(); // Use the selected directory in FilePanel if any // or use the selected directory in DirPanel if (num == 0) { dir = current->list->getDirectory(); } else { for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { dir = current->list->getItemPathname(u); } } } if ((fsdevices->find(dir.text()) || mtdevices->find(dir.text())) && current->list->getNumItems() && !current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Query packages data base long FilePanel::onCmdPkgQuery(FXObject* o, FXSelector sel, void*) { FXString cmd; // Name of the current selected file FXString file = current->list->getCurrentFile(); // Command to perform if (pkg_format == DEB_PKG) { cmd = "dpkg -S " + ::quote(file); } else if (pkg_format == RPM_PKG) { cmd = "rpm -qf " + ::quote(file); } else { MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); return(0); } // Query command cmd += " 2>&1"; // Wait cursor getApp()->beginWaitCursor(); // Perform the command FILE* pcmd = popen(cmd.text(), "r"); if (!pcmd) { MessageBox::error(this, BOX_OK, _("Error"), _("Failed command: %s"), cmd.text()); return(0); } // Get command output char text[10000] = { 0 }; FXString buf; while (fgets(text, sizeof(text), pcmd)) { buf += text; } snprintf(text, sizeof(text)-1, "%s", buf.text()); // Close the stream and display error message if any if ((pclose(pcmd) == -1) && (errno != ECHILD)) // ECHILD can be set if the child was caught by sigHarvest { getApp()->endWaitCursor(); MessageBox::error(this, BOX_OK, _("Error"), "%s", text); return(0); } getApp()->endWaitCursor(); // Get package name, or detect when the file isn't in a package FXString str = text; if (pkg_format == DEB_PKG) // DEB based distribution { FXString substr = str.section(':', 1); if (substr.length()-2 == file.length()) // No other word than the file name { str = str.section(':', 0); // (plus ' ' at the beginning and '\n' at the end) } else { str = ""; } } if (pkg_format == RPM_PKG) // RPM based distribution { if (str.find(' ') != -1) // Space character exists in the string { str = ""; } } // Display the related output message FXString message; if (str == "") { message.format(_("File %s does not belong to any package."), file.text()); MessageBox::information(this, BOX_OK, _("Information"), "%s", message.text()); } else { message.format(_("File %s belongs to the package: %s"), file.text(), str.text()); MessageBox::information(this, BOX_OK, _("Information"), "%s", message.text()); } return(1); } // Update the package query menu long FilePanel::onUpdPkgQuery(FXObject* o, FXSelector sel, void*) { // Menu item is disabled when nothing is selected or multiple selection // or when unique selection and the selected item is a directory int num; num = current->list->getNumSelectedItems(); if ((num == 0) || (num > 1)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else // num=1 { int item = current->list->getCurrentItem(); if ((item >= 0) && current->list->isItemDirectory(item)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } return(1); } #endif // End #if defined(linux) // Directory usage on file selection long FilePanel::onCmdDirUsage(FXObject* o, FXSelector, void*) { FXString name, command, itemslist = " "; FXString cmd1 = "/usr/bin/du --apparent-size -k -s "; FXString cmd2 = " 2> /dev/null | /usr/bin/sort -rn | /usr/bin/cut -f2 | /usr/bin/xargs -d '\n' /usr/bin/du --apparent-size --total --si -s 2> /dev/null"; // Enter current directory int ret=chdir(current->getDirectory().text()); if (ret < 0) { int errcode=errno; if (errcode) { MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s: %s"),current->getDirectory().text(),strerror(errcode)); } else { MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s"),current->getDirectory().text()); } return 0; } // Eventually deselect the '..' directory if (current->list->isItemSelected(0)) { current->list->deselectItem(0); } // Return if nothing is selected if (current->list->getNumSelectedItems() == 0) { return(0); } // Construct selected files list current->list->setFocus(); for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { name = current->list->getItemFilename(u); // List of selected items itemslist += ::quote(name) + " "; } } // Command to be executed command = cmd1 + itemslist + cmd2; // Make and show command window CommandWindow* cmdwin=new CommandWindow(getApp(),_("Sizes of Selected Items"),command,25,50); cmdwin->create(); cmdwin->setIcon(charticon); // The CommandWindow object will delete itself when closed! // Return to start location ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } } return(1); } // Update the status bar and the path linker long FilePanel::onUpdStatus(FXObject* sender, FXSelector, void*) { // Update the status bar int item = -1; FXString str, linkto; char usize[64]; FXulong size = 0; FXString hsize = _("0 bytes"); FXString path = list->getDirectory(); int num = list->getNumSelectedItems(); // To handle the update rename (ugly, I know) if (current == this) { if (num <= 1) { selmult = false; } else if (num > 1) { selmult = true; } } item = list->getCurrentItem(); if (num > 1) { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u) && !list->isItemDirectory(u)) { size += list->getItemFileSize(u); #if __WORDSIZE == 64 snprintf(usize, sizeof(usize)-1, "%lu", size); #else snprintf(usize, sizeof(usize)-1, "%llu", size); #endif hsize = ::hSize(usize); } } str.format(_("%s in %s selected items"), hsize.text(), FXStringVal(num).text()); } else { if ((num == 0) || (item < 0)) { num = list->getNumItems(); if (num == 1) { str = _("1 item"); } else { str = FXStringVal(num)+_(" items"); } } else { FXString string = list->getItemText(item); FXString name = string.section('\t', 0); FXString type = string.section('\t', 2); FXString date = string.section('\t', 4); FXString usr = string.section('\t', 5); FXString grp = string.section('\t', 6); FXString perm = string.section('\t', 7); if (type.contains(_("Broken link"))) { linkto = ::readLink(path+PATHSEPSTRING+name); str = name + "->" + linkto.text() + " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } else if (type.contains(_("Link"))) { linkto = ::readLink(path+PATHSEPSTRING+name); str = name + "->" + linkto.text() + " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } else { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u) && !list->isItemDirectory(u)) { size = list->getItemFileSize(u); #if __WORDSIZE == 64 snprintf(usize, sizeof(usize)-1, "%lu", size); #else snprintf(usize, sizeof(usize)-1, "%llu", size); #endif hsize = ::hSize(usize); break; } } str = hsize+ " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } } } statuslabel->setText(str); // Add the filter pattern if any if ((list->getPattern() != "*") && (list->getPattern() != "*.*")) { str.format(_(" - Filter: %s"), list->getPattern().text()); filterlabel->setText(str); filterlabel->setTextColor(attenclr); } else { filterlabel->setText(""); } return(1); } // Update the path text and the path link void FilePanel::updatePath() { pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); } // Update the go to parent directory command long FilePanel::onUpdUp(FXObject* o, FXSelector, void*) { FXButton* button = (FXButton*)o; int style = button->getButtonStyle(); if (style & TOGGLEBUTTON_TOOLBAR) { if (current->list->getDirectory() != ROOTDIR) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } return(1); } // Update the paste button long FilePanel::onUpdPaste(FXObject* o, FXSelector, void*) { FXuchar* data; FXuint len; FXString buf; FXbool clipboard_empty = true; // Lock clipboard to prevent changes in method onCmdRequestClipboard() clipboard_locked = true; // If source is xfelistType (Gnome, XFCE, or Xfe app) if (getDNDData(FROM_CLIPBOARD, xfelistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Check if valid clipboard if (buf.find("file:/") >= 0) { clipboard_empty = false; } // Free data pointer FXFREE(&data); } // If source type is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) else if (getDNDData(FROM_CLIPBOARD, urilistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Check if valid clipboard if (buf.find("file:/") >= 0) { clipboard_empty = false; } // Free data pointer FXFREE(&data); } // Gray out the paste button, if necessary if (clipboard_empty) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } // Unlock clipboard clipboard_locked = false; return(1); } // Update menu items and toolbar buttons that are related to file operations long FilePanel::onUpdMenu(FXObject* o, FXSelector sel, void*) { // Menu item is disabled when nothing or only ".." is selected int num; num = current->list->getNumSelectedItems(); DirItem* item = (DirItem*)dirpanel->getCurrentItem(); if ((dirpanel->shown() && item)) { if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } else { if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } return(1); } // Update file delete menu item and toolbar button long FilePanel::onUpdFileDelete(FXObject* o, FXSelector sel, void*) { FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); FXbool use_trash_bypass = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_bypass", false); if ( (!use_trash_can) | use_trash_bypass) { int num = current->list->getNumSelectedItems(); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update move to trash menu item and toolbar button long FilePanel::onUpdFileTrash(FXObject* o, FXSelector sel, void*) { // Disable move to trash menu if we are in trash can // or if the trash can directory is selected FXbool trashenable = true; FXString trashparentdir = trashlocation.rbefore('/'); FXString curdir = current->list->getDirectory(); if (curdir.left(trashlocation.length()) == trashlocation) { trashenable = false; } if (curdir == trashparentdir) { FXString pathname; for (int u = 0; u < current->list->getNumItems(); u++) { if (current->list->isItemSelected(u)) { pathname = current->list->getItemPathname(u); if (pathname == trashlocation) { trashenable = false; } } } } FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && trashenable) { int num = current->list->getNumSelectedItems(); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update restore from trash menu item and toolbar button long FilePanel::onUpdFileRestore(FXObject* o, FXSelector sel, void*) { // Enable restore from trash menu if we are in trash can FXbool restoreenable = false; FXString curdir = current->list->getDirectory(); if (curdir.left(trashfileslocation.length()) == trashfileslocation) { restoreenable = true; } FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && restoreenable) { int num = current->list->getNumSelectedItems(); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update go trash menu item and toolbar button long FilePanel::onUpdGoTrash(FXObject* o, FXSelector sel, void*) { FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update file open menu long FilePanel::onUpdOpen(FXObject* o, FXSelector, void*) { // Menu item is disabled when nothing or a directory (including "..") is selected int num, item; num = current->list->getNumSelectedItems(&item); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { if (current->list->getItem(item) && current->list->isItemFile(item)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } } return(1); } // Update the status of the menu items that should be disabled when selecting multiple files long FilePanel::onUpdSelMult(FXObject* o, FXSelector sel, void*) { // Menu item is disabled when nothing is selected or multiple selection or ".." is only selected int num; num = current->list->getNumSelectedItems(); DirItem* item = (DirItem*)dirpanel->getCurrentItem(); if (num == 0) { if (!item || !dirpanel->shown()) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } else if (current->selmult || ((num == 1) && current->list->isItemSelected(0))) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } return(1); } // Update the file compare menu item long FilePanel::onUpdCompare(FXObject* o, FXSelector sel, void*) { // Menu item is enabled only when two files are selected int num; num = current->list->getNumSelectedItems(); if ((num == 1) || (num == 2)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update Add to archive menu long FilePanel::onUpdAddToArch(FXObject* o, FXSelector, void*) { // Menu item is disabled when nothing or ".." is selected int num, item; num = current->list->getNumSelectedItems(&item); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else if ((num == 1) && current->list->isItemSelected(0)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } return(1); } // Update scripts menu item long FilePanel::onUpdRunScript(FXObject* o, FXSelector, void*) { // Menu item is disabled when nothing or ".." is selected int num, item; num = current->list->getNumSelectedItems(&item); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } return(1); } // Update directory usage menu item long FilePanel::onUpdDirUsage(FXObject* o, FXSelector, void*) { // Menu item is enabled only when at least two items are selected int num, item; num = current->list->getNumSelectedItems(&item); if (num > 1) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } xfe-1.42/src/OverwriteBox.h0000644000175100017510000000244712625104020012543 00000000000000#ifndef OVERWRITEBOX_H #define OVERWRITEBOX_H #include "DialogBox.h" // Return values enum OverwriteBoxReturn { OVWBOX_CLICKED_CANCEL = 0, OVWBOX_CLICKED_OVERWRITE = 1, OVWBOX_CLICKED_OVERWRITE_ALL= 2, OVWBOX_CLICKED_SKIP = 3, OVWBOX_CLICKED_SKIP_ALL = 4, }; // Dialog type enum OverwriteBoxType { OVWBOX_MULTIPLE_FILES = 0, OVWBOX_SINGLE_FILE = 1, }; // Message box class FXAPI OverwriteBox : public DialogBox { FXDECLARE(OverwriteBox) protected: OverwriteBox() {} OverwriteBox(const OverwriteBox&) {} public: long onCmdClicked(FXObject*, FXSelector, void*); public: enum { ID_CLICKED_CANCEL=DialogBox::ID_LAST, ID_CLICKED_OVERWRITE, ID_CLICKED_OVERWRITE_ALL, ID_CLICKED_SKIP, ID_CLICKED_SKIP_ALL, ID_LAST }; public: OverwriteBox(FXWindow* win, const FXString& name, const FXString& text, FXuint type = OVWBOX_MULTIPLE_FILES, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0); OverwriteBox(FXWindow* win, const FXString& name, const FXString& text, FXString& srcsize, FXString& srcmtime, FXString& tgtsize, FXString& tgtmtime, FXuint type = OVWBOX_MULTIPLE_FILES, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0); }; #endif xfe-1.42/src/Makefile.in0000644000175100017510000011125012634035433012004 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = xfe$(EXEEXT) xfp$(EXEEXT) xfw$(EXEEXT) xfi$(EXEEXT) @STARTUPNOTIFY_TRUE@am__append_1 = ../libsn/sn-common.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launchee.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launcher.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-list.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-monitor.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-util.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xmessages.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xutils.c @STARTUPNOTIFY_TRUE@am__append_2 = ../libsn/sn-common.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launchee.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launcher.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-list.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-monitor.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-util.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xmessages.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xutils.c @STARTUPNOTIFY_TRUE@am__append_3 = ../libsn/sn-common.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launchee.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launcher.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-list.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-monitor.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-util.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xmessages.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xutils.c @STARTUPNOTIFY_TRUE@am__append_4 = ../libsn/sn-common.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launchee.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launcher.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-list.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-monitor.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-util.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xmessages.c \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xutils.c subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ $(top_srcdir)/m4/intmax.m4 $(top_srcdir)/m4/inttypes-pri.m4 \ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \ $(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am__xfe_SOURCES_DIST = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp File.cpp FileDict.cpp \ IconList.cpp FileList.cpp FileDialog.cpp DirList.cpp \ DialogBox.cpp MessageBox.cpp Bookmarks.cpp HistInputDialog.cpp \ InputDialog.cpp OverwriteBox.cpp ExecuteBox.cpp TextWindow.cpp \ CommandWindow.cpp Properties.cpp Preferences.cpp FilePanel.cpp \ DirPanel.cpp DirHistBox.cpp PathLinker.cpp \ BrowseInputDialog.cpp ArchInputDialog.cpp FontDialog.cpp \ TextLabel.cpp Keybindings.cpp KeybindingsDialog.cpp \ SearchWindow.cpp SearchPanel.cpp XFileExplorer.cpp main.cpp \ ../libsn/sn-common.c ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c ../libsn/sn-list.c \ ../libsn/sn-monitor.c ../libsn/sn-util.c \ ../libsn/sn-xmessages.c ../libsn/sn-xutils.c am__dirstamp = $(am__leading_dot)dirstamp @STARTUPNOTIFY_TRUE@am__objects_1 = ../libsn/sn-common.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launchee.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-launcher.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-list.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-monitor.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-util.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xmessages.$(OBJEXT) \ @STARTUPNOTIFY_TRUE@ ../libsn/sn-xutils.$(OBJEXT) am_xfe_OBJECTS = ../st/st.$(OBJEXT) icons.$(OBJEXT) xfeutils.$(OBJEXT) \ startupnotification.$(OBJEXT) StringList.$(OBJEXT) \ File.$(OBJEXT) FileDict.$(OBJEXT) IconList.$(OBJEXT) \ FileList.$(OBJEXT) FileDialog.$(OBJEXT) DirList.$(OBJEXT) \ DialogBox.$(OBJEXT) MessageBox.$(OBJEXT) Bookmarks.$(OBJEXT) \ HistInputDialog.$(OBJEXT) InputDialog.$(OBJEXT) \ OverwriteBox.$(OBJEXT) ExecuteBox.$(OBJEXT) \ TextWindow.$(OBJEXT) CommandWindow.$(OBJEXT) \ Properties.$(OBJEXT) Preferences.$(OBJEXT) FilePanel.$(OBJEXT) \ DirPanel.$(OBJEXT) DirHistBox.$(OBJEXT) PathLinker.$(OBJEXT) \ BrowseInputDialog.$(OBJEXT) ArchInputDialog.$(OBJEXT) \ FontDialog.$(OBJEXT) TextLabel.$(OBJEXT) Keybindings.$(OBJEXT) \ KeybindingsDialog.$(OBJEXT) SearchWindow.$(OBJEXT) \ SearchPanel.$(OBJEXT) XFileExplorer.$(OBJEXT) main.$(OBJEXT) \ $(am__objects_1) xfe_OBJECTS = $(am_xfe_OBJECTS) xfe_DEPENDENCIES = am__xfi_SOURCES_DIST = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ InputDialog.cpp DialogBox.cpp OverwriteBox.cpp FileDict.cpp \ IconList.cpp File.cpp FileList.cpp DirList.cpp FileDialog.cpp \ MessageBox.cpp DirHistBox.cpp TextLabel.cpp PathLinker.cpp \ XFileImage.cpp ../libsn/sn-common.c ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c ../libsn/sn-list.c \ ../libsn/sn-monitor.c ../libsn/sn-util.c \ ../libsn/sn-xmessages.c ../libsn/sn-xutils.c am_xfi_OBJECTS = ../st/st.$(OBJEXT) icons.$(OBJEXT) xfeutils.$(OBJEXT) \ startupnotification.$(OBJEXT) StringList.$(OBJEXT) \ CommandWindow.$(OBJEXT) InputDialog.$(OBJEXT) \ DialogBox.$(OBJEXT) OverwriteBox.$(OBJEXT) FileDict.$(OBJEXT) \ IconList.$(OBJEXT) File.$(OBJEXT) FileList.$(OBJEXT) \ DirList.$(OBJEXT) FileDialog.$(OBJEXT) MessageBox.$(OBJEXT) \ DirHistBox.$(OBJEXT) TextLabel.$(OBJEXT) PathLinker.$(OBJEXT) \ XFileImage.$(OBJEXT) $(am__objects_1) xfi_OBJECTS = $(am_xfi_OBJECTS) xfi_DEPENDENCIES = am__xfp_SOURCES_DIST = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ InputDialog.cpp DialogBox.cpp OverwriteBox.cpp FileDict.cpp \ IconList.cpp File.cpp FileList.cpp DirList.cpp FileDialog.cpp \ PathLinker.cpp TextLabel.cpp MessageBox.cpp DirHistBox.cpp \ XFilePackage.cpp ../libsn/sn-common.c ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c ../libsn/sn-list.c \ ../libsn/sn-monitor.c ../libsn/sn-util.c \ ../libsn/sn-xmessages.c ../libsn/sn-xutils.c am_xfp_OBJECTS = ../st/st.$(OBJEXT) icons.$(OBJEXT) xfeutils.$(OBJEXT) \ startupnotification.$(OBJEXT) StringList.$(OBJEXT) \ CommandWindow.$(OBJEXT) InputDialog.$(OBJEXT) \ DialogBox.$(OBJEXT) OverwriteBox.$(OBJEXT) FileDict.$(OBJEXT) \ IconList.$(OBJEXT) File.$(OBJEXT) FileList.$(OBJEXT) \ DirList.$(OBJEXT) FileDialog.$(OBJEXT) PathLinker.$(OBJEXT) \ TextLabel.$(OBJEXT) MessageBox.$(OBJEXT) DirHistBox.$(OBJEXT) \ XFilePackage.$(OBJEXT) $(am__objects_1) xfp_OBJECTS = $(am_xfp_OBJECTS) xfp_DEPENDENCIES = am__xfw_SOURCES_DIST = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ OverwriteBox.cpp MessageBox.cpp IconList.cpp File.cpp \ FileList.cpp DirList.cpp InputDialog.cpp DialogBox.cpp \ FileDict.cpp FileDialog.cpp PathLinker.cpp TextLabel.cpp \ WriteWindow.cpp DirHistBox.cpp FontDialog.cpp XFileWrite.cpp \ ../libsn/sn-common.c ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c ../libsn/sn-list.c \ ../libsn/sn-monitor.c ../libsn/sn-util.c \ ../libsn/sn-xmessages.c ../libsn/sn-xutils.c am_xfw_OBJECTS = ../st/st.$(OBJEXT) icons.$(OBJEXT) xfeutils.$(OBJEXT) \ startupnotification.$(OBJEXT) StringList.$(OBJEXT) \ CommandWindow.$(OBJEXT) OverwriteBox.$(OBJEXT) \ MessageBox.$(OBJEXT) IconList.$(OBJEXT) File.$(OBJEXT) \ FileList.$(OBJEXT) DirList.$(OBJEXT) InputDialog.$(OBJEXT) \ DialogBox.$(OBJEXT) FileDict.$(OBJEXT) FileDialog.$(OBJEXT) \ PathLinker.$(OBJEXT) TextLabel.$(OBJEXT) WriteWindow.$(OBJEXT) \ DirHistBox.$(OBJEXT) FontDialog.$(OBJEXT) XFileWrite.$(OBJEXT) \ $(am__objects_1) xfw_OBJECTS = $(am_xfw_OBJECTS) xfw_DEPENDENCIES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(xfe_SOURCES) $(xfi_SOURCES) $(xfp_SOURCES) $(xfw_SOURCES) DIST_SOURCES = $(am__xfe_SOURCES_DIST) $(am__xfi_SOURCES_DIST) \ $(am__xfp_SOURCES_DIST) $(am__xfw_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FOX_CONFIG = @FOX_CONFIG@ GENCAT = @GENCAT@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIBC2 = @GLIBC2@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ HAVE_ASPRINTF = @HAVE_ASPRINTF@ HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ HAVE_SNPRINTF = @HAVE_SNPRINTF@ HAVE_VISIBILITY = @HAVE_VISIBILITY@ HAVE_WPRINTF = @HAVE_WPRINTF@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ LIBPTH = @LIBPTH@ LIBS = @LIBS@ LIBTHREAD = @LIBTHREAD@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STARTUPNOTIFY = @STARTUPNOTIFY@ STRIP = @STRIP@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WOE32DLL = @WOE32DLL@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ XMKMF = @XMKMF@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ freetype_config = @freetype_config@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = $(datadir)/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pkg_config = @pkg_config@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ xft_config = @xft_config@ xfe_SOURCES = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp File.cpp FileDict.cpp \ IconList.cpp FileList.cpp FileDialog.cpp DirList.cpp \ DialogBox.cpp MessageBox.cpp Bookmarks.cpp HistInputDialog.cpp \ InputDialog.cpp OverwriteBox.cpp ExecuteBox.cpp TextWindow.cpp \ CommandWindow.cpp Properties.cpp Preferences.cpp FilePanel.cpp \ DirPanel.cpp DirHistBox.cpp PathLinker.cpp \ BrowseInputDialog.cpp ArchInputDialog.cpp FontDialog.cpp \ TextLabel.cpp Keybindings.cpp KeybindingsDialog.cpp \ SearchWindow.cpp SearchPanel.cpp XFileExplorer.cpp main.cpp \ $(am__append_1) xfe_LDADD = @LIBINTL@ -lutil xfp_SOURCES = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ InputDialog.cpp DialogBox.cpp OverwriteBox.cpp FileDict.cpp \ IconList.cpp File.cpp FileList.cpp DirList.cpp FileDialog.cpp \ PathLinker.cpp TextLabel.cpp MessageBox.cpp DirHistBox.cpp \ XFilePackage.cpp $(am__append_2) xfp_LDADD = @LIBINTL@ -lutil xfw_SOURCES = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ OverwriteBox.cpp MessageBox.cpp IconList.cpp File.cpp \ FileList.cpp DirList.cpp InputDialog.cpp DialogBox.cpp \ FileDict.cpp FileDialog.cpp PathLinker.cpp TextLabel.cpp \ WriteWindow.cpp DirHistBox.cpp FontDialog.cpp XFileWrite.cpp \ $(am__append_3) xfw_LDADD = @LIBINTL@ -lutil xfi_SOURCES = ../st/st.c icons.cpp xfeutils.cpp \ startupnotification.cpp StringList.cpp CommandWindow.cpp \ InputDialog.cpp DialogBox.cpp OverwriteBox.cpp FileDict.cpp \ IconList.cpp File.cpp FileList.cpp DirList.cpp FileDialog.cpp \ MessageBox.cpp DirHistBox.cpp TextLabel.cpp PathLinker.cpp \ XFileImage.cpp $(am__append_4) xfi_LDADD = @LIBINTL@ -lutil AM_CPPFLAGS = -I. -I$(top_srcdir) -I$(top_srcdir)/intl EXTRA_DIST = ../libsn/sn-common.h \ ../libsn/sn-internals.h \ ../libsn/sn-launchee.h \ ../libsn/sn-launcher.h \ ../libsn/sn-list.h \ ../libsn/sn-monitor.h \ ../libsn/sn-util.h \ ../libsn/sn-xmessages.h \ ../libsn/sn-xutils.h \ ../libsn/sn.h \ ../st/config.h \ ../st/arg.h \ ../st/st.h \ xfedefs.h \ icons.h \ xfeutils.h \ help.h \ startupnotification.h \ StringList.h \ FileDialog.h \ FileDict.h \ IconList.h \ FileList.h \ DirList.h \ DirPanel.h \ Properties.h \ File.h \ DialogBox.h \ MessageBox.h \ HistInputDialog.h \ InputDialog.h \ Preferences.h \ TextWindow.h \ CommandWindow.h \ OverwriteBox.h \ ExecuteBox.h \ FilePanel.h \ Bookmarks.h \ XFileExplorer.h \ XFileImage.h \ XFilePackage.h \ WriteWindow.h \ XFileWrite.h \ DirHistBox.h \ PathLinker.h \ BrowseInputDialog.h \ ArchInputDialog.h \ FontDialog.h \ TextLabel.h \ Keybindings.h \ KeybindingsDialog.h \ SearchPanel.h \ SearchWindow.h \ foxhacks.cpp \ clearlooks.cpp all: all-am .SUFFIXES: .SUFFIXES: .c .cpp .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) ../st/$(am__dirstamp): @$(MKDIR_P) ../st @: > ../st/$(am__dirstamp) ../st/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) ../st/$(DEPDIR) @: > ../st/$(DEPDIR)/$(am__dirstamp) ../st/st.$(OBJEXT): ../st/$(am__dirstamp) \ ../st/$(DEPDIR)/$(am__dirstamp) ../libsn/$(am__dirstamp): @$(MKDIR_P) ../libsn @: > ../libsn/$(am__dirstamp) ../libsn/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) ../libsn/$(DEPDIR) @: > ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-common.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-launchee.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-launcher.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-list.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-monitor.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-util.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-xmessages.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) ../libsn/sn-xutils.$(OBJEXT): ../libsn/$(am__dirstamp) \ ../libsn/$(DEPDIR)/$(am__dirstamp) xfe$(EXEEXT): $(xfe_OBJECTS) $(xfe_DEPENDENCIES) $(EXTRA_xfe_DEPENDENCIES) @rm -f xfe$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xfe_OBJECTS) $(xfe_LDADD) $(LIBS) xfi$(EXEEXT): $(xfi_OBJECTS) $(xfi_DEPENDENCIES) $(EXTRA_xfi_DEPENDENCIES) @rm -f xfi$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xfi_OBJECTS) $(xfi_LDADD) $(LIBS) xfp$(EXEEXT): $(xfp_OBJECTS) $(xfp_DEPENDENCIES) $(EXTRA_xfp_DEPENDENCIES) @rm -f xfp$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xfp_OBJECTS) $(xfp_LDADD) $(LIBS) xfw$(EXEEXT): $(xfw_OBJECTS) $(xfw_DEPENDENCIES) $(EXTRA_xfw_DEPENDENCIES) @rm -f xfw$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(xfw_OBJECTS) $(xfw_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../libsn/*.$(OBJEXT) -rm -f ../st/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-launchee.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-launcher.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-monitor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-util.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-xmessages.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../libsn/$(DEPDIR)/sn-xutils.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@../st/$(DEPDIR)/st.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArchInputDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bookmarks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BrowseInputDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CommandWindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DialogBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirHistBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirList.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirPanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExecuteBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/File.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileDict.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FileList.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FilePanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FontDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HistInputDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IconList.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InputDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Keybindings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KeybindingsDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverwriteBox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathLinker.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Preferences.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Properties.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SearchPanel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SearchWindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StringList.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextLabel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TextWindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteWindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileExplorer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileImage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFilePackage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/XFileWrite.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icons.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/startupnotification.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xfeutils.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f ../libsn/$(DEPDIR)/$(am__dirstamp) -rm -f ../libsn/$(am__dirstamp) -rm -f ../st/$(DEPDIR)/$(am__dirstamp) -rm -f ../st/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ../libsn/$(DEPDIR) ../st/$(DEPDIR) ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ../libsn/$(DEPDIR) ../st/$(DEPDIR) ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xfe-1.42/src/ExecuteBox.h0000644000175100017510000000146112625057514012171 00000000000000#ifndef EXECUTEBOX_H #define EXECUTEBOX_H #include "DialogBox.h" // Return values enum ExecuteBoxReturn { EXECBOX_CLICKED_CANCEL = 0, EXECBOX_CLICKED_EXECUTE = 1, EXECBOX_CLICKED_CONSOLE = 2, EXECBOX_CLICKED_EDIT = 3, }; // Message box class FXAPI ExecuteBox : public DialogBox { FXDECLARE(ExecuteBox) protected: ExecuteBox() {} ExecuteBox(const ExecuteBox&) {} public: long onCmdClicked(FXObject*, FXSelector, void*); public: enum { ID_CLICKED_CANCEL=DialogBox::ID_LAST, ID_CLICKED_EXECUTE, ID_CLICKED_CONSOLE, ID_CLICKED_EDIT, ID_LAST }; public: ExecuteBox(FXWindow* win, const FXString& name, const FXString& text, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0); }; #endif xfe-1.42/src/XFileWrite.cpp0000644000175100017510000002223012634015476012471 00000000000000// This is adapted from 'adie', a demo text editor found // in the FOX library and written by Jeroen van der Zijp. #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "MessageBox.h" #include "DirList.h" #include "WriteWindow.h" #include "XFileWrite.h" // Add FOX hacks #include "foxhacks.cpp" #include "clearlooks.cpp" // Global variables FXColor highlightcolor; FXbool allowPopupScroll = false; FXuint single_click; FXbool file_tooltips; FXbool relative_resize; FXString homedir; FXString xdgconfighome; FXString xdgdatahome; FXbool xim_used = false; // Hand cursor replacement #define hand_width 32 #define hand_height 32 #define hand_x_hot 6 #define hand_y_hot 1 static const FXuchar hand_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x97, 0x1a, 0x00, 0x00, 0x99, 0x2a, 0x00, 0x00, 0x11, 0x28, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const FXuchar hand_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf7, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Map FXDEFMAP(XFileWrite) XFileWriteMap[] = { FXMAPFUNC(SEL_SIGNAL, XFileWrite::ID_CLOSEALL, XFileWrite::onCmdCloseAll), FXMAPFUNC(SEL_COMMAND, XFileWrite::ID_CLOSEALL, XFileWrite::onCmdCloseAll), }; // Object implementation FXIMPLEMENT(XFileWrite, FXApp, XFileWriteMap, ARRAYNUMBER(XFileWriteMap)) // Make some windows XFileWrite::XFileWrite(const FXString& appname, const FXString& vdrname) : FXApp(appname, vdrname) { // If interrupt happens, quit gracefully; we may want to // save edit buffer contents w/o asking if display gets // disconnected or if hangup signal is received. addSignal(SIGINT, this, ID_CLOSEALL); addSignal(SIGQUIT, this, ID_CLOSEALL); addSignal(SIGHUP, this, ID_CLOSEALL); addSignal(SIGPIPE, this, ID_CLOSEALL); } // Initialize application void XFileWrite::init(int& argc, char** argv, bool connect) { // After init, the registry has been loaded FXApp::init(argc, argv, connect); } // Exit application void XFileWrite::exit(int code) { // Write registry, and quit FXApp::exit(code); } // Close all windows long XFileWrite::onCmdCloseAll(FXObject*, FXSelector, void*) { while (0 < windowlist.no() && windowlist[0]->close(true)) { } return(1); } // Clean up XFileWrite::~XFileWrite() { FXASSERT(windowlist.no() == 0); } // Usage message #define USAGE_MSG _("\ \nUsage: xfw [options] [file1] [file2] [file3]...\n\ \n\ [options] can be any of the following:\n\ \n\ -r, --read-only Open files in read-only mode.\n\ -h, --help Print (this) help screen and exit.\n\ -v, --version Print version information and exit.\n\ \n\ [file1] [file2] [file3]... are the path(s) to the file(s) you want to open on start up.\n\ \n") // Start the whole thing int main(int argc, char* argv[]) { WriteWindow* window = NULL; FXString file; int i; const char* appname = "xfw"; const char* xfename = XFEAPPNAME; const char* vdrname = XFEVDRNAME; FXbool loadicons; FXbool readonly = false; FXString xmodifiers; // Get environment variables $HOME, $XDG_DATA_HOME and $XDG_CONFIG_HOME homedir = FXSystem::getHomeDirectory(); if (homedir == "") { homedir = ROOTDIR; } xdgdatahome = getenv("XDG_DATA_HOME"); if (xdgdatahome == "") { xdgdatahome = homedir + PATHSEPSTRING DATAPATH; } xdgconfighome = getenv("XDG_CONFIG_HOME"); if (xdgconfighome == "") { xdgconfighome = homedir + PATHSEPSTRING CONFIGPATH; } // Detect if an X input method is used xmodifiers = getenv("XMODIFIERS"); if ((xmodifiers == "") || (xmodifiers == "@im=none")) { xim_used = false; } else { xim_used = true; } #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif #if ENABLE_NLS // Set the text message domain. bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "utf-8"); textdomain(PACKAGE); #endif // Make application XFileWrite* application = new XFileWrite(appname, vdrname); // Open display application->init(argc, argv); // Redefine the default hand cursor FXCursor* hand = new FXCursor(application, hand_bits, hand_mask_bits, hand_width, hand_height, hand_x_hot, hand_y_hot); application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons loadicons = loadAppIcons(application); // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Set base color (to change the default base color at first run) FXColor basecolor = reg_xfe->readColorEntry("SETTINGS", "basecolor", FXRGB(237, 233, 227)); application->setBaseColor(basecolor); // Set Xfw normal font according to the Xfe registry FXString fontspec; fontspec = reg_xfe->readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); if (!fontspec.empty()) { FXFont* normalFont = new FXFont(application, fontspec); application->setNormalFont(normalFont); } // Set single click navigation according to the Xfe registry single_click = reg_xfe->readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); // Set smooth scrolling according to the Xfe registry FXbool smoothscroll = reg_xfe->readUnsignedEntry("SETTINGS", "smooth_scroll", true); // Set file list tooltip flag according to the Xfe registry file_tooltips = reg_xfe->readUnsignedEntry("SETTINGS", "file_tooltips", true); // Set relative resizing flag according to the Xfe registry relative_resize = reg_xfe->readUnsignedEntry("SETTINGS", "relative_resize", true); // Delete the Xfe registry delete reg_xfe; // Make a tool tip new FXToolTip(application, 0); // Create application application->create(); if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icons path!")); } // Tooltips setup time and duration application->setTooltipPause(TOOLTIP_PAUSE); application->setTooltipTime(TOOLTIP_TIME); // Parse basic arguments for (i = 1; i < argc; ++i) { // Parse a few options if ((compare(argv[i], "-v") == 0) || (compare(argv[i], "--version") == 0)) { fprintf(stdout, "%s version %s\n", PACKAGE, VERSION); exit(EXIT_SUCCESS); } if ((compare(argv[i], "-h") == 0) || (compare(argv[i], "--help") == 0)) { fprintf(stdout, USAGE_MSG); exit(EXIT_SUCCESS); } if ((compare(argv[i], "-r") == 0) || (compare(argv[i], "--read-only") == 0)) { readonly = true; } // Load the file else { file = FXPath::absolute(argv[i]); window = new WriteWindow(application, _("untitled"), readonly); // Catch SIGCHLD to harvest zombie child processes application->addSignal(SIGCHLD, window, WriteWindow::ID_HARVEST, true); window->setSmoothScroll(smoothscroll); window->create(); window->loadFile(file); } } // Make window, if none opened yet if (!window) { window = new WriteWindow(application, _("untitled"), readonly); // Catch SIGCHLD to harvest zombie child processes application->addSignal(SIGCHLD, window, WriteWindow::ID_HARVEST, true); window->setSmoothScroll(smoothscroll); window->create(); } // Run return(application->run()); } xfe-1.42/src/XFilePackage.cpp0000644000175100017510000005661712634015533012744 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "FileDialog.h" #include "MessageBox.h" #include "CommandWindow.h" #include "XFilePackage.h" // Add FOX hacks #include "foxhacks.cpp" #include "clearlooks.cpp" // Global variables char** args; FXbool dpkg = false; FXbool rpm = false; FXColor highlightcolor; FXbool allowPopupScroll = false; FXuint single_click; FXbool file_tooltips; FXbool relative_resize; FXbool save_win_pos; FXString homedir; FXString xdgconfighome; FXString xdgdatahome; FXbool xim_used = false; // Hand cursor replacement #define hand_width 32 #define hand_height 32 #define hand_x_hot 6 #define hand_y_hot 1 static const FXuchar hand_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x97, 0x1a, 0x00, 0x00, 0x99, 0x2a, 0x00, 0x00, 0x11, 0x28, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const FXuchar hand_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf7, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Map FXDEFMAP(XFilePackage) XFilePackageMap[] = { FXMAPFUNC(SEL_SIGNAL, XFilePackage::ID_HARVEST, XFilePackage::onSigHarvest), FXMAPFUNC(SEL_CLOSE, 0, XFilePackage::onCmdQuit), FXMAPFUNC(SEL_COMMAND, XFilePackage::ID_QUIT, XFilePackage::onCmdQuit), FXMAPFUNC(SEL_COMMAND, XFilePackage::ID_UNINSTALL, XFilePackage::onCmdUninstall), FXMAPFUNC(SEL_COMMAND, XFilePackage::ID_ABOUT, XFilePackage::onCmdAbout), FXMAPFUNC(SEL_COMMAND, XFilePackage::ID_OPEN, XFilePackage::onCmdOpen), FXMAPFUNC(SEL_COMMAND, XFilePackage::ID_INSTALL, XFilePackage::onCmdInstall), }; // Object implementation FXIMPLEMENT(XFilePackage, FXMainWindow, XFilePackageMap, ARRAYNUMBER(XFilePackageMap)) // Constructor XFilePackage::XFilePackage(FXApp* a) : FXMainWindow(a, "Xfp", NULL, NULL, DECOR_ALL) { FXString key; FXHotKey hotkey; setIcon(xfpicon); // Make menu bar menubar = new FXMenuBar(this, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED); // Sites where to dock FXDockSite* topdock = new FXDockSite(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_LEFT|LAYOUT_FILL_Y); new FXDockSite(this, LAYOUT_SIDE_RIGHT|LAYOUT_FILL_Y); // Tool bar FXToolBarShell* dragshell1 = new FXToolBarShell(this, FRAME_RAISED); toolbar = new FXToolBar(topdock, dragshell1, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED); new FXToolBarGrip(toolbar, toolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); int style = BUTTON_TOOLBAR; // File menu filemenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&File"), NULL, filemenu); // Preferences Menu prefsmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Preferences"), NULL, prefsmenu); // Help menu helpmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Help"), NULL, helpmenu); // Toolbar button: File open key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); new FXButton(toolbar, TAB+_("Open package file")+PARS(key), fileopenicon, this, ID_OPEN, style|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // File Menu entries FXMenuCommand* mc = NULL; mc = new FXMenuCommand(filemenu, _("&Open..."), fileopenicon, this, ID_OPEN); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Quit"), quiticon, this, ID_QUIT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); getAccelTable()->addAccel(KEY_Escape, this, FXSEL(SEL_COMMAND, ID_QUIT)); // Preferences menu new FXMenuCheck(prefsmenu, _("&Toolbar"), toolbar, FXWindow::ID_TOGGLESHOWN); // Help Menu entries mc = new FXMenuCommand(helpmenu, _("&About X File Package"), NULL, this, ID_ABOUT, 0); key = getApp()->reg().readStringEntry("KEYBINDINGS", "help", "F1"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Close accelerator key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, XFilePackage::ID_QUIT)); // Make a tool tip new FXToolTip(getApp(), 0); // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXDragCorner(buttons); // Close new FXButton(buttons, _("&Close"), NULL, this, XFilePackage::ID_QUIT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Uninstall new FXButton(buttons, _("&Uninstall"), NULL, this, XFilePackage::ID_UNINSTALL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Install/Upgrade new FXButton(buttons, _("&Install/Upgrade"), NULL, this, XFilePackage::ID_INSTALL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Switcher FXTabBook* tabbook = new FXTabBook(this, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT|FRAME_RAISED, 0, 0, 0, 0, 0, 0, 0, 0); // First item is Description new FXTabItem(tabbook, _("&Description"), NULL); FXVerticalFrame* descr = new FXVerticalFrame(tabbook); FXPacker* p = new FXPacker(descr, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); description = new FXText(p, this, XFilePackage::ID_DESCRIPTION, LAYOUT_FILL_X|LAYOUT_FILL_Y); // Second item is File List new FXTabItem(tabbook, _("File &List"), NULL); FXVerticalFrame* flistfr = new FXVerticalFrame(tabbook); p = new FXPacker(flistfr, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); list = new FXTreeList(p, this, XFilePackage::ID_FILELIST, LAYOUT_FILL_X|LAYOUT_FILL_Y|TREELIST_SHOWS_LINES); // Initialize file name filename = ""; // Other initializations smoothscroll = true; errorflag = false; } // Destructor XFilePackage::~XFilePackage() { delete menubar; delete toolbar; delete filemenu; delete prefsmenu; delete helpmenu; delete list; delete description; } // About box long XFilePackage::onCmdAbout(FXObject*, FXSelector, void*) { FXString msg; msg.format(_("X File Package Version %s is a simple rpm or deb package manager.\n\n"), VERSION); msg += COPYRIGHT; MessageBox about(this, _("About X File Package"), msg.text(), xfpicon, BOX_OK|DECOR_TITLE|DECOR_BORDER, JUSTIFY_CENTER_X|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); about.execute(PLACEMENT_OWNER); return(1); } // Open package long XFilePackage::onCmdOpen(FXObject*, FXSelector, void*) { const char* patterns[] = { _("All Files"), "*", _("RPM source packages"), "*.src.rpm", _("RPM packages"), "*.rpm", _("DEB packages"), "*.deb", NULL }; FileDialog opendialog(this, _("Open Document")); opendialog.setSelectMode(SELECTFILE_EXISTING); opendialog.setPatternList(patterns); opendialog.setDirectory(FXPath::directory(filename)); if (opendialog.execute()) { filename = opendialog.getFilename(); readDescription(); readFileList(); } return(1); } // Install/upgrade package long XFilePackage::onCmdInstall(FXObject*, FXSelector, void*) { FXString cmd; getApp()->flush(); if (strlen(filename.text()) == 0) { MessageBox::error(this, BOX_OK, _("Error"), _("No package loaded")); return(0); } // Package name FXString package = FXPath::name(filename); // Command to perform FXString ext = FXPath::extension(filename); if (comparecase(ext, "rpm") == 0) { cmd = "rpm -Uvh "+filename; } else if (comparecase(ext, "deb") == 0) { cmd = "dpkg -i "+filename; } else { MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); return(0); } // Make and show command window CommandWindow* cmdwin = new CommandWindow(this, _("Install/Upgrade Package"), cmd, 10, 80); cmdwin->create(); FXString msg; msg.format(_("Installing package: %s \n"), package.text()); cmdwin->appendText(msg.text()); // The CommandWindow object will delete itself when closed! return(1); } // Uninstall package based on the package name (version is ignored) long XFilePackage::onCmdUninstall(FXObject*, FXSelector, void*) { FXString cmd; getApp()->flush(); if (strlen(filename.text()) == 0) { MessageBox::error(this, BOX_OK, _("Error"), _("No package loaded")); return(0); } // Command to perform FXString package; FXString ext = FXPath::extension(filename); if (comparecase(ext, "rpm") == 0) { // Get package name package = FXPath::name(filename); package = package.section('-', 0); cmd = "rpm -e "+ package; } else if (comparecase(ext, "deb") == 0) { // Get package name package = FXPath::name(filename); package = package.section('_', 0); cmd = "dpkg -r "+ package; } else { MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); return(0); } // Make and show command window CommandWindow* cmdwin = new CommandWindow(this, _("Uninstall Package"), cmd, 10, 80); cmdwin->create(); FXString msg; msg.format(_("Uninstalling package: %s \n"), package.text()); cmdwin->appendText(msg.text()); // The CommandWindow object will delete itself when closed! return(1); } // Save configuration when quitting void XFilePackage::saveConfig() { // Write new window size and position back to registry getApp()->reg().writeUnsignedEntry("OPTIONS", "width", (FXuint)getWidth()); getApp()->reg().writeUnsignedEntry("OPTIONS", "height", (FXuint)getHeight()); if (save_win_pos) { // Account for the Window Manager border size XWindowAttributes xwattr; if (XGetWindowAttributes((Display*)getApp()->getDisplay(), this->id(), &xwattr)) { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()-xwattr.x); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()-xwattr.y); } else { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()); } } // Last opened filename getApp()->reg().writeStringEntry("OPTIONS", "filename", filename.text()); // Toolbar status if (toolbar->shown()) { getApp()->reg().writeUnsignedEntry("OPTIONS", "showtoolbar", true); } else { getApp()->reg().writeUnsignedEntry("OPTIONS", "showtoolbar", false); } // Write registry options getApp()->reg().write(); } // Harvest the zombies long XFilePackage::onSigHarvest(FXObject*, FXSelector, void*) { while (waitpid(-1, NULL, WNOHANG) > 0) { } return(1); } // Quit application long XFilePackage::onCmdQuit(FXObject*, FXSelector, void*) { // Save options saveConfig(); // Exit getApp()->exit(EXIT_SUCCESS); return(1); } // Update file list int XFilePackage::readFileList(void) { FXString cmd; FXString ext = FXPath::extension(filename); if (comparecase(ext, "rpm") == 0) { errorflag = false; cmd = "rpm -qlp "+::quote(filename); } else if (comparecase(ext, "deb") == 0) { errorflag = false; cmd = "dpkg -c "+::quote(filename); } else if (errorflag == false) { errorflag = true; list->clearItems(); MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); return(0); } FILE* pcmd = popen(cmd.text(), "r"); if (!pcmd) { perror("popen"); exit(EXIT_FAILURE); } char text[10000] = { 0 }; FXString str; str = FXPath::name(filename); strlcpy(text, str.text(), str.length()+1); // Clear list list->clearItems(); // First item getApp()->beginWaitCursor(); FXTreeItem* topmost; topmost = list->prependItem(NULL, text, minifoldericon, minifolderopenicon); // Next items while (fgets(text, sizeof(text), pcmd)) { text[strlen(text)-1] = '\0'; // kill trailing lf list->appendItem(topmost, text, minidocicon, minidocicon); // Force refresh getApp()->forceRefresh(); getApp()->repaint(); } list->expandTree(topmost); getApp()->endWaitCursor(); pclose(pcmd); return(1); } int XFilePackage::readDescription(void) { FXString cmd; FXString buf; FXString ext = FXPath::extension(filename); if (comparecase(ext, "rpm") == 0) { errorflag = false; cmd = "rpm -qip "+::quote(filename); buf += _("[RPM package]\n"); } else if (comparecase(ext, "deb") == 0) { errorflag = false; buf += _("[DEB package]\n"); cmd = "dpkg -I "+::quote(filename); } else if (errorflag == false) { errorflag = true; list->clearItems(); MessageBox::error(this, BOX_OK, _("Error"), _("Unknown package format")); return(0); } FILE* pcmd = popen(cmd.text(), "r"); if (!pcmd) { perror("popen"); exit(EXIT_FAILURE); } // Don't display the header for Debian packages int suppress_header = 0; if (comparecase(ext, "deb") == 0) { suppress_header = 1; } char text[10000] = { 0 }; while (fgets(text, sizeof(text), pcmd)) { if (suppress_header) { suppress_header = (strstr(text, "Package:") == NULL); } if (!suppress_header) { buf += text; } } if ((pclose(pcmd) == -1) && (errno != ECHILD)) // ECHILD can be set if the child was caught by sigHarvest { MessageBox::error(this, BOX_OK, _("Error"), _("Query of %s failed!"), filename.text()); list->clearItems(); description->setText(""); filename = ""; } else { description->setText(buf.text()); } return(1); } // Start the ball rolling void XFilePackage::start(FXString startpkg) { filename = startpkg; if (filename != "") { FILE* fp = fopen(filename.text(), "r"); if (!fp) { MessageBox::error(this, BOX_OK, _("Error Loading File"), _("Unable to open file: %s"), filename.text()); filename = ""; } else { fclose(fp); readDescription(); readFileList(); } } else { filename = ""; } } void XFilePackage::create() { // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(XFEAPPNAME, ""); reg_xfe->read(); // Set Xfp text font according to the Xfe registry FXString fontspec; fontspec = reg_xfe->readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (!fontspec.empty()) { FXFont* font = new FXFont(getApp(), fontspec); font->create(); description->setFont(font); list->setFont(font); } delete reg_xfe; // Get toolbar status if (getApp()->reg().readUnsignedEntry("OPTIONS", "showtoolbar", true) == false) { toolbar->hide(); } // Get size FXuint width = getApp()->reg().readUnsignedEntry("OPTIONS", "width", DEFAULT_WINDOW_WIDTH); FXuint height = getApp()->reg().readUnsignedEntry("OPTIONS", "height", DEFAULT_WINDOW_HEIGHT); // Get position and position window if (save_win_pos) { int xpos = getApp()->reg().readIntEntry("OPTIONS", "xpos", DEFAULT_WINDOW_XPOS); int ypos = getApp()->reg().readIntEntry("OPTIONS", "ypos", DEFAULT_WINDOW_YPOS); position(xpos, ypos, width, height); } else { position(getX(), getY(), width, height); } FXMainWindow::create(); // This is necessary otherwise Xfp crashes when opening a package, but why? minifoldericon->create(); minifolderopenicon->create(); minidocicon->create(); // Description is not editable description->handle(this, FXSEL(SEL_COMMAND, FXText::ID_TOGGLE_EDITABLE), NULL); // Show window show(); #ifdef STARTUP_NOTIFICATION startup_completed(); #endif } // Usage message #define USAGE_MSG _("\ \nUsage: xfp [options] [package] \n\ \n\ [options] can be any of the following:\n\ \n\ -h, --help Print (this) help screen and exit.\n\ -v, --version Print version information and exit.\n\ \n\ [package] is the path to the rpm or deb package you want to open on start up.\n\ \n") // Main function to start the program int main(int argc, char* argv[]) { int i; FXString startpkg = ""; const char* appname = "xfp"; const char* xfename = XFEAPPNAME; const char* vdrname = XFEVDRNAME; FXbool loadicons; FXString xmodifiers; // Get environment variables $HOME, $XDG_DATA_HOME and $XDG_CONFIG_HOME homedir = FXSystem::getHomeDirectory(); if (homedir == "") { homedir = ROOTDIR; } xdgdatahome = getenv("XDG_DATA_HOME"); if (xdgdatahome == "") { xdgdatahome = homedir + PATHSEPSTRING DATAPATH; } xdgconfighome = getenv("XDG_CONFIG_HOME"); if (xdgconfighome == "") { xdgconfighome = homedir + PATHSEPSTRING CONFIGPATH; } // Detect if an X input method is used xmodifiers = getenv("XMODIFIERS"); if ((xmodifiers == "") || (xmodifiers == "@im=none")) { xim_used = false; } else { xim_used = true; } #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif #if ENABLE_NLS // Set the text message domain. bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "utf-8"); textdomain(PACKAGE); #endif // Parse basic arguments for (i = 1; i < argc; ++i) { if ((compare(argv[i], "-v") == 0) || (compare(argv[i], "--version") == 0)) { fprintf(stdout, "%s version %s\n", PACKAGE, VERSION); exit(EXIT_SUCCESS); } else if ((compare(argv[i], "-h") == 0) || (compare(argv[i], "--help") == 0)) { fprintf(stdout, USAGE_MSG); exit(EXIT_SUCCESS); } else { // Start file, if any startpkg = argv[i]; } } // Global variable args = argv; // Make application FXApp* application = new FXApp(appname, vdrname); // Open display application->init(argc, argv); // Redefine the default hand cursor FXCursor* hand = new FXCursor(application, hand_bits, hand_mask_bits, hand_width, hand_height, hand_x_hot, hand_y_hot); application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons loadicons = loadAppIcons(application); // Read the Xfe registry FXRegistry* reg_xfe; reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Set base color (to change the default base color at first run) FXColor basecolor = reg_xfe->readColorEntry("SETTINGS", "basecolor", FXRGB(237, 233, 227)); application->setBaseColor(basecolor); // Set Xfp normal font according to the Xfe registry FXString fontspec; fontspec = reg_xfe->readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); if (!fontspec.empty()) { FXFont* normalFont = new FXFont(application, fontspec); normalFont->create(); application->setNormalFont(normalFont); } // Set single click navigation according to the Xfe registry single_click = reg_xfe->readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); // Set smooth scrolling according to the Xfe registry FXbool smoothscroll = reg_xfe->readUnsignedEntry("SETTINGS", "smooth_scroll", true); // Set file list tooltip flag according to the Xfe registry file_tooltips = reg_xfe->readUnsignedEntry("SETTINGS", "file_tooltips", true); // Set relative resizing flag according to the Xfe registry relative_resize = reg_xfe->readUnsignedEntry("SETTINGS", "relative_resize", true); // Get value of the window position flag save_win_pos = reg_xfe->readUnsignedEntry("SETTINGS", "save_win_pos", false); // Delete the Xfe registry delete reg_xfe; // Make window XFilePackage* window = new XFilePackage(application); // Catch SIGCHLD to harvest zombie child processes application->addSignal(SIGCHLD, window, XFilePackage::ID_HARVEST, true); // Smooth scrolling window->setSmoothScroll(smoothscroll); // Create it application->create(); if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icons path!")); } // Tooltips setup time and duration application->setTooltipPause(TOOLTIP_PAUSE); application->setTooltipTime(TOOLTIP_TIME); // Test the existence of the Debian package manager (dpkg) // and the RedHat package manager (rpm) FXString cmd = "dpkg --version"; FXString str = getCommandOutput(cmd); if (str.find("Debian") != -1) { dpkg = true; } cmd = "rpm --version"; str = getCommandOutput(cmd); if (str.find("RPM") != -1) { rpm = true; } // No package manager was found if ((dpkg == false) && (rpm == false)) { MessageBox::error(window, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); exit(EXIT_FAILURE); } // Start window->start(startpkg); // Run the application return(application->run()); } xfe-1.42/src/Preferences.cpp0000644000175100017510000026672212634271335012726 00000000000000// Preferences dialog box #include "config.h" #include "i18n.h" #include #include #include "icons.h" #include "xfedefs.h" #include "xfeutils.h" #include "FileDialog.h" #include "FontDialog.h" #include "XFileExplorer.h" #include "MessageBox.h" #include "Keybindings.h" #include "Preferences.h" FXbool Theme::operator !=(const Theme& t) { for (int i = 0; i < NUM_COLORS; i++) { if (color[i] != t.color[i]) { return(true); } } return(false); } // Main window extern FXMainWindow* mainWindow; // Single click navigation extern FXbool single_click; // File tooltips extern FXbool file_tooltips; // Relative resizing of the panels and columns in detailed mode extern FXbool relative_resize; // Save window position extern FXbool save_win_pos; // Create hilite color from given color for gradient controls static FXColor makeHiliteColorGradient(FXColor color) { FXuint r, g, b; r = FXREDVAL(color); g = FXGREENVAL(color); b = FXBLUEVAL(color); r = (FXuint)(FXMIN(1.2*r, 255)); g = (FXuint)(FXMIN(1.2*g, 255)); b = (FXuint)(FXMIN(1.2*b, 255)); return(FXRGB(r, g, b)); } // Create shadow color from given color for gradient controls static FXColor makeShadowColorGradient(FXColor color) { FXuint r, g, b; r = FXREDVAL(color); g = FXGREENVAL(color); b = FXBLUEVAL(color); r = (FXuint)(0.7*r); g = (FXuint)(0.7*g); b = (FXuint)(0.7*b); return(FXRGB(r, g, b)); } // Map FXDEFMAP(PreferencesBox) PreferencesMap[] = { FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_ACCEPT, PreferencesBox::onCmdAccept), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_CANCEL, PreferencesBox::onCmdCancel), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_TXTEDIT, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_TXTVIEW, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_IMGVIEW, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_ARCHIVER, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_PDFVIEW, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_VIDEOPLAY, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_AUDIOPLAY, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_XTERM, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_MOUNTCMD, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_UMOUNTCMD, PreferencesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_COLOR, PreferencesBox::onCmdColor), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_NORMALFONT, PreferencesBox::onCmdNormalFont), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_TEXTFONT, PreferencesBox::onCmdTextFont), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_THEME, PreferencesBox::onCmdTheme), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_BROWSE_ICON_PATH, PreferencesBox::onCmdBrowsePath), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_START_HOMEDIR, PreferencesBox::onCmdStartDir), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_START_CURRENTDIR, PreferencesBox::onCmdStartDir), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_START_LASTDIR, PreferencesBox::onCmdStartDir), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_SU_CMD, PreferencesBox::onCmdSuMode), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_SUDO_CMD, PreferencesBox::onCmdSuMode), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_STANDARD_CONTROLS, PreferencesBox::onCmdControls), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_CLEARLOOKS_CONTROLS, PreferencesBox::onCmdControls), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_WHEELADJUST, PreferencesBox::onCmdWheelAdjust), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_CHANGE_KEYBINDINGS, PreferencesBox::onCmdChangeKeyBindings), FXMAPFUNC(SEL_COMMAND, PreferencesBox::ID_RESTORE_KEYBINDINGS, PreferencesBox::onCmdRestoreKeyBindings), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_STANDARD_CONTROLS, PreferencesBox::onUpdControls), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_CLEARLOOKS_CONTROLS, PreferencesBox::onUpdControls), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_COLOR, PreferencesBox::onUpdColor), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_WHEELADJUST, PreferencesBox::onUpdWheelAdjust), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_SINGLE_CLICK_FILEOPEN, PreferencesBox::onUpdSingleClickFileopen), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_CONFIRM_TRASH, PreferencesBox::onUpdTrash), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_TRASH_BYPASS, PreferencesBox::onUpdTrash), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_CONFIRM_DEL_EMPTYDIR, PreferencesBox::onUpdConfirmDelEmptyDir), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_SU_CMD, PreferencesBox::onUpdSuMode), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_SUDO_CMD, PreferencesBox::onUpdSuMode), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_START_HOMEDIR, PreferencesBox::onUpdStartDir), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_START_CURRENTDIR, PreferencesBox::onUpdStartDir), FXMAPFUNC(SEL_UPDATE, PreferencesBox::ID_START_LASTDIR, PreferencesBox::onUpdStartDir), }; // Object implementation FXIMPLEMENT(PreferencesBox, DialogBox, PreferencesMap, ARRAYNUMBER(PreferencesMap)) // Construct window PreferencesBox::PreferencesBox(FXWindow* win, FXColor listbackcolor, FXColor listforecolor, FXColor highlightcolor, FXColor pbarcolor, FXColor attentioncolor, FXColor scrollbarcolor) : DialogBox(win, _("Preferences"), DECOR_TITLE|DECOR_BORDER|DECOR_MAXIMIZE|DECOR_STRETCHABLE|DECOR_CLOSE) { currTheme.name = _("Current Theme"); currTheme.color[0] = getApp()->getBaseColor(); currTheme.color[1] = getApp()->getBorderColor(); currTheme.color[2] = getApp()->getBackColor(); currTheme.color[3] = getApp()->getForeColor(); currTheme.color[4] = getApp()->getSelbackColor(); currTheme.color[5] = getApp()->getSelforeColor(); currTheme.color[6] = listbackcolor; currTheme.color[7] = listforecolor; currTheme.color[8] = highlightcolor; currTheme.color[9] = pbarcolor; currTheme.color[10] = attentioncolor; currTheme.color[11] = scrollbarcolor; Themes[0] = currTheme; Themes[1] = Theme("Clearlooks", FXRGB(237, 236, 235), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(139, 175, 220), FXRGB(255, 255, 255), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(121, 153, 192), FXRGB(255, 0, 0), FXRGB(149, 178, 215)); Themes[2] = Theme("Human", FXRGB(239, 235, 231), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(0, 0, 0), FXRGB(211, 170, 123), FXRGB(255, 255, 255), FXRGB(238, 238, 238), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(195, 158, 114), FXRGB(255, 0, 0), FXRGB(212, 172, 124)); Themes[3] = Theme("Sea Sky", FXRGB(165, 178, 198), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(49, 101, 156), FXRGB(255, 255, 255), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(49, 101, 156), FXRGB(255, 0, 0), FXRGB(68, 106, 146)); Themes[4] = Theme("Blue Slate", FXRGB(156, 186, 205), FXRGB(0, 0, 0), FXRGB(197, 194, 197), FXRGB(0, 0, 0), FXRGB(82, 129, 148), FXRGB(255, 255, 255), FXRGB(197, 194, 197), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(82, 129, 148), FXRGB(255, 0, 0), FXRGB(156, 186, 205)); Themes[5] = Theme("FOX", FXRGB(237, 233, 227), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(10, 36, 106), FXRGB(255, 255, 255), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(10, 36, 106), FXRGB(255, 0, 0), FXRGB(237, 233, 227)); Themes[6] = Theme("GNOME2", FXRGB(220, 218, 213), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(75, 105, 131), FXRGB(255, 255, 255), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(75, 105, 131), FXRGB(255, 0, 0), FXRGB(134, 171, 217)); Themes[7] = Theme("KDE3", FXRGB(238, 238, 230), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(255, 222, 118), FXRGB(0, 0, 0), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(255, 222, 118), FXRGB(255, 0, 0), FXRGB(238, 238, 230)); Themes[8] = Theme("XFCE4", FXRGB(238, 238, 238), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(0, 0, 0), FXRGB(99, 119, 146), FXRGB(255, 255, 255), FXRGB(255, 255, 255), FXRGB(0, 0, 0), FXRGB(238, 238, 238), FXRGB(99, 119, 146), FXRGB(255, 0, 0), FXRGB(238, 238, 238)); Themes[9] = Theme("CDE", FXRGB(156, 153, 156), FXRGB(0, 0, 0), FXRGB(131, 129, 131), FXRGB(255, 255, 255), FXRGB(49, 97, 131), FXRGB(255, 255, 255), FXRGB(131, 129, 131), FXRGB(255, 255, 255), FXRGB(165, 162, 165), FXRGB(49, 97, 131), FXRGB(255, 0, 0), FXRGB(156, 153, 156)); // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Contents FXHorizontalFrame* contents = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH); // Accept FXButton* ok = new FXButton(buttons, _("&Accept"), NULL, this, PreferencesBox::ID_ACCEPT, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); ok->addHotKey(KEY_Return); ok->setFocus(); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, PreferencesBox::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Switcher FXTabBook* tabbook = new FXTabBook(contents, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT); // First tab - General options new FXTabItem(tabbook, _("&General"), NULL); FXVerticalFrame* options = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* group = new FXGroupBox(options, _("Options"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); trashcan = new FXCheckButton(group, _("Use trash can for file deletion (safe delete)")); trashbypass = new FXCheckButton(group, _("Include a command to bypass the trash can (permanent delete)"), this, ID_TRASH_BYPASS); autosave = new FXCheckButton(group, _("Auto save layout")); savewinpos = new FXCheckButton(group, _("Save window position")); diropen = new FXCheckButton(group, _("Single click folder open")); fileopen = new FXCheckButton(group, _("Single click file open"), this, ID_SINGLE_CLICK_FILEOPEN); filetooltips = new FXCheckButton(group, _("Display tooltips in file and folder lists"), this, ID_FILE_TOOLTIPS); relativeresize = new FXCheckButton(group, _("Relative resizing of file lists"), this, ID_RELATIVE_RESIZE); showpathlink = new FXCheckButton(group, _("Display a path linker above file lists"), this, ID_SHOW_PATHLINK); #ifdef STARTUP_NOTIFICATION usesn = new FXCheckButton(group, _("Notify when applications start up")); #endif FXMatrix* matrix = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("Date format used in file and folder lists:\n(Type 'man strftime' in a terminal for help on the format)"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); timeformat = new FXTextField(matrix, 15, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); oldtimeformat = getApp()->reg().readStringEntry("SETTINGS", "time_format", DEFAULT_TIME_FORMAT); timeformat->setText(oldtimeformat); new FXTabItem(tabbook, _("&Modes"), NULL); FXVerticalFrame* modes = new FXVerticalFrame(tabbook, FRAME_RAISED); startdirmode = getApp()->reg().readUnsignedEntry("OPTIONS", "startdir_mode", START_HOMEDIR) + ID_START_HOMEDIR; oldstartdirmode = startdirmode; startdirtarget.connect(startdirmode); group = new FXGroupBox(modes, _("Starting mode"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXRadioButton(group, _("Start in home folder"), this, PreferencesBox::ID_START_HOMEDIR); new FXRadioButton(group, _("Start in current folder"), this, PreferencesBox::ID_START_CURRENTDIR); new FXRadioButton(group, _("Start in last visited folder"), this, PreferencesBox::ID_START_LASTDIR); group = new FXGroupBox(modes, _("Scrolling mode"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); scroll = new FXCheckButton(group, _("Smooth scrolling in file lists and text windows")); matrix = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_Y); new FXLabel(matrix, _("Mouse scrolling speed:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); FXSpinner* spinner = new FXSpinner(matrix, 3, this, PreferencesBox::ID_WHEELADJUST, JUSTIFY_RIGHT|LAYOUT_FILL_X|LAYOUT_FILL_ROW, 0, 0, 0, 0, 2, 2, 1, 1); spinner->setRange(1, 100); FXbool smoothscroll = getApp()->reg().readUnsignedEntry("SETTINGS", "smooth_scroll", true); scroll->setCheck(smoothscroll); group = new FXGroupBox(modes, _("Root mode"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); rootmode = new FXCheckButton(group, _("Allow root mode")); FXRadioButton* subutton = new FXRadioButton(group, _("Authentication using su (uses root password)"), this, ID_SU_CMD); FXRadioButton* sudobutton = new FXRadioButton(group, _("Authentication using sudo (uses user password)"), this, ID_SUDO_CMD); FXbool root_mode = getApp()->reg().readUnsignedEntry("OPTIONS", "root_mode", true); rootmode->setCheck(root_mode); if (getuid() == 0) // Super user { rootmode->disable(); subutton->disable(); sudobutton->disable(); } use_sudo = getApp()->reg().readUnsignedEntry("OPTIONS", "use_sudo", false); FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); trashcan->setCheck(use_trash_can); if (trashcan->getCheck()) { FXbool use_trash_bypass = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_bypass", false); trashbypass->setCheck(use_trash_bypass); } else { trashbypass->disable(); } FXbool auto_save_layout = getApp()->reg().readUnsignedEntry("OPTIONS", "auto_save_layout", true); autosave->setCheck(auto_save_layout); FXbool save_win_pos = getApp()->reg().readUnsignedEntry("SETTINGS", "save_win_pos", false); savewinpos->setCheck(save_win_pos); // Single click navigation single_click = getApp()->reg().readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); single_click = getApp()->reg().readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); if (single_click == SINGLE_CLICK_DIR) { diropen->setCheck(true); fileopen->setCheck(false); } else if (single_click == SINGLE_CLICK_DIR_FILE) { diropen->setCheck(true); fileopen->setCheck(true); } else { diropen->setCheck(false); fileopen->setCheck(false); } // File tooltips if (file_tooltips == false) { filetooltips->setCheck(false); } else { filetooltips->setCheck(true); } // Relative resizing if (relative_resize == false) { relativeresize->setCheck(false); } else { relativeresize->setCheck(true); } // Display path linker show_pathlink = getApp()->reg().readUnsignedEntry("SETTINGS", "show_pathlinker", true); if (show_pathlink == false) { showpathlink->setCheck(false); } else { showpathlink->setCheck(true); } #ifdef STARTUP_NOTIFICATION FXbool use_sn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); usesn->setCheck(use_sn); #endif // Second tab - Dialogs new FXTabItem(tabbook, _("&Dialogs"), NULL); FXVerticalFrame* dialogs = new FXVerticalFrame(tabbook, FRAME_RAISED); group = new FXGroupBox(dialogs, _("Confirmations"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); ask = new FXCheckButton(group, _("Confirm copy/move/rename/symlink")); dnd = new FXCheckButton(group, _("Confirm drag and drop")); trashmv = new FXCheckButton(group, _("Confirm move to trash/restore from trash"), this, ID_CONFIRM_TRASH); del = new FXCheckButton(group, _("Confirm delete")); del_emptydir = new FXCheckButton(group, _("Confirm delete non empty folders"), this, ID_CONFIRM_DEL_EMPTYDIR); overwrite = new FXCheckButton(group, _("Confirm overwrite")); exec = new FXCheckButton(group, _("Confirm execute text files")); properties = new FXCheckButton(group, _("Confirm change properties")); group = new FXGroupBox(dialogs, _("Warnings"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); folder_warning = new FXCheckButton(group, _("Warn when setting current folder in search window")); #if defined(linux) mount = new FXCheckButton(group, _("Warn when mount points are not responding")); show_mount = new FXCheckButton(group, _("Display mount / unmount success messages")); #endif preserve_date_warning = new FXCheckButton(group, _("Warn when date preservation failed")); root_warning = new FXCheckButton(group, _("Warn if running as root")); FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); trashmv->setCheck(confirm_trash); FXbool confirm_del = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete", true); del->setCheck(confirm_del); FXbool confirm_properties = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_properties", true); properties->setCheck(confirm_properties); FXbool confirm_del_emptydir = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete_emptydir", true); del_emptydir->setCheck(confirm_del_emptydir); FXbool confirm_overwrite = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_overwrite", true); overwrite->setCheck(confirm_overwrite); FXbool confirm_exec = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_execute", true); exec->setCheck(confirm_exec); FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); ask->setCheck(ask_before_copy); FXbool confirm_dnd = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_drag_and_drop", true); dnd->setCheck(confirm_dnd); #if defined(linux) FXbool mount_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "mount_warn", true); FXbool mount_messages = getApp()->reg().readUnsignedEntry("OPTIONS", "mount_messages", true); mount->setCheck(mount_warn); show_mount->setCheck(mount_messages); #endif FXbool folder_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "folderwarn", true); folder_warning->setCheck(folder_warn); FXbool preserve_date_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "preserve_date_warn", true); preserve_date_warning->setCheck(preserve_date_warn); FXbool root_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "root_warn", true); if (getuid()) // Simple user { root_warning->disable(); } else { root_warning->setCheck(root_warn); } // Third tab - Programs new FXTabItem(tabbook, _("&Programs"), NULL); FXVerticalFrame* programs = new FXVerticalFrame(tabbook, FRAME_RAISED); group = new FXGroupBox(programs, _("Default programs"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); matrix = new FXMatrix(group, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("Text viewer:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); txtviewer = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_TXTVIEW, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldtxtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); txtviewer->setText(oldtxtviewer); new FXLabel(matrix, _("Text editor:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); txteditor = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_TXTEDIT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldtxteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); txteditor->setText(oldtxteditor); new FXLabel(matrix, _("File comparator:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); filecomparator = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_TXTEDIT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldfilecomparator = getApp()->reg().readStringEntry("PROGS", "filecomparator", DEFAULT_FILECOMPARATOR); filecomparator->setText(oldfilecomparator); new FXLabel(matrix, _("Image editor:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); imgeditor = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_IMGVIEW, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldimgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); imgeditor->setText(oldimgeditor); new FXLabel(matrix, _("Image viewer:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); imgviewer = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_IMGVIEW, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldimgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); imgviewer->setText(oldimgviewer); new FXLabel(matrix, _("Archiver:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); archiver = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_ARCHIVER, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldarchiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); archiver->setText(oldarchiver); new FXLabel(matrix, _("Pdf viewer:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); pdfviewer = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_PDFVIEW, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldpdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); pdfviewer->setText(oldpdfviewer); new FXLabel(matrix, _("Audio player:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); audioplayer = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_AUDIOPLAY, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldaudioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); audioplayer->setText(oldaudioplayer); new FXLabel(matrix, _("Video player:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); videoplayer = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_VIDEOPLAY, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldvideoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); videoplayer->setText(oldvideoplayer); new FXLabel(matrix, _("Terminal:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); xterm = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_XTERM, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldxterm = getApp()->reg().readStringEntry("PROGS", "xterm", DEFAULT_TERMINAL); xterm->setText(oldxterm); group = new FXGroupBox(programs, _("Volume management"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); matrix = new FXMatrix(group, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("Mount:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); mountcmd = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_MOUNTCMD, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldmountcmd = getApp()->reg().readStringEntry("PROGS", "mount", DEFAULT_MOUNTCMD); mountcmd->setText(oldmountcmd); new FXLabel(matrix, _("Unmount:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); umountcmd = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_UMOUNTCMD, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldumountcmd = getApp()->reg().readStringEntry("PROGS", "unmount", DEFAULT_UMOUNTCMD); umountcmd->setText(oldumountcmd); // Fourth tab - Visual new FXTabItem(tabbook, _("&Themes"), NULL); FXVerticalFrame* visual = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* themes = new FXGroupBox(visual, _("Color theme"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXPacker* pack = new FXPacker(themes, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_Y|LAYOUT_FILL_X, 0, 0, 0, 0, 0, 0, 0, 0); themesList = new FXList(pack, this, ID_THEME, LIST_BROWSESELECT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y); themesList->setNumVisible(7); for (int i = 0; i < NUM_THEMES; i++) { themesList->appendItem(Themes[i].name); } themesList->setCurrentItem(0); FXGroupBox* colors = new FXGroupBox(visual, _("Custom colors"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* matrix3 = new FXMatrix(colors, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); colorsBox = new FXComboBox(matrix3, NUM_COLORS, NULL, 0, COMBOBOX_STATIC|LAYOUT_FILL_X|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y); colorsBox->setNumVisible(NUM_COLORS); cwell = new FXColorWell(matrix3, FXRGB(0, 0, 0), this, ID_COLOR, LAYOUT_FILL_X|LAYOUT_FILL_COLUMN|LAYOUT_FILL_Y, 0, 0, 0, 0, 10, 10, 0, 0); cwell->setTipText(_("Double click to customize the color")); colorsBox->appendItem(_("Base color")); colorsBox->appendItem(_("Border color")); colorsBox->appendItem(_("Background color")); colorsBox->appendItem(_("Text color")); colorsBox->appendItem(_("Selection background color")); colorsBox->appendItem(_("Selection text color")); colorsBox->appendItem(_("File list background color")); colorsBox->appendItem(_("File list text color")); colorsBox->appendItem(_("File list highlight color")); colorsBox->appendItem(_("Progress bar color")); colorsBox->appendItem(_("Attention color")); colorsBox->appendItem(_("Scrollbar color")); colorsBox->setCurrentItem(0); // Controls theme FXGroupBox* button = new FXGroupBox(visual, _("Controls"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); new FXRadioButton(button, _("Standard (classic controls)"), this, ID_STANDARD_CONTROLS); new FXRadioButton(button, _("Clearlooks (modern looking controls)"), this, ID_CLEARLOOKS_CONTROLS); // Find iconpath from the Xfe registry settings or set it to DEFAULTICONPATH FXGroupBox* group2 = new FXGroupBox(visual, _("Icon theme path"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* matrix2 = new FXMatrix(group2, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); iconpath = new FXTextField(matrix2, 40, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(matrix2, _("\tSelect path..."), filedialogicon, this, ID_BROWSE_ICON_PATH, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); oldiconpath = getApp()->reg().readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); iconpath->setText(oldiconpath); // Fifth tab - Fonts new FXTabItem(tabbook, _("&Fonts"), NULL); FXVerticalFrame* fonts = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* fgroup = new FXGroupBox(fonts, _("Fonts"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXMatrix* fmatrix = new FXMatrix(fgroup, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(fmatrix, _("Normal font:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); normalfont = new FXTextField(fmatrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(fmatrix, _(" Select..."), NULL, this, ID_NORMALFONT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y); //,0,0,0,0,20,20); oldnormalfont = getApp()->reg().readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); normalfont->setText(oldnormalfont); new FXLabel(fmatrix, _("Text font:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); textfont = new FXTextField(fmatrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); new FXButton(fmatrix, _(" Select..."), NULL, this, ID_TEXTFONT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y); //0,0,0,0,20,20); oldtextfont = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); textfont->setText(oldtextfont); // Sixth tab - Key bindings new FXTabItem(tabbook, _("&Key Bindings"), NULL); FXVerticalFrame* keybindings = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* kbgroup = new FXGroupBox(keybindings, _("Key Bindings"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXPacker* kbpack = new FXPacker(kbgroup, LAYOUT_FILL_X); new FXButton(kbpack, _("Modify key bindings..."), minikeybindingsicon, this, ID_CHANGE_KEYBINDINGS, FRAME_RAISED|FRAME_THICK|ICON_BEFORE_TEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X); //,0,0,0,0,20,20); new FXButton(kbpack, _("Restore default key bindings..."), reloadicon, this, ID_RESTORE_KEYBINDINGS, FRAME_RAISED|FRAME_THICK|ICON_BEFORE_TEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X); //,0,0,0,0,20,20); // Initializations bindingsbox = NULL; glbBindingsDict = NULL; xfeBindingsDict = NULL; xfiBindingsDict = NULL; xfwBindingsDict = NULL; themesBox = NULL; bg = NULL; controls = NULL; trashbypass_prev = false; autosave_prev = false; savewinpos_prev = false; diropen_prev = false; fileopen_prev = false; filetooltips_prev = false; relativeresize_prev = false; show_pathlink_prev = false; value_prev = false; ask_prev = false; dnd_prev = false; trashmv_prev = false; del_prev = false; properties_prev = false; del_emptydir_prev = false; overwrite_prev = false; exec_prev = false; use_clearlooks_prev = false; rootmode_prev = false; #ifdef STARTUP_NOTIFICATION usesn_prev = false; #endif #if defined(linux) mount_prev = false; show_mount_prev = false; #endif root_warning_prev = false; folder_warning_prev = false; preserve_date_warning_prev = false; themelist_prev = false; smoothscroll_prev = false; use_sudo_prev = false; trashcan_prev = false; } long PreferencesBox::onUpdColor(FXObject* o, FXSelector s, void* p) { FXColorWell* cwell = (FXColorWell*)o; int i = colorsBox->getCurrentItem(); cwell->setRGBA(currTheme.color[i]); return(1); } long PreferencesBox::onCmdColor(FXObject* o, FXSelector s, void* p) { FXColorWell* cwell = (FXColorWell*)o; int i = colorsBox->getCurrentItem(); currTheme.color[i] = cwell->getRGBA(); return(1); } long PreferencesBox::onCmdTheme(FXObject* o, FXSelector s, void* p) { currTheme = Themes[themesList->getCurrentItem()]; return(1); } long PreferencesBox::onCmdBrowsePath(FXObject* o, FXSelector s, void* p) { FileDialog browse(this, _("Select an icon theme folder or an icon file")); browse.setSelectMode(SELECT_FILE_MIXED); browse.setDirectory(iconpath->getText()); if (browse.execute()) { FXString path = browse.getFilename(); if (::isFile(path)) { iconpath->setText(FXPath::directory(path).text()); } else { iconpath->setText(path); } } return(1); } long PreferencesBox::onCmdBrowse(FXObject* o, FXSelector s, void* p) { FileDialog browse(this, _("Select an executable file")); const char* patterns[] = { _("All files"), "*", NULL }; browse.setFilename(ROOTDIR); browse.setPatternList(patterns); browse.setSelectMode(SELECT_FILE_EXISTING); if (browse.execute()) { FXString path = browse.getFilename(); switch (FXSELID(s)) { case ID_BROWSE_TXTVIEW: txtviewer->setText(FXPath::name(path)); break; case ID_BROWSE_TXTEDIT: txteditor->setText(FXPath::name(path)); break; case ID_BROWSE_FILECOMP: filecomparator->setText(FXPath::name(path)); break; case ID_BROWSE_IMGVIEW: imgviewer->setText(FXPath::name(path)); break; case ID_BROWSE_ARCHIVER: archiver->setText(FXPath::name(path)); break; case ID_BROWSE_PDFVIEW: pdfviewer->setText(FXPath::name(path)); break; case ID_BROWSE_AUDIOPLAY: audioplayer->setText(FXPath::name(path)); break; case ID_BROWSE_VIDEOPLAY: videoplayer->setText(FXPath::name(path)); break; case ID_BROWSE_XTERM: xterm->setText(FXPath::name(path)); break; case ID_BROWSE_MOUNTCMD: mountcmd->setText(FXPath::name(path)); break; case ID_BROWSE_UMOUNTCMD: umountcmd->setText(FXPath::name(path)); break; } } return(1); } // Change normal font long PreferencesBox::onCmdNormalFont(FXObject*, FXSelector, void*) { FontDialog fontdlg(this, _("Change Normal Font"), DECOR_BORDER|DECOR_TITLE); FXFontDesc fontdesc; FXString fontspec; fontspec = getApp()->reg().readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); FXFont* nfont = new FXFont(getApp(), fontspec); nfont->create(); nfont->getFontDesc(fontdesc); fontdlg.setFontSelection(fontdesc); if (fontdlg.execute()) { fontdlg.getFontSelection(fontdesc); nfont->setFontDesc(fontdesc); fontspec = nfont->getFont(); normalfont->setText(fontspec); } return(1); } // Change text font long PreferencesBox::onCmdTextFont(FXObject*, FXSelector, void*) { FontDialog fontdlg(this, _("Change Text Font"), DECOR_BORDER|DECOR_TITLE); FXFontDesc fontdesc; FXString fontspec; fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); FXFont* tfont = new FXFont(getApp(), fontspec); tfont->create(); tfont->getFontDesc(fontdesc); fontdlg.setFontSelection(fontdesc); if (fontdlg.execute()) { fontdlg.getFontSelection(fontdesc); tfont->setFontDesc(fontdesc); fontspec = tfont->getFont(); textfont->setText(fontspec); } return(1); } // Change key bindings long PreferencesBox::onCmdChangeKeyBindings(FXObject*, FXSelector, void*) { FXString key, str; // String dictionary used to store global key bindings if (glbBindingsDict == NULL) { glbBindingsDict = new FXStringDict(); } key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_back", "Ctrl-Backspace"); str = _("Go to previous folder")+TAB+key; glbBindingsDict->insert("go_back", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_forward", "Shift-Backspace"); str = _("Go to next folder")+TAB+key; glbBindingsDict->insert("go_forward", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_up", "Backspace"); str = _("Go to parent folder")+TAB+key; glbBindingsDict->insert("go_up", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); str = _("Go to home folder")+TAB+key; glbBindingsDict->insert("go_home", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_file", "Ctrl-N"); str = _("Create new file")+TAB+key; glbBindingsDict->insert("new_file", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_folder", "F7"); str = _("Create new folder")+TAB+key; glbBindingsDict->insert("new_folder", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); str = _("Copy to clipboard")+TAB+key; glbBindingsDict->insert("copy", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); str = _("Cut to clipboard")+TAB+key; glbBindingsDict->insert("cut", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); str = _("Paste from clipboard")+TAB+key; glbBindingsDict->insert("paste", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); str = _("Big icon list")+TAB+key; glbBindingsDict->insert("big_icons", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); str = _("Small icon list")+TAB+key; glbBindingsDict->insert("small_icons", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); str = _("Detailed file list")+TAB+key; glbBindingsDict->insert("detailed_file_list", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); str = _("Open file")+TAB+key; glbBindingsDict->insert("open", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); str = _("Quit application")+TAB+key; glbBindingsDict->insert("quit", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "select_all", "Ctrl-A"); str = _("Select all")+TAB+key; glbBindingsDict->insert("select_all", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "deselect_all", "Ctrl-Z"); str = _("Deselect all")+TAB+key; glbBindingsDict->insert("deselect_all", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "invert_selection", "Ctrl-I"); str = _("Invert selection")+TAB+key; glbBindingsDict->insert("invert_selection", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "help", "F1"); str = _("Display help")+TAB+key; glbBindingsDict->insert("help", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); str = _("Toggle display hidden files")+TAB+key; glbBindingsDict->insert("hidden_files", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); str = _("Toggle display thumbnails")+TAB+key; glbBindingsDict->insert("thumbnails", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_work", "Shift-F2"); str = _("Go to working folder")+TAB+key; glbBindingsDict->insert("go_work", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); str = _("Close window")+TAB+key; glbBindingsDict->insert("close", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "print", "Ctrl-P"); str = _("Print file")+TAB+key; glbBindingsDict->insert("print", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search", "Ctrl-F"); str = _("Search")+TAB+key; glbBindingsDict->insert("search", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_prev", "Ctrl-Shift-G"); str = _("Search previous")+TAB+key; glbBindingsDict->insert("search_prev", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_next", "Ctrl-G"); str = _("Search next")+TAB+key; glbBindingsDict->insert("search_next", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); str = _("Vertical panels")+TAB+key; glbBindingsDict->insert("vert_panels", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); str = _("Horizontal panels")+TAB+key; glbBindingsDict->insert("horz_panels", str.text()); // Key bindings specific to X File Explorer (Xfe) if (xfeBindingsDict == NULL) { xfeBindingsDict = new FXStringDict(); } key = getApp()->reg().readStringEntry("KEYBINDINGS", "refresh", "Ctrl-R"); str = _("Refresh panels")+TAB+key; xfeBindingsDict->insert("refresh", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_symlink", "Ctrl-J"); str = _("Create new symbolic link")+TAB+key; xfeBindingsDict->insert("new_symlink", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "properties", "F9"); str = _("File properties")+TAB+key; xfeBindingsDict->insert("properties", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to_trash", "Del"); str = _("Move files to trash")+TAB+key; xfeBindingsDict->insert("move_to_trash", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "restore_from_trash", "Alt-Del"); str = _("Restore files from trash")+TAB+key; xfeBindingsDict->insert("restore_from_trash", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "delete", "Shift-Del"); str = _("Delete files")+TAB+key; xfeBindingsDict->insert("delete", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_window", "F3"); str = _("Create new window")+TAB+key; xfeBindingsDict->insert("new_window", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_root_window", "Shift-F3"); str = _("Create new root window")+TAB+key; xfeBindingsDict->insert("new_root_window", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "execute_command", "Ctrl-E"); str = _("Execute command")+TAB+key; xfeBindingsDict->insert("execute_command", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "terminal", "Ctrl-T"); str = _("Launch terminal")+TAB+key; xfeBindingsDict->insert("terminal", str.text()); #if defined(linux) key = getApp()->reg().readStringEntry("KEYBINDINGS", "mount", "Ctrl-M"); str = _("Mount file system (Linux only)")+TAB+key; xfeBindingsDict->insert("mount", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "unmount", "Ctrl-U"); str = _("Unmount file system (Linux only)")+TAB+key; xfeBindingsDict->insert("unmount", str.text()); #endif key = getApp()->reg().readStringEntry("KEYBINDINGS", "one_panel", "Ctrl-F1"); str = _("One panel mode")+TAB+key; xfeBindingsDict->insert("one_panel", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_panel", "Ctrl-F2"); str = _("Tree and panel mode")+TAB+key; xfeBindingsDict->insert("tree_panel", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "two_panels", "Ctrl-F3"); str = _("Two panels mode")+TAB+key; xfeBindingsDict->insert("two_panels", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_two_panels", "Ctrl-F4"); str = _("Tree and two panels mode")+TAB+key; xfeBindingsDict->insert("tree_two_panels", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "clear_location", "Ctrl-L"); str = _("Clear location bar")+TAB+key; xfeBindingsDict->insert("clear_location", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rename", "F2"); str = _("Rename file")+TAB+key; xfeBindingsDict->insert("rename", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy_to", "F5"); str = _("Copy files to location")+TAB+key; xfeBindingsDict->insert("copy_to", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to", "F6"); str = _("Move files to location")+TAB+key; xfeBindingsDict->insert("move_to", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "symlink_to", "Ctrl-S"); str = _("Symlink files to location")+TAB+key; xfeBindingsDict->insert("symlink_to", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "add_bookmark", "Ctrl-B"); str = _("Add bookmark")+TAB+key; xfeBindingsDict->insert("add_bookmark", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "synchronize_panels", "Ctrl-Y"); str = _("Synchronize panels")+TAB+key; xfeBindingsDict->insert("synchronize_panels", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "switch_panels", "Ctrl-K"); str = _("Switch panels")+TAB+key; xfeBindingsDict->insert("switch_panels", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_to_trash", "Ctrl-F8"); str = _("Go to trash can")+TAB+key; xfeBindingsDict->insert("go_to_trash", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "empty_trash_can", "Ctrl-Del"); str = _("Empty trash can")+TAB+key; xfeBindingsDict->insert("empty_trash_can", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "view", "Shift-F4"); str = _("View")+TAB+key; xfeBindingsDict->insert("view", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "edit", "F4"); str = _("Edit")+TAB+key; xfeBindingsDict->insert("edit", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "compare", "F8"); str = _("Compare")+TAB+key; xfeBindingsDict->insert("compare", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_dirs", "Ctrl-F5"); str = _("Toggle display hidden folders")+TAB+key; xfeBindingsDict->insert("hidden_dirs", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "filter", "Ctrl-D"); str = _("Filter files")+TAB+key; xfeBindingsDict->insert("filter", str.text()); // Key bindings specific to X File Image (Xfi) if (xfiBindingsDict == NULL) { xfiBindingsDict = new FXStringDict(); } key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_100", "Ctrl-I"); str = _("Zoom image to 100%")+TAB+key; xfiBindingsDict->insert("zoom_100", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_win", "Ctrl-F"); str = _("Zoom to fit window")+TAB+key; xfiBindingsDict->insert("zoom_win", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_left", "Ctrl-L"); str = _("Rotate image to left")+TAB+key; xfiBindingsDict->insert("rotate_left", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_right", "Ctrl-R"); str = _("Rotate image to right")+TAB+key; xfiBindingsDict->insert("rotate_right", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_horizontally", "Ctrl-Shift-H"); str = _("Mirror image horizontally")+TAB+key; xfiBindingsDict->insert("mirror_horizontally", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_vertically", "Ctrl-Shift-V"); str = _("Mirror image vertically")+TAB+key; xfiBindingsDict->insert("mirror_vertically", str.text()); // Key bindings specific to X File Write (Xfw) if (xfwBindingsDict == NULL) { xfwBindingsDict = new FXStringDict(); } key = getApp()->reg().readStringEntry("KEYBINDINGS", "new", "Ctrl-N"); str = _("Create new document")+TAB+key; xfwBindingsDict->insert("new", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "save", "Ctrl-S"); str = _("Save changes to file")+TAB+key; xfwBindingsDict->insert("save", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "goto_line", "Ctrl-L"); str = _("Goto line")+TAB+key; xfwBindingsDict->insert("goto_line", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "undo", "Ctrl-Z"); str = _("Undo last change")+TAB+key; xfwBindingsDict->insert("undo", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "redo", "Ctrl-Y"); str = _("Redo last change")+TAB+key; xfwBindingsDict->insert("redo", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "replace", "Ctrl-R"); str = _("Replace string")+TAB+key; xfwBindingsDict->insert("replace", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "word_wrap", "Ctrl-K"); str = _("Toggle word wrap mode")+TAB+key; xfwBindingsDict->insert("word_wrap", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "line_numbers", "Ctrl-T"); str = _("Toggle line numbers mode")+TAB+key; xfwBindingsDict->insert("line_numbers", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "lower_case", "Ctrl-U"); str = _("Toggle lower case mode")+TAB+key; xfwBindingsDict->insert("lower_case", str.text()); key = getApp()->reg().readStringEntry("KEYBINDINGS", "upper_case", "Ctrl-Shift-U"); str = _("Toggle upper case mode")+TAB+key; xfwBindingsDict->insert("upper_case", str.text()); // Display the key bindings dialog box if (bindingsbox == NULL) { bindingsbox = new KeybindingsBox(this, glbBindingsDict, xfeBindingsDict, xfiBindingsDict, xfwBindingsDict); } bindingsbox->execute(PLACEMENT_OWNER); return(1); } // Restore default key bindings long PreferencesBox::onCmdRestoreKeyBindings(FXObject*, FXSelector, void*) { // Confirmation message FXString message = _("Do you really want to restore the default key bindings?\n\nAll your customizations will be lost!"); MessageBox box(this, _("Restore default key bindings"), message, keybindingsicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } // Write default key bindings to the registry // Global key bindings getApp()->reg().writeStringEntry("KEYBINDINGS", "go_back", "Ctrl-Backspace"); getApp()->reg().writeStringEntry("KEYBINDINGS", "go_forward", "Shift-Backspace"); getApp()->reg().writeStringEntry("KEYBINDINGS", "go_up", "Backspace"); getApp()->reg().writeStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); getApp()->reg().writeStringEntry("KEYBINDINGS", "new_file", "Ctrl-N"); getApp()->reg().writeStringEntry("KEYBINDINGS", "new_folder", "F7"); getApp()->reg().writeStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); getApp()->reg().writeStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); getApp()->reg().writeStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); getApp()->reg().writeStringEntry("KEYBINDINGS", "big_icons", "F10"); getApp()->reg().writeStringEntry("KEYBINDINGS", "small_icons", "F11"); getApp()->reg().writeStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); getApp()->reg().writeStringEntry("KEYBINDINGS", "open", "Ctrl-O"); getApp()->reg().writeStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); getApp()->reg().writeStringEntry("KEYBINDINGS", "select_all", "Ctrl-A"); getApp()->reg().writeStringEntry("KEYBINDINGS", "deselect_all", "Ctrl-Z"); getApp()->reg().writeStringEntry("KEYBINDINGS", "invert_selection", "Ctrl-I"); getApp()->reg().writeStringEntry("KEYBINDINGS", "help", "F1"); getApp()->reg().writeStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); getApp()->reg().writeStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); getApp()->reg().writeStringEntry("KEYBINDINGS", "go_work", "Shift-F2"); getApp()->reg().writeStringEntry("KEYBINDINGS", "close", "Ctrl-W"); getApp()->reg().writeStringEntry("KEYBINDINGS", "print", "Ctrl-P"); getApp()->reg().writeStringEntry("KEYBINDINGS", "search", "Ctrl-F"); getApp()->reg().writeStringEntry("KEYBINDINGS", "search_prev", "Ctrl-Shift-G"); getApp()->reg().writeStringEntry("KEYBINDINGS", "search_next", "Ctrl-G"); getApp()->reg().writeStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); getApp()->reg().writeStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); // Key bindings specific to X File Explorer (Xfe) getApp()->reg().writeStringEntry("KEYBINDINGS", "refresh", "Ctrl-R"); getApp()->reg().writeStringEntry("KEYBINDINGS", "new_symlink", "Ctrl-J"); getApp()->reg().writeStringEntry("KEYBINDINGS", "properties", "F9"); getApp()->reg().writeStringEntry("KEYBINDINGS", "move_to_trash", "Del"); getApp()->reg().writeStringEntry("KEYBINDINGS", "restore_from_trash", "Alt-Del"); getApp()->reg().writeStringEntry("KEYBINDINGS", "delete", "Shift-Del"); getApp()->reg().writeStringEntry("KEYBINDINGS", "new_window", "F3"); getApp()->reg().writeStringEntry("KEYBINDINGS", "new_root_window", "Shift-F3"); getApp()->reg().writeStringEntry("KEYBINDINGS", "execute_command", "Ctrl-E"); getApp()->reg().writeStringEntry("KEYBINDINGS", "terminal", "Ctrl-T"); #if defined(linux) getApp()->reg().writeStringEntry("KEYBINDINGS", "mount", "Ctrl-M"); getApp()->reg().writeStringEntry("KEYBINDINGS", "unmount", "Ctrl-U"); #endif getApp()->reg().writeStringEntry("KEYBINDINGS", "one_panel", "Ctrl-F1"); getApp()->reg().writeStringEntry("KEYBINDINGS", "tree_panel", "Ctrl-F2"); getApp()->reg().writeStringEntry("KEYBINDINGS", "two_panels", "Ctrl-F3"); getApp()->reg().writeStringEntry("KEYBINDINGS", "tree_two_panels", "Ctrl-F4"); getApp()->reg().writeStringEntry("KEYBINDINGS", "clear_location", "Ctrl-L"); getApp()->reg().writeStringEntry("KEYBINDINGS", "rename", "F2"); getApp()->reg().writeStringEntry("KEYBINDINGS", "copy_to", "F5"); getApp()->reg().writeStringEntry("KEYBINDINGS", "move_to", "F6"); getApp()->reg().writeStringEntry("KEYBINDINGS", "symlink_to", "Ctrl-S"); getApp()->reg().writeStringEntry("KEYBINDINGS", "add_bookmark", "Ctrl-B"); getApp()->reg().writeStringEntry("KEYBINDINGS", "synchronize_panels", "Ctrl-Y"); getApp()->reg().writeStringEntry("KEYBINDINGS", "switch_panels", "Ctrl-K"); getApp()->reg().writeStringEntry("KEYBINDINGS", "go_to_trash", "Ctrl-F8"); getApp()->reg().writeStringEntry("KEYBINDINGS", "empty_trash_can", "Ctrl-Del"); getApp()->reg().writeStringEntry("KEYBINDINGS", "view", "Shift-F4"); getApp()->reg().writeStringEntry("KEYBINDINGS", "edit", "F4"); getApp()->reg().writeStringEntry("KEYBINDINGS", "compare", "F8"); getApp()->reg().writeStringEntry("KEYBINDINGS", "hidden_dirs", "Ctrl-F5"); getApp()->reg().writeStringEntry("KEYBINDINGS", "filter", "Ctrl-D"); // Key bindings specific to X File Image (Xfi) getApp()->reg().writeStringEntry("KEYBINDINGS", "zoom_100", "Ctrl-I"); getApp()->reg().writeStringEntry("KEYBINDINGS", "zoom_win", "Ctrl-F"); getApp()->reg().writeStringEntry("KEYBINDINGS", "rotate_left", "Ctrl-L"); getApp()->reg().writeStringEntry("KEYBINDINGS", "rotate_right", "Ctrl-R"); getApp()->reg().writeStringEntry("KEYBINDINGS", "mirror_horizontally", "Ctrl-Shift-H"); getApp()->reg().writeStringEntry("KEYBINDINGS", "mirror_vertically", "Ctrl-Shift-V"); // Key bindings specific to X File Write (Xfw) getApp()->reg().writeStringEntry("KEYBINDINGS", "new", "Ctrl-N"); getApp()->reg().writeStringEntry("KEYBINDINGS", "save", "Ctrl-S"); getApp()->reg().writeStringEntry("KEYBINDINGS", "goto_line", "Ctrl-L"); getApp()->reg().writeStringEntry("KEYBINDINGS", "undo", "Ctrl-Z"); getApp()->reg().writeStringEntry("KEYBINDINGS", "redo", "Ctrl-Y"); getApp()->reg().writeStringEntry("KEYBINDINGS", "replace", "Ctrl-R"); getApp()->reg().writeStringEntry("KEYBINDINGS", "word_wrap", "Ctrl-K"); getApp()->reg().writeStringEntry("KEYBINDINGS", "line_numbers", "Ctrl-T"); getApp()->reg().writeStringEntry("KEYBINDINGS", "lower_case", "Ctrl-U"); getApp()->reg().writeStringEntry("KEYBINDINGS", "upper_case", "Ctrl-Shift-U"); // Finally, update the registry getApp()->reg().write(); // Ask the user if he wants to restart Xfe if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Key bindings will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } return(1); } long PreferencesBox::onCmdAccept(FXObject* o, FXSelector s, void* p) { FXbool restart_theme = false; FXbool restart_scroll = false; FXbool restart_pathlink = false; FXbool restart_controls = false; FXbool restart_normalfont = false; FXbool restart_textfont = false; if (iconpath->getText() == "") { iconpath->setText(oldiconpath); } // Icon path has changed if (oldiconpath != iconpath->getText()) { getApp()->reg().writeStringEntry("SETTINGS", "iconpath", iconpath->getText().text()); getApp()->reg().write(); restart_theme = true; } // Normal font has changed if (oldnormalfont != normalfont->getText()) { getApp()->reg().writeStringEntry("SETTINGS", "font", normalfont->getText().text()); getApp()->reg().write(); restart_normalfont = true; } // Text font has changed if (oldtextfont != textfont->getText()) { getApp()->reg().writeStringEntry("SETTINGS", "textfont", textfont->getText().text()); getApp()->reg().write(); restart_textfont = true; } // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Text viewer has changed if (oldtxtviewer != txtviewer->getText()) { // Update the txtviewer string FXString newtxtviewer = txtviewer->getText().text(); getApp()->reg().writeStringEntry("PROGS", "txtviewer", newtxtviewer.text()); // Update each filetype where the old txtviewer was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old txtviewer string with the new one if (value.contains(oldtxtviewer)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace only the view string, if needed if (view == oldtxtviewer) { //view=newtxtviewer; view = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Text editor has changed if (oldtxteditor != txteditor->getText()) { // Update the txteditor string FXString newtxteditor = txteditor->getText().text(); getApp()->reg().writeStringEntry("PROGS", "txteditor", newtxteditor.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old txteditor was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old txteditor string with the new one if (value.contains(oldtxteditor)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace only the open and edit strings, if needed if (open == oldtxteditor) { //open=newtxteditor; open = ""; } if (edit == oldtxteditor) { //edit=newtxteditor; edit = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // File comparator has changed if (oldfilecomparator != filecomparator->getText()) { // Update the filecomparator string FXString newfilecomparator = filecomparator->getText().text(); getApp()->reg().writeStringEntry("PROGS", "filecomparator", newfilecomparator.text()); } // Image editor has changed if (oldimgeditor != imgeditor->getText()) { // Update the imgeditor string FXString newimgeditor = imgeditor->getText().text(); getApp()->reg().writeStringEntry("PROGS", "imgeditor", newimgeditor.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old imgeditor was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old imgeditor string with the new one if (value.contains(oldimgeditor)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace only the open and edit strings, if needed if (open == oldimgeditor) { //open=newimgeditor; open = ""; } if (edit == oldimgeditor) { //edit=newimgeditor; edit = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Image viewer has changed if (oldimgviewer != imgviewer->getText()) { // Update the imgviewer string FXString newimgviewer = imgviewer->getText().text(); getApp()->reg().writeStringEntry("PROGS", "imgviewer", newimgviewer.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old imgviewer was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old imgviewer string with the new one if (value.contains(oldimgviewer)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the open and view string, if needed if (open == oldimgviewer) { //open=newimgviewer; open = ""; } if (view == oldimgviewer) { //view=newimgviewer; view = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Archiver has changed if (oldarchiver != archiver->getText()) { // Update the archiver string FXString newarchiver = archiver->getText().text(); getApp()->reg().writeStringEntry("PROGS", "archiver", newarchiver.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old archiver was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old archiver string with the new one if (value.contains(oldarchiver)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the open, view and edit strings, if needed if (open == oldarchiver) { //open=newarchiver; open = ""; } if (view == oldarchiver) { //view=newarchiver; view = ""; } if (edit == oldarchiver) { //edit=newarchiver; edit = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // PDF viewer has changed if (oldpdfviewer != pdfviewer->getText()) { // Update the PDF viewer string FXString newpdfviewer = pdfviewer->getText().text(); getApp()->reg().writeStringEntry("PROGS", "pdfviewer", newpdfviewer.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old PDF viewer was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old PDF viewer string with the new one if (value.contains(oldpdfviewer)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the open, view and edit strings, if needed if (open == oldpdfviewer) { //open=newpdfviewer; open = ""; } if (view == oldpdfviewer) { //view=newpdfviewer; view = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Audio player has changed if (oldaudioplayer != audioplayer->getText()) { // Update the audio player string FXString newaudioplayer = audioplayer->getText().text(); getApp()->reg().writeStringEntry("PROGS", "audioplayer", newaudioplayer.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old audio player was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old audio player string with the new one if (value.contains(oldaudioplayer)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the open, view and edit strings, if needed if (open == oldaudioplayer) { //open=newaudioplayer; open = ""; } if (view == oldaudioplayer) { //view=newaudioplayer; view = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Video player has changed if (oldvideoplayer != videoplayer->getText()) { // Update the video player string FXString newvideoplayer = videoplayer->getText().text(); getApp()->reg().writeStringEntry("PROGS", "videoplayer", newvideoplayer.text()); // Note: code below is for compatibility with pre 1.40 Xfe versions // To be removed in the future! // Update each filetype where the old video player was used FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old video player string with the new one if (value.contains(oldvideoplayer)) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the open, view and edit strings, if needed if (open == oldvideoplayer) { //open=newvideoplayer; open = ""; } if (view == oldvideoplayer) { //view=newvideoplayer; view = ""; } // Replace with the new value value = open + "," + view + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } } // Terminal has changed if (oldxterm != xterm->getText()) { getApp()->reg().writeStringEntry("PROGS", "xterm", xterm->getText().text()); } // Mount command has changed if (oldmountcmd != mountcmd->getText()) { getApp()->reg().writeStringEntry("PROGS", "mount", mountcmd->getText().text()); } // Unmount command has changed if (oldumountcmd != umountcmd->getText()) { getApp()->reg().writeStringEntry("PROGS", "unmount", umountcmd->getText().text()); } getApp()->reg().writeUnsignedEntry("OPTIONS", "auto_save_layout", autosave->getCheck()); getApp()->reg().writeUnsignedEntry("SETTINGS", "save_win_pos", savewinpos->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "use_trash_can", trashcan->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "use_trash_bypass", trashbypass->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "ask_before_copy", ask->getCheck()); getApp()->reg().writeUnsignedEntry("SETTINGS", "single_click", single_click); getApp()->reg().writeStringEntry("SETTINGS", "time_format", timeformat->getText().text()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_trash", trashmv->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_delete", del->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_properties", properties->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_delete_emptydir", del_emptydir->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_overwrite", overwrite->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_execute", exec->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "confirm_drag_and_drop", dnd->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "folder_warn", folder_warning->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "preserve_date_warn", preserve_date_warning->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "startdir_mode", startdirmode-ID_START_HOMEDIR); getApp()->reg().writeUnsignedEntry("OPTIONS", "root_warn", root_warning->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "root_mode", rootmode->getCheck()); #ifdef STARTUP_NOTIFICATION getApp()->reg().writeUnsignedEntry("OPTIONS", "use_startup_notification", usesn->getCheck()); #endif #if defined(linux) getApp()->reg().writeUnsignedEntry("OPTIONS", "mount_warn", mount->getCheck()); getApp()->reg().writeUnsignedEntry("OPTIONS", "mount_messages", show_mount->getCheck()); #endif // Smooth scrolling getApp()->reg().writeUnsignedEntry("SETTINGS", "smooth_scroll", scroll->getCheck()); if (scroll->getCheck() != smoothscroll_prev) { getApp()->reg().write(); restart_scroll = true; } // Control themes getApp()->reg().writeUnsignedEntry("SETTINGS", "use_clearlooks", use_clearlooks); if (use_clearlooks != use_clearlooks_prev) { FXColor hilitecolor, shadowcolor; // Change control hilite and shadow colors when the control theme has changed if (use_clearlooks) // clearlooks { hilitecolor = makeHiliteColorGradient(currTheme.color[0]); shadowcolor = makeShadowColorGradient(currTheme.color[0]); } else // standard { hilitecolor = makeHiliteColor(currTheme.color[0]); shadowcolor = makeShadowColor(currTheme.color[0]); } getApp()->reg().writeColorEntry("SETTINGS", "hilitecolor", hilitecolor); getApp()->reg().writeColorEntry("SETTINGS", "shadowcolor", shadowcolor); getApp()->reg().write(); restart_controls = true; } // Update some global options if (diropen->getCheck() && fileopen->getCheck()) { single_click = SINGLE_CLICK_DIR_FILE; } else if (diropen->getCheck() && !fileopen->getCheck()) { single_click = SINGLE_CLICK_DIR; } else { single_click = SINGLE_CLICK_NONE; } if (single_click == SINGLE_CLICK_DIR_FILE) { ((XFileExplorer*)mainWindow)->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } else { ((XFileExplorer*)mainWindow)->setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); } // Update the file tooltips flag if (filetooltips->getCheck()) { file_tooltips = true; } else { file_tooltips = false; } getApp()->reg().writeUnsignedEntry("SETTINGS", "file_tooltips", (FXuint)file_tooltips); // Update the relative resize flag if (relativeresize->getCheck()) { relative_resize = true; } else { relative_resize = false; } getApp()->reg().writeUnsignedEntry("SETTINGS", "relative_resize", (FXuint)relative_resize); // Update the display path linker flag show_pathlink = showpathlink->getCheck(); getApp()->reg().writeUnsignedEntry("SETTINGS", "show_pathlinker", show_pathlink); if (show_pathlink != show_pathlink_prev) { getApp()->reg().write(); restart_pathlink = true; } // Theme has changed if (currTheme != Themes[0]) { getApp()->reg().writeColorEntry("SETTINGS", "basecolor", currTheme.color[0]); getApp()->reg().writeColorEntry("SETTINGS", "bordercolor", currTheme.color[1]); getApp()->reg().writeColorEntry("SETTINGS", "backcolor", currTheme.color[2]); getApp()->reg().writeColorEntry("SETTINGS", "forecolor", currTheme.color[3]); getApp()->reg().writeColorEntry("SETTINGS", "selbackcolor", currTheme.color[4]); getApp()->reg().writeColorEntry("SETTINGS", "selforecolor", currTheme.color[5]); getApp()->reg().writeColorEntry("SETTINGS", "listbackcolor", currTheme.color[6]); getApp()->reg().writeColorEntry("SETTINGS", "listforecolor", currTheme.color[7]); getApp()->reg().writeColorEntry("SETTINGS", "highlightcolor", currTheme.color[8]); getApp()->reg().writeColorEntry("SETTINGS", "pbarcolor", currTheme.color[9]); getApp()->reg().writeColorEntry("SETTINGS", "attentioncolor", currTheme.color[10]); getApp()->reg().writeColorEntry("SETTINGS", "scrollbarcolor", currTheme.color[11]); // Control themes FXColor hilitecolor, shadowcolor; // Change control hilite and shadow colors when the control theme has changed if (use_clearlooks) // clearlooks { hilitecolor = makeHiliteColorGradient(currTheme.color[0]); shadowcolor = makeShadowColorGradient(currTheme.color[0]); } else // standard { hilitecolor = makeHiliteColor(currTheme.color[0]); shadowcolor = makeShadowColor(currTheme.color[0]); } getApp()->reg().writeColorEntry("SETTINGS", "hilitecolor", hilitecolor); getApp()->reg().writeColorEntry("SETTINGS", "shadowcolor", shadowcolor); getApp()->reg().write(); restart_theme = true; } // Restart application if necessary if (restart_scroll) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Scrolling mode will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } if (restart_theme) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Theme will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } if (restart_pathlink) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Path linker will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } if (restart_controls) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Button style will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } if (restart_normalfont) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Normal font will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } if (restart_textfont) { if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Text font will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } // Finally, update the registry getApp()->reg().write(); // Refresh panels mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_REFRESH), NULL); DialogBox::onCmdAccept(o, s, p); return(1); } long PreferencesBox::onCmdCancel(FXObject* o, FXSelector s, void* p) { // Reset preferences to their previous values // First tab - Options trashcan->setCheck(trashcan_prev); trashbypass->setCheck(trashbypass_prev); autosave->setCheck(autosave_prev); savewinpos->setCheck(savewinpos_prev); diropen->setCheck(diropen_prev); fileopen->setCheck(fileopen_prev); filetooltips->setCheck(filetooltips_prev); relativeresize->setCheck(relativeresize_prev); showpathlink->setCheck(show_pathlink_prev); getApp()->setWheelLines(value_prev); use_sudo = use_sudo_prev; getApp()->reg().writeUnsignedEntry("OPTIONS", "use_sudo", use_sudo); scroll->setCheck(smoothscroll_prev); rootmode->setCheck(rootmode_prev); timeformat->setText(oldtimeformat); startdirmode = oldstartdirmode; #ifdef STARTUP_NOTIFICATION usesn->setCheck(usesn_prev); #endif // Second tab - Dialogs ask->setCheck(ask_prev); dnd->setCheck(dnd_prev); trashmv->setCheck(trashmv_prev); del->setCheck(del_prev); properties->setCheck(properties_prev); del_emptydir->setCheck(del_emptydir_prev); overwrite->setCheck(overwrite_prev); exec->setCheck(exec_prev); #if defined(linux) mount->setCheck(mount_prev); show_mount->setCheck(show_mount_prev); #endif folder_warning->setCheck(folder_warning_prev); preserve_date_warning->setCheck(preserve_date_warning_prev); root_warning->setCheck(root_warning_prev); // Third tab - Programs txtviewer->setText(oldtxtviewer); txteditor->setText(oldtxteditor); filecomparator->setText(oldfilecomparator); imgeditor->setText(oldimgeditor); imgviewer->setText(oldimgviewer); archiver->setText(oldarchiver); pdfviewer->setText(oldpdfviewer); audioplayer->setText(oldaudioplayer); videoplayer->setText(oldvideoplayer); xterm->setText(oldxterm); mountcmd->setText(oldmountcmd); umountcmd->setText(oldumountcmd); // Fourth tab - Visual themesList->setCurrentItem(themelist_prev); currTheme = currTheme_prev; iconpath->setText(oldiconpath); use_clearlooks = use_clearlooks_prev; getApp()->reg().writeUnsignedEntry("SETTINGS", "use_clearlooks", use_clearlooks); // Fifth tab - Fonts normalfont->setText(oldnormalfont); textfont->setText(oldtextfont); // Finally, update the registry (really necessary?) getApp()->reg().write(); DialogBox::onCmdCancel(o, s, p); return(1); } // Execute dialog box modally FXuint PreferencesBox::execute(FXuint placement) { // Save current preferences to restore them if cancel is pressed // First tab - Options trashcan_prev = trashcan->getCheck(); trashbypass_prev = trashbypass->getCheck(); autosave_prev = autosave->getCheck(); savewinpos_prev = savewinpos->getCheck(); diropen_prev = diropen->getCheck(); fileopen_prev = fileopen->getCheck(); filetooltips_prev = filetooltips->getCheck(); relativeresize_prev = relativeresize->getCheck(); show_pathlink_prev = showpathlink->getCheck(); value_prev = getApp()->getWheelLines(); use_sudo_prev = use_sudo; smoothscroll_prev = scroll->getCheck(); rootmode_prev = rootmode->getCheck(); #ifdef STARTUP_NOTIFICATION usesn_prev = usesn->getCheck(); #endif // Second tab - Dialogs ask_prev = ask->getCheck(); dnd_prev = dnd->getCheck(); trashmv_prev = trashmv->getCheck(); del_prev = del->getCheck(); properties_prev = properties->getCheck(); del_emptydir_prev = del_emptydir->getCheck(); overwrite_prev = overwrite->getCheck(); exec_prev = exec->getCheck(); #if defined(linux) mount_prev = mount->getCheck(); show_mount_prev = show_mount->getCheck(); #endif folder_warning_prev = folder_warning->getCheck(); preserve_date_warning_prev = preserve_date_warning->getCheck(); root_warning_prev = root_warning->getCheck(); // Third tab - Programs oldtxtviewer = txtviewer->getText(); oldtxteditor = txteditor->getText(); oldfilecomparator = filecomparator->getText(); oldimgeditor = imgeditor->getText(); oldimgviewer = imgviewer->getText(); oldarchiver = archiver->getText(); oldpdfviewer = pdfviewer->getText(); oldaudioplayer = audioplayer->getText(); oldvideoplayer = videoplayer->getText(); oldxterm = xterm->getText(); oldmountcmd = mountcmd->getText(); oldumountcmd = umountcmd->getText(); // Fourth tab - Visual themelist_prev = themesList->getCurrentItem(); currTheme_prev = currTheme; oldiconpath = iconpath->getText(); use_clearlooks_prev = use_clearlooks; // Fifth tab - Fonts oldnormalfont = normalfont->getText(); oldtextfont = textfont->getText(); create(); show(placement); getApp()->refresh(); return(getApp()->runModalFor(this)); } // Update buttons related to the trash can option item long PreferencesBox::onUpdTrash(FXObject* o, FXSelector, void*) { if (trashcan->getCheck()) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update the confirm delete empty directories option item long PreferencesBox::onUpdConfirmDelEmptyDir(FXObject* o, FXSelector, void*) { if (del->getCheck()) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Set root mode long PreferencesBox::onCmdSuMode(FXObject*, FXSelector sel, void*) { if (FXSELID(sel) == ID_SU_CMD) { use_sudo = false; } else if (FXSELID(sel) == ID_SUDO_CMD) { use_sudo = true; } getApp()->reg().writeUnsignedEntry("OPTIONS", "use_sudo", use_sudo); getApp()->reg().write(); return(1); } // Update root mode radio button long PreferencesBox::onUpdSuMode(FXObject* sender, FXSelector sel, void*) { if (!rootmode->getCheck()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), NULL); } else { if (getuid()) // Simple user { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), NULL); } FXSelector updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); if (FXSELID(sel) == ID_SU_CMD) { if (use_sudo) { updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); } else { updatemessage = FXSEL(SEL_COMMAND, ID_CHECK); } } else if (FXSELID(sel) == ID_SUDO_CMD) { if (use_sudo) { updatemessage = FXSEL(SEL_COMMAND, ID_CHECK); } else { updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); } } sender->handle(this, updatemessage, NULL); } return(1); } // Set root mode long PreferencesBox::onCmdControls(FXObject*, FXSelector sel, void*) { if (FXSELID(sel) == ID_STANDARD_CONTROLS) { use_clearlooks = false; } else if (FXSELID(sel) == ID_CLEARLOOKS_CONTROLS) { use_clearlooks = true; } getApp()->reg().writeUnsignedEntry("SETTINGS", "use_clearlooks", use_clearlooks); getApp()->reg().write(); return(1); } // Update root mode radio button long PreferencesBox::onUpdControls(FXObject* sender, FXSelector sel, void*) { FXSelector updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); if (FXSELID(sel) == ID_STANDARD_CONTROLS) { if (use_clearlooks) { updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); } else { updatemessage = FXSEL(SEL_COMMAND, ID_CHECK); } } else if (FXSELID(sel) == ID_CLEARLOOKS_CONTROLS) { if (use_clearlooks) { updatemessage = FXSEL(SEL_COMMAND, ID_CHECK); } else { updatemessage = FXSEL(SEL_COMMAND, ID_UNCHECK); } } sender->handle(this, updatemessage, NULL); return(1); } // Set scroll wheel lines (Mathew Robertson ) long PreferencesBox::onCmdWheelAdjust(FXObject* sender, FXSelector, void*) { FXuint value; sender->handle(this, FXSEL(SEL_COMMAND, ID_GETINTVALUE), (void*)&value); getApp()->setWheelLines(value); getApp()->reg().write(); return(1); } // Update the wheel lines button long PreferencesBox::onUpdWheelAdjust(FXObject* sender, FXSelector, void*) { FXuint value = getApp()->getWheelLines(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&value); return(1); } // Update single click file open button long PreferencesBox::onUpdSingleClickFileopen(FXObject* o, FXSelector, void*) { if (diropen->getCheck()) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { fileopen->setCheck(false); o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Start directory mode long PreferencesBox::onCmdStartDir(FXObject*, FXSelector sel, void*) { startdirmode = FXSELID(sel); //~ getApp()->reg().writeUnsignedEntry("OPTIONS","startdir_mode",startdirmode-ID_START_HOMEDIR); //~ getApp()->reg().write(); return(1); } // Update start directory mode radio buttons long PreferencesBox::onUpdStartDir(FXObject* sender, FXSelector sel, void*) { sender->handle(this, (FXSELID(sel) == startdirmode) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), (void*)&startdirmode); return(1); } xfe-1.42/src/InputDialog.h0000644000175100017510000000205012625057514012330 00000000000000#ifndef INPUTDIALOG_H #define INPUTDIALOG_H #include "DialogBox.h" class XComApp; class InputDialog : public DialogBox { FXDECLARE(InputDialog) protected: FXTextField* input; FXHorizontalFrame* checkbutton; FXLabel* msg; private: InputDialog() : input(NULL), checkbutton(NULL), msg(NULL) {} public: InputDialog(FXWindow*, FXString, FXString, FXString, FXString label = "", FXIcon* icon = NULL, FXbool option = false, FXString = FXString::null); virtual void create(); long onCmdKeyPress(FXObject*, FXSelector, void*); FXString getText() { return(input->getText()); } void setText(const FXString& text) { input->setText(text); } void setMessage(const FXString& text) { msg->setText(text); } void selectAll() { input->setSelection(0, (input->getText()).length()); } void CursorEnd() { input->onCmdCursorEnd(0, 0, 0); } void setSelection(int pos, int len) { input->setSelection(pos, len); } }; #endif xfe-1.42/src/HistInputDialog.h0000644000175100017510000000402612746100206013154 00000000000000#ifndef HISTINPUTDIALOG_H #define HISTINPUTDIALOG_H #include "DialogBox.h" // Browse types enum { HIST_INPUT_FILE, HIST_INPUT_EXECUTABLE_FILE, HIST_INPUT_FOLDER, HIST_INPUT_MIXED }; class XComApp; class ComboBox : public FXComboBox { FXDECLARE(ComboBox) private: ComboBox() { } public: FXTextField* getTextEntry() { return(field); } void CursorEnd() { field->onCmdCursorEnd(0, 0, 0); field->setFocus(); } ComboBox(FXComposite* p, int cols, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = COMBOBOX_NORMAL); virtual void create(); }; class HistInputDialog : public DialogBox { FXDECLARE(HistInputDialog) protected: FXHorizontalFrame* buttons; FXHorizontalFrame* checkbutton; ComboBox* input; FXuint browsetype; FXString initialdir; private: HistInputDialog() : buttons(NULL), checkbutton(NULL), input(NULL), browsetype(0) {} public: enum { ID_BROWSE_PATH=DialogBox::ID_LAST, ID_LAST }; HistInputDialog(FXWindow*, FXString, FXString, FXString, FXString label = "", FXIcon* ic = NULL, FXuint browse = HIST_INPUT_FILE, FXbool option = false, FXString = FXString::null); virtual void create(); long onCmdKeyPress(FXObject*, FXSelector, void*); long onCmdBrowsePath(FXObject*, FXSelector, void*); FXString getText() { return(input->getText()); } void setText(const FXString& text) { input->setText(text); } void CursorEnd(); void selectAll(); void appendItem(char* str) { input->appendItem(str); } void clearItems() { input->clearItems(); } FXString getHistoryItem(int pos) { return(input->getItemText(pos)); } int getHistorySize() { return(input->getNumItems()); } void setDirectory(const FXString&); void sortItems() { input->setSortFunc(FXList::ascendingCase); input->sortItems(); } }; #endif xfe-1.42/src/FileList.h0000644000175100017510000004100312625057514011625 00000000000000#ifndef FILELIST_H #define FILELIST_H #include "StringList.h" #include "IconList.h" struct FileAssoc; class FileDict; class FileList; // File List options (prefixed by underscore to avoid conflict with the FOX library) enum { _FILELIST_SHOWHIDDEN = 0x04000000, // Show hidden files or directories _FILELIST_SHOWDIRS = 0x08000000, // Show only directories _FILELIST_SEARCH = 0x10000000, // File list is a search list (must be the same value as in IconList) }; // File item class FXAPI FileItem : public IconItem { FXDECLARE(FileItem) friend class FileList; friend class SearchPanel; protected: FileAssoc* assoc; // File association record FileItem* link; // Link to next item FXulong size; // File size FXTime date; // File date (mtime) FXTime cdate; // Changed date (ctime) FXTime deldate; // Deletion date protected: FileItem() : assoc(NULL), link(NULL), size(0), date(0), cdate(0), deldate(0) {} protected: enum { FOLDER = 64, // Directory item EXECUTABLE = 128, // Executable item SYMLINK = 256, // Symbolic linked item CHARDEV = 512, // Character special item BLOCKDEV = 1024, // Block special item FIFO = 2048, // FIFO item SOCK = 4096 // Socket item }; public: // Constructor FileItem(const FXString& text, FXIcon* bi = NULL, FXIcon* mi = NULL, void* ptr = NULL) : IconItem(text, bi, mi, ptr), assoc(NULL), link(NULL), size(0), date(0), cdate(0), deldate(0) {} // Return true if this is a file item FXbool isFile() const { return((state&(FOLDER|BLOCKDEV|CHARDEV|FIFO|SOCK)) == 0); } // Return true if this is a directory item FXbool isDirectory() const { return((state&FOLDER) != 0); } // Return true if this is an executable item FXbool isExecutable() const { return((state&EXECUTABLE) != 0); } // Return true if this is a symbolic link item FXbool isSymlink() const { return((state&SYMLINK) != 0); } // Return true if this is a character device item FXbool isChardev() const { return((state&CHARDEV) != 0); } // Return true if this is a block device item FXbool isBlockdev() const { return((state&BLOCKDEV) != 0); } // Return true if this is an FIFO item FXbool isFifo() const { return((state&FIFO) != 0); } // Return true if this is a socket FXbool isSocket() const { return((state&SOCK) != 0); } // Return the file-association object for this item FileAssoc* getAssoc() const { return(assoc); } // Return the file size for this item FXulong getSize() const { return(size); } // Return the date for this item FXTime getDate() const { return(date); } }; // File List object class FXAPI FileList : public IconList { FXDECLARE(FileList) protected: FileItem* list; // File item list int prevIndex; FXString directory; // Current directory FXString orgdirectory; // Original directory FXString dropdirectory; // Drop directory FXDragAction dropaction; // Drop action FXString dragfiles; // Dragged files FileDict* associations; // Association table FXString pattern; // Pattern of file names FXuint matchmode; // File wildcard match mode FXTime timestamp; // Time when last refreshed FXuint counter; // Refresh counter FXbool allowrefresh; // Allow or disallow periodic refresh FXbool displaythumbnails; // Display thumbnails FXString trashfileslocation; // Location of the trash files directory FXString trashinfolocation; // Location of the trash info directory FXbool dirsfirst; // Sort directories first int deldatesize; int origpathsize; FXWindow* focuswindow; // Window used to test focus public: StringList* backhist; // Back history StringList* forwardhist; // Forward history protected: FileList() : list(NULL), prevIndex(0), dropaction(DRAG_MOVE), associations(NULL), matchmode(0), timestamp(0), counter(0), allowrefresh(false), displaythumbnails(false), dirsfirst(false), deldatesize(0), origpathsize(0), focuswindow(NULL), backhist(NULL), forwardhist(NULL) {} virtual IconItem* createItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr); FXbool updateItems(FXbool); void listItems(FXbool); private: FileList(const FileList&); FileList& operator=(const FileList&); public: long onCmdRefresh(FXObject*, FXSelector, void*); long onCmdRefreshTimer(FXObject*, FXSelector, void*); long onOpenTimer(FXObject*, FXSelector, void*); long onDNDEnter(FXObject*, FXSelector, void*); long onDNDLeave(FXObject*, FXSelector, void*); long onDNDMotion(FXObject*, FXSelector, void*); long onDNDDrop(FXObject*, FXSelector, void*); long onDNDRequest(FXObject*, FXSelector, void*); long onBeginDrag(FXObject*, FXSelector, void*); long onEndDrag(FXObject*, FXSelector, void*); long onDragged(FXObject*, FXSelector, void*); long onCmdDirectoryUp(FXObject*, FXSelector, void*); long onUpdDirectoryUp(FXObject*, FXSelector, void*); long onCmdSortByName(FXObject*, FXSelector, void*); long onCmdSortByDirName(FXObject*, FXSelector, void*); long onUpdSortByName(FXObject*, FXSelector, void*); long onUpdSortByDirName(FXObject*, FXSelector, void*); long onCmdSortByType(FXObject*, FXSelector, void*); long onUpdSortByType(FXObject*, FXSelector, void*); long onCmdSortBySize(FXObject*, FXSelector, void*); long onUpdSortBySize(FXObject*, FXSelector, void*); long onCmdSortByExt(FXObject*, FXSelector, void*); long onUpdSortByExt(FXObject*, FXSelector, void*); long onCmdSortByTime(FXObject*, FXSelector, void*); long onUpdSortByTime(FXObject*, FXSelector, void*); long onCmdSortByUser(FXObject*, FXSelector, void*); long onUpdSortByUser(FXObject*, FXSelector, void*); long onCmdSortByGroup(FXObject*, FXSelector, void*); long onUpdSortByGroup(FXObject*, FXSelector, void*); long onCmdSortByPerm(FXObject*, FXSelector, void*); long onUpdSortByPerm(FXObject*, FXSelector, void*); long onCmdSortByDeltime(FXObject*, FXSelector, void*); long onUpdSortByDeltime(FXObject*, FXSelector, void*); long onCmdSortByOrigpath(FXObject*, FXSelector, void*); long onUpdSortByOrigpath(FXObject*, FXSelector, void*); long onCmdSortReverse(FXObject*, FXSelector, void*); long onUpdSortReverse(FXObject*, FXSelector, void*); long onCmdSortCase(FXObject*, FXSelector, void*); long onUpdSortCase(FXObject*, FXSelector, void*); long onCmdSetPattern(FXObject*, FXSelector, void*); long onUpdSetPattern(FXObject*, FXSelector, void*); long onCmdToggleHidden(FXObject*, FXSelector, void*); long onUpdToggleHidden(FXObject*, FXSelector, void*); long onCmdShowHidden(FXObject*, FXSelector, void*); long onUpdShowHidden(FXObject*, FXSelector, void*); long onCmdHideHidden(FXObject*, FXSelector, void*); long onUpdHideHidden(FXObject*, FXSelector, void*); long onCmdHeader(FXObject*, FXSelector, void*); long onUpdHeader(FXObject*, FXSelector, void*); long onCmdToggleThumbnails(FXObject*, FXSelector, void*); long onUpdToggleThumbnails(FXObject* sender, FXSelector, void*); long onCmdDirsFirst(FXObject*, FXSelector, void*); long onUpdDirsFirst(FXObject*, FXSelector, void*); long onCmdDragCopy(FXObject* sender, FXSelector, void*); long onCmdDragMove(FXObject* sender, FXSelector, void*); long onCmdDragLink(FXObject* sender, FXSelector, void*); long onCmdDragReject(FXObject* sender, FXSelector, void*); long onUpdRefreshTimer(FXObject* sender, FXSelector, void*); public: static int compare(const IconItem*, const IconItem*, FXbool, FXbool, FXbool, FXuint); static int ascending(const IconItem*, const IconItem*); static int descending(const IconItem*, const IconItem*); static int ascendingCase(const IconItem*, const IconItem*); static int descendingCase(const IconItem*, const IconItem*); static int ascendingDir(const IconItem*, const IconItem*); static int descendingDir(const IconItem*, const IconItem*); static int ascendingDirCase(const IconItem*, const IconItem*); static int descendingDirCase(const IconItem*, const IconItem*); static int ascendingType(const IconItem*, const IconItem*); static int descendingType(const IconItem*, const IconItem*); static int ascendingSize(const IconItem*, const IconItem*); static int descendingSize(const IconItem*, const IconItem*); static int ascendingExt(const IconItem*, const IconItem*); static int descendingExt(const IconItem*, const IconItem*); static int ascendingTime(const IconItem*, const IconItem*); static int descendingTime(const IconItem*, const IconItem*); static int ascendingUser(const IconItem*, const IconItem*); static int descendingUser(const IconItem*, const IconItem*); static int ascendingGroup(const IconItem*, const IconItem*); static int descendingGroup(const IconItem*, const IconItem*); static int ascendingPerm(const IconItem*, const IconItem*); static int descendingPerm(const IconItem*, const IconItem*); static int ascendingDeltime(const IconItem*, const IconItem*); static int descendingDeltime(const IconItem*, const IconItem*); static int ascendingOrigpath(const IconItem*, const IconItem*); static int descendingOrigpath(const IconItem*, const IconItem*); static int ascendingMix(const IconItem*, const IconItem*); static int descendingMix(const IconItem*, const IconItem*); static int ascendingCaseMix(const IconItem*, const IconItem*); static int descendingCaseMix(const IconItem*, const IconItem*); static int ascendingDirMix(const IconItem*, const IconItem*); static int descendingDirMix(const IconItem*, const IconItem*); static int ascendingDirCaseMix(const IconItem*, const IconItem*); static int descendingDirCaseMix(const IconItem*, const IconItem*); static int ascendingTypeMix(const IconItem*, const IconItem*); static int descendingTypeMix(const IconItem*, const IconItem*); static int ascendingSizeMix(const IconItem*, const IconItem*); static int descendingSizeMix(const IconItem*, const IconItem*); static int ascendingExtMix(const IconItem*, const IconItem*); static int descendingExtMix(const IconItem*, const IconItem*); static int ascendingTimeMix(const IconItem*, const IconItem*); static int descendingTimeMix(const IconItem*, const IconItem*); static int ascendingUserMix(const IconItem*, const IconItem*); static int descendingUserMix(const IconItem*, const IconItem*); static int ascendingGroupMix(const IconItem*, const IconItem*); static int descendingGroupMix(const IconItem*, const IconItem*); static int ascendingPermMix(const IconItem*, const IconItem*); static int descendingPermMix(const IconItem*, const IconItem*); static int ascendingDeltimeMix(const IconItem*, const IconItem*); static int descendingDeltimeMix(const IconItem*, const IconItem*); static int ascendingOrigpathMix(const IconItem*, const IconItem*); static int descendingOrigpathMix(const IconItem*, const IconItem*); public: enum { // Note : the order of the 10 following sort IDs must be kept ID_SORT_BY_NAME=IconList::ID_LAST, ID_SORT_BY_SIZE, ID_SORT_BY_TYPE, ID_SORT_BY_EXT, ID_SORT_BY_TIME, ID_SORT_BY_USER, ID_SORT_BY_GROUP, ID_SORT_BY_PERM, ID_SORT_BY_ORIGPATH, ID_SORT_BY_DELTIME, ID_SORT_BY_DIRNAME, ID_SORT_REVERSE, ID_SORT_CASE, ID_DIRS_FIRST, ID_DIRECTORY_UP, ID_SET_PATTERN, ID_SET_DIRECTORY, ID_SHOW_HIDDEN, ID_HIDE_HIDDEN, ID_TOGGLE_HIDDEN, ID_TOGGLE_THUMBNAILS, ID_REFRESH_TIMER, ID_REFRESH, ID_OPEN_TIMER, ID_DRAG_COPY, ID_DRAG_MOVE, ID_DRAG_LINK, ID_DRAG_REJECT, ID_LAST }; public: // Construct a file list FileList(FXWindow* focuswin, FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXbool showthumbs = false, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Create server-side resources virtual void create(); // Scan the current directory and update the items if needed, or if force is true void scan(FXbool force = true); // Set current file void setCurrentFile(const FXString& file); // Return current file FXString getCurrentFile() const; // Set current directory void setDirectory(const FXString& path, const FXbool histupdate = true, FXString prevpath = ""); // Return current directory FXString getDirectory() const { return(directory); } // Change wildcard matching pattern void setPattern(const FXString& ptrn); // Return wildcard pattern FXString getPattern() const { return(pattern); } // Return true if item is a directory FXbool isItemDirectory(int index) const; // Return true if item is a file FXbool isItemFile(int index) const; // Return true if item is executable FXbool isItemExecutable(int index) const; // Return true if item is a symbolic link FXbool isItemLink(int index) const; // Get number of selected items int getNumSelectedItems(void) const { int num = 0; for (int u = 0; u < getNumItems(); u++) { if (isItemSelected(u)) { num++; } } return(num); } // Get number of selected items and index of first selected item int getNumSelectedItems(int* index) const { int num = 0, itm = -1; for (int u = 0; u < getNumItems(); u++) { if (isItemSelected(u)) { if (itm == -1) { itm = u; } num++; } } (*index) = itm; return(num); } // Return name of item at index FXString getItemFilename(int index) const; // Get pathname from item at index, relatively to the current directory FXString getItemPathname(int index) const; // Get full pathname from item at index, as obtained from the label string FXString getItemFullPathname(int index) const; // Return file association of item FileAssoc* getItemAssoc(int index) const; // Return file size of the item FXulong getItemFileSize(int index) const; // Return wildcard matching mode FXuint getMatchMode() const { return(matchmode); } // Return directory first state for file name sorting FXbool getDirsFirst() const { return(dirsfirst); } // Set directory first state for file name sorting void setDirsFirst(const FXbool dfirst) { dirsfirst = dfirst; } int getHeaderSize(int index) const; void setHeaderSize(int index, int size); // Allow or disallow periodic refresh void setAllowRefresh(const FXbool allow); // Change wildcard matching mode void setMatchMode(FXuint mode); // Return true if showing hidden files FXbool shownHiddenFiles() const; // Show or hide hidden files void showHiddenFiles(FXbool showing); // Return true if displaying thumbnails FXbool shownThumbnails() const; // Display or not thumbnails void showThumbnails(FXbool display); // Return true if showing directories only FXbool showOnlyDirectories() const; // Show directories only void showOnlyDirectories(FXbool shown); // Change file associations void setAssociations(FileDict* assoc); // Return file associations FileDict* getAssociations() const { return(associations); } #if defined(linux) // Force mtdevices list refresh void refreshMtdevices(void); #endif // Destructor virtual ~FileList(); }; #endif xfe-1.42/src/MessageBox.h0000644000175100017510000001035712625057514012157 00000000000000#ifndef MESSAGEBOX_H #define MESSAGEBOX_H #include "DialogBox.h" // Message box buttons enum { BOX_OK = 0x10000000, // Message box has a only an OK button BOX_OK_CANCEL = 0x20000000, // Message box has OK and CANCEL buttons BOX_YES_NO = 0x30000000, // Message box has YES and NO buttons BOX_YES_NO_CANCEL = 0x40000000, // Message box has YES, NO, and CANCEL buttons BOX_QUIT_CANCEL = 0x50000000, // Message box has QUIT and CANCEL buttons BOX_QUIT_SAVE_CANCEL = 0x60000000, // Message box has QUIT, SAVE, and CANCEL buttons BOX_YES_NO_ALL_CANCEL = 0x70000000, // Message box has YES, NO, ALL and CANCEL buttons BOX_OK_SU = 0x80000000 // Message box has OK and SU buttons }; enum { BOX_CLICKED_YES = 1, // The YES button was clicked BOX_CLICKED_NO = 2, // The NO button was clicked BOX_CLICKED_OK = 3, // The OK button was clicked BOX_CLICKED_CANCEL = 4, // The CANCEL button was clicked BOX_CLICKED_QUIT = 5, // The QUIT button was clicked BOX_CLICKED_SAVE = 6, // The SAVE button was clicked BOX_CLICKED_ALL = 7, // The ALL button was clicked BOX_CLICKED_SU = 8 // The SU button was clicked }; // Message box class FXAPI MessageBox : public DialogBox { FXDECLARE(MessageBox) private: MessageBox(const MessageBox&); MessageBox& operator=(const MessageBox&); void initialize(const FXString &, FXIcon*, FXuint, FXuint); FXLabel* msg; protected: MessageBox() : msg(NULL) {} public: long onCmdClicked(FXObject*, FXSelector, void*); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdSu(FXObject*, FXSelector sel, void*); public: enum { ID_CLICKED_YES=DialogBox::ID_LAST, ID_CLICKED_NO, ID_CLICKED_OK, ID_CLICKED_CANCEL, ID_CLICKED_QUIT, ID_CLICKED_SAVE, ID_CLICKED_ALL, ID_CLICKED_SU, ID_LAST }; public: // Construct message box with given caption, icon, and message text MessageBox(FXWindow* owner, const FXString& caption, const FXString& text, FXIcon* ic = NULL, FXuint opts = 0, FXuint textopts = JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, int x = 0, int y = 0); // Construct free floating message box with given caption, icon, and message text MessageBox(FXApp* a, const FXString& caption, const FXString& text, FXIcon* ic = NULL, FXuint opts = 0, FXuint textopts = JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, int x = 0, int y = 0); // Show a modal error message. // The text message may contain printf-tyle formatting commands. static FXuint error(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); static FXuint error(FXApp* app, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); // Show a modal warning message // The text message may contain printf-tyle formatting commands. static FXuint warning(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); static FXuint warning(FXApp* app, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); // Show a modal question dialog // The text message may contain printf-tyle formatting commands. static FXuint question(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); static FXuint question(FXApp* app, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); // Show a modal information dialog // The text message may contain printf-tyle formatting commands. static FXuint information(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); static FXuint information(FXApp* app, FXuint opts, const char* caption, const char* message, ...) FX_PRINTF(4, 5); // Get message text FXString getText(void) { return(msg->getText()); } // Set message text void setText(FXString); }; #endif xfe-1.42/src/TextWindow.h0000644000175100017510000000124312625057514012230 00000000000000#ifndef TEXTWINDOW_H #define TEXTWINDOW_H #include "DialogBox.h" class TextWindow : public DialogBox { FXDECLARE(TextWindow) protected: FXText* text; private: TextWindow() : text(NULL) {} TextWindow(const TextWindow&); public: enum { ID_CLOSE=DialogBox::ID_LAST, ID_LAST }; public: TextWindow(FXWindow* owner, const FXString& name, int nblines, int nbcols); TextWindow(FXApp* app, const FXString& name, int nblines, int nbcols); virtual ~TextWindow(); void setText(const char*); void appendText(const char*); void scrollToLastLine(void); void setFont(FXFont*); int getLength(void); }; #endif xfe-1.42/src/XFileImage.h0000644000175100017510000001641112625057514012071 00000000000000#ifndef XFILEIMAGE_H #define XFILEIMAGE_H #include "InputDialog.h" #include "PathLinker.h" class XFileImage : public FXMainWindow { FXDECLARE(XFileImage) protected: FXbool hiddenfiles; // Show or hide hidden files FXbool thumbnails; // Show or hide image thumbnails FXuint fileview; // File list view FXuint liststyle; // Icon list style FXImageView* imageview; // Image viewer FXRecentFiles mrufiles; // Recent files FXString filename; // File being viewed FXMenuBar* menubar; // Menu bar FXToolBar* toolbar; // Tool bar FXToolBarShell* dragshell1; // Shell for floating menubar FXHorizontalFrame* statusbar; // Status bar FXbool filelistbefore; FXbool vertpanels; FXSplitter* splitter; // Splitter FXVerticalFrame* filebox; // Box containing directories/files FileList* filelist; // File List FXLabel* label; // Directory path FXMenuPane* filemenu; // File menu FXMenuPane* viewmenu; // View menu FXMenuPane* helpmenu; // Help menu FXMenuPane* imagemenu; // Image menu FXMenuPane* prefsmenu; // Preferences menu FXTextField* filter; // Filter for tree list FXImage* img; // Image loaded FXImage* tmpimg; // Temporary image FXColor* tmpdata; // Temporary image data int indZoom; // Zoom index double zoomval; // Actual zoom factor FXbool fitwin; // Fit window when opening an image FXbool filterimgs; // List only image files in file list InputDialog* printdialog; FXbool smoothscroll; double filewidth_pct; double fileheight_pct; FXArrowButton* btnbackhist; // Back history FXArrowButton* btnforwardhist; // Forward history PathLinker* pathlink; TextLabel* pathtext; int prev_width; int prev_height; protected: XFileImage() : hiddenfiles(false), thumbnails(false), fileview(0), liststyle(0), imageview(NULL), menubar(NULL), toolbar(NULL), dragshell1(NULL), statusbar(NULL), filelistbefore(false), vertpanels(false), splitter(NULL), filebox(NULL), filelist(NULL), label(NULL), filemenu(NULL), viewmenu(NULL), helpmenu(NULL), imagemenu(NULL), prefsmenu(NULL), filter(NULL), img(NULL), tmpimg(NULL), tmpdata(NULL), indZoom(0), zoomval(0.0), fitwin(false), filterimgs(false), printdialog(NULL), smoothscroll(false), filewidth_pct(0.0), fileheight_pct(0.0), btnbackhist(NULL), btnforwardhist(NULL), pathlink(NULL), pathtext(NULL), prev_width(0), prev_height(0) {} public: long onCmdAbout(FXObject*, FXSelector, void*); long onCmdOpen(FXObject*, FXSelector, void*); long onCmdPrint(FXObject*, FXSelector, void*); long onCmdShowMini(FXObject*, FXSelector, void*); long onCmdShowBig(FXObject*, FXSelector, void*); long onCmdShowDetails(FXObject*, FXSelector, void*); long onCmdShowRows(FXObject*, FXSelector, void*); long onCmdShowCols(FXObject*, FXSelector, void*); long onCmdAutosize(FXObject*, FXSelector, void*); long onCmdSave(FXObject*, FXSelector, void*); long onSigHarvest(FXObject*, FXSelector, void*); long onCmdQuit(FXObject*, FXSelector, void*); long onCmdRestart(FXObject*, FXSelector, void*); long onUpdTitle(FXObject*, FXSelector, void*); long onCmdRecentFile(FXObject*, FXSelector, void*); long onCmdRotate(FXObject*, FXSelector, void*); long onCmdMirror(FXObject*, FXSelector, void*); long onCmdZoomIn(FXObject*, FXSelector, void*); long onCmdZoomOut(FXObject*, FXSelector, void*); long onCmdZoom100(FXObject*, FXSelector, void*); long onCmdZoomWin(FXObject*, FXSelector, void*); long onUpdImage(FXObject*, FXSelector, void*); long onUpdFileView(FXObject*, FXSelector, void*); long onUpdIconView(FXObject*, FXSelector, void*); long onCmdToggleHidden(FXObject*, FXSelector, void*); long onUpdToggleHidden(FXObject*, FXSelector, void*); long onCmdToggleThumbnails(FXObject*, FXSelector, void*); long onUpdToggleThumbnails(FXObject*, FXSelector, void*); long onCmdItemDoubleClicked(FXObject*, FXSelector, void*); long onCmdItemClicked(FXObject*, FXSelector, void*); long onCmdToggleFitWin(FXObject*, FXSelector, void*); long onUpdToggleFitWin(FXObject*, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onCmdHome(FXObject*, FXSelector, void*); long onCmdWork(FXObject*, FXSelector, void*); long onCmdDirUp(FXObject*, FXSelector, void*); long onUpdDirUp(FXObject*, FXSelector, void*); long onCmdDirBack(FXObject*, FXSelector, void*); long onUpdDirBack(FXObject*, FXSelector, void*); long onCmdDirForward(FXObject*, FXSelector, void*); long onUpdDirForward(FXObject*, FXSelector, void*); long onCmdDirBackHist(FXObject*, FXSelector, void*); long onUpdDirBackHist(FXObject*, FXSelector, void*); long onCmdDirForwardHist(FXObject*, FXSelector, void*); long onUpdDirForwardHist(FXObject*, FXSelector, void*); long onCmdToggleFilterImages(FXObject*, FXSelector, void*); long onUpdToggleFilterImages(FXObject*, FXSelector, void*); long onCmdHorzVertPanels(FXObject*, FXSelector, void*); long onUpdHorzVertPanels(FXObject*, FXSelector, void*); long onCmdToggleFileListBefore(FXObject*, FXSelector, void*); long onUpdToggleFileListBefore(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); public: enum { ID_ABOUT=FXMainWindow::ID_LAST, ID_OPEN, ID_POPUP_MENU, ID_TOGGLE_HIDDEN, ID_TOGGLE_THUMBNAILS, ID_SHOW_MINI_ICONS, ID_SHOW_BIG_ICONS, ID_SHOW_DETAILS, ID_COLS, ID_ROWS, ID_AUTO, ID_TITLE, ID_PRINT, ID_HARVEST, ID_QUIT, ID_RESTART, ID_FILELIST, ID_RECENTFILE, ID_ROTATE_90, ID_ROTATE_270, ID_MIRROR_HOR, ID_MIRROR_VER, ID_SCALE, ID_ZOOM_IN, ID_ZOOM_OUT, ID_ZOOM_100, ID_ZOOM_WIN, ID_TOGGLE_FIT_WIN, ID_TOGGLE_FILTER_IMAGES, ID_GO_HOME, ID_GO_WORK, ID_DIR_UP, ID_DIR_BACK, ID_DIR_FORWARD, ID_DIR_BACK_HIST, ID_DIR_FORWARD_HIST, ID_HORZ_PANELS, ID_VERT_PANELS, ID_TOGGLE_FILELIST_BEFORE, ID_LAST }; public: XFileImage(FXApp*, FXbool); virtual void create(); FXbool loadimage(const FXString&); void saveConfig(); void start(FXString); virtual ~XFileImage(); void setSmoothScroll(FXbool smooth) { smoothscroll = smooth; } }; #endif xfe-1.42/src/StringList.h0000644000175100017510000000320112625057514012212 00000000000000#ifndef STRINGLIST_H #define STRINGLIST_H // StringList class : implements a doubly linked list of FXString class StringItem { friend class StringList; protected: FXString str; // FXString stored in the item StringItem* next; // Pointer to next item StringItem* prev; // Pointer to previous item }; class StringList { public: StringItem* first; // Pointer to begin of list StringItem* last; // Pointer to end of list StringList() { first = NULL; last = NULL; } // Get first item StringItem* getFirst(void) { return(this->first); } // Get last item StringItem* getLast(void) { return(this->last); } // Get previous item StringItem* getPrev(StringItem* item) { return(item->prev); } // Get next item StringItem* getNext(StringItem* item) { return(item->next); } // Get string from item FXString getString(StringItem* item) { return(item->str); } void insertFirstItem(FXString); void insertLastItem(FXString); void removeFirstItem(); void removeLastItem(); void insertBeforeItem(FXString, StringItem*); void insertAfterItem(FXString, StringItem*); void removeBeforeItem(StringItem*); void removeAfterItem(StringItem*); void removeItem(StringItem*); int getNumItems(void); void removeAllItemsBefore(StringItem*); void removeAllItemsAfter(StringItem*); void removeAllItems(void); StringItem* getItemAtPos(const int); void printFromFirst(); void printFromLast(); }; #endif xfe-1.42/src/help.h0000644000175100017510000004254612626311407011052 00000000000000#ifndef HELP_H #define HELP_H #include "config.h" #include "i18n.h" #define HELP_TEXT _("\n \ \n \ \n \ XFE, X File Explorer File Manager\n \ \n \ \n \ \n \ \n \ \n \ \n \ [This help file is best viewed using a fixed text font. You can set it by using the font tab of the Preferences dialog.]\n \ \n \ \n \ \n \ This program is free software; you can redistribute it and/or modify it under the terms of the GNU\n \ General Public License as published by the Free Software Foundation; either version 2, or (at your option)\n \ any later version.\n \ \n \ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; \n \ without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. \n \ See the GNU General Public License for more details.\n \ \n \ \n \ \n \ Description\n \ =-=-=-=-=-=\n \ \n \ X File Explorer (Xfe) is a lightweight file manager for X11, written using the FOX toolkit.\n \ It is desktop independent and can easily be customized.\n \ It has Commander or Explorer styles and it is very fast and small.\n \ Xfe is based on the popular, but discontinued X Win Commander, originally written by Maxim Baranov.\n \ \n \ \n \ \n \ Features\n \ =-=-=-=-=\n \ \n \ - Very fast graphic user interface\n \ - UTF-8 support\n \ - Commander/Explorer interface with four file manager modes : a) one panel, b) a folder tree\n \ and one panel, c) two panels and d) a folder tree and two panels\n \ - Horizontal or vertical file panels stacking\n \ - Panels synchronization and switching\n \ - Integrated text editor and viewer (X File Write, Xfw)\n \ - Integrated image viewer (X File Image, Xfi)\n \ - Integrated package (rpm or deb) viewer / installer / uninstaller (X File Package, Xfp)\n \ - Custom shell scripts (like Nautilus scripts)\n \ - Search files and directories\n \ - Natural sort order (foo10.txt comes after foo2.txt...)\n \ - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/XFCE/ROX)\n \ - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/ROX)\n \ - Disk usage command \n \ - Root mode with authentication by su or sudo\n \ - Status line\n \ - File associations\n \ - Optional trash can for file delete operations (compliant with freedesktop.org standards)\n \ - Auto save registry\n \ - Double click or single click file and folder navigation\n \ - Mouse right click pop-up menu in tree list and file list\n \ - Change file attributes\n \ - Mount/Unmount devices (Linux only)\n \ - Warn when mount point are not responding (Linux only)\n \ - Toolbars\n \ - Bookmarks\n \ - Back and forward history lists for folder navigation\n \ - Color themes (GNOME, KDE, Windows...)\n \ - Icon themes (Xfe, GNOME, KDE, Tango, Windows...)\n \ - Control themes (Standard or Clearlooks like)\n \ - Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats are supported)\n \ - File comparison (through external tool)\n \ - Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, arj and 7zip formats are supported)\n \ - Tooltips with file properties\n \ - Progress bars or dialogs for lengthy file operations\n \ - Thumbnails image previews\n \ - Configurable key bindings\n \ - Startup notification (optional)\n \ - and much more...\n \ \n \ \n \ \n \ Default Key bindings\n \ =-=-=-=-=-=-=-=-=-=-=\n \ \n \ Below are the global default key bindings. These key bindings are common to all X File applications.\n \ \n \ * Select all - Ctrl-A\n \ * Copy to clipboard - Ctrl-C\n \ * Search - Ctrl-F\n \ * Search previous - Ctrl-Shift-G\n \ * Search next - Ctrl-G\n \ * Go to home folder - Ctrl-H\n \ * Invert selection - Ctrl-I\n \ * Open file - Ctrl-O\n \ * Print file - Ctrl-P\n \ * Quit application - Ctrl-Q\n \ * Paste from clipboard - Ctrl-V\n \ * Close window - Ctrl-W\n \ * Cut to clipboard - Ctrl-X\n \ * Deselect all - Ctrl-Z\n \ * Display help - F1\n \ * Create new file - Ctrl-N\n \ * Create new folder - F7\n \ * Big icon list - F10\n \ * Small icon list - F11\n \ * Detailed file list - F12\n \ * Toggle display hidden files - Ctrl-F6\n \ * Toggle display thumbnails - Ctrl-F7\n \ * Vertical panels - Ctrl-Shift-F1\n \ * Horizontal panels - Ctrl-Shift-F2\n \ * Go to working folder - Shift-F2\n \ * Go to parent folder - Backspace\n \ * Go to previous folder - Ctrl-Backspace\n \ * Go to next folder - Shift-Backspace\n \ \n \ \n \ Below are the default X File Explorer key bindings. These key bindings are specific to the Xfe application.\n \ \n \ * Add bookmark - Ctrl-B\n \ * Filter files - Ctrl-D\n \ * Execute command - Ctrl-E\n \ * Create new symbolic link - Ctrl-J\n \ * Switch panels - Ctrl-K\n \ * Clear location bar - Ctrl-L\n \ * Mount file system (Linux only) - Ctrl-M\n \ * Rename file - F2\n \ * Refresh panels - Ctrl-R\n \ * Symlink files to location - Ctrl-S\n \ * Launch terminal - Ctrl-T\n \ * Unmount file system (Linux only) - Ctrl-U\n \ * Synchronize panels - Ctrl-Y\n \ * Create new window - F3\n \ * Edit - F4\n \ * Copy files to location - F5\n \ * Move files to location - F6\n \ * File properties - F9\n \ * One panel mode - Ctrl-F1\n \ * Tree and panel mode - Ctrl-F2\n \ * Two panels mode - Ctrl-F3\n \ * Tree and two panels mode - Ctrl-F4\n \ * Toggle display hidden folders - Ctrl-F5\n \ * Go to trash can - Ctrl-F8\n \ * Create new root window - Shift-F3\n \ * View - Shift-F4\n \ * Move files to trash can - Del\n \ * Restore files from trash can - Alt-Del\n \ * Delete files - Shift-Del\n \ * Empty trash can - Ctrl-Del\n \ \n \ \n \ Below are the default X File Image key bindings. These key bindings are specific to the Xfi application.\n \ \n \ * Zoom to fit window - Ctrl-F\n \ * Mirror image horizontally - Ctrl-H\n \ * Zoom image to 100% - Ctrl-I\n \ * Rotate image to left - Ctrl-L\n \ * Rotate image to right - Ctrl-R\n \ * Mirror image vertically - Ctrl-V\n \ \n \ \n \ Below are the default X File Write key bindings. These key bindings are specific to the Xfw application.\n \ \n \ * Toggle word wrap mode - Ctrl-K\n \ * Goto line - Ctrl-L\n \ * Create new document - Ctrl-N\n \ * Replace string - Ctrl-R\n \ * Save changes to file - Ctrl-S\n \ * Toggle line numbers mode - Ctrl-T\n \ * Toggle upper case mode - Ctrl-Shift-U\n \ * Toggle lower case mode - Ctrl-U\n \ * Redo last change - Ctrl-Y\n \ * Undo last change - Ctrl-Z\n \ \n \ \n \ X File Package (Xfp) only use some of the global key bindings.\n \ \n \ Note that all the default key bindings listed above can be customized in the Xfe Preferences dialog. However,\n \ some key actions are hardcoded an cannot be changed. These include:\n \ \n \ * Ctrl-+ and Ctrl-- - zoom in and zoom out image in Xfi\n \ * Shift-F10 - display context menus in Xfe\n \ * Space - select an item in file list\n \ * Return - enter folders in file lists, open files, select button actions, etc.\n \ * Esc - close current dialog, unselect files, etc.\n \ \n \ \n \ \n \ Drag and Drop operations\n \ =-=-=-=-=-=-=-=-=-=-=-=-=\n \ \n \ Dragging a file or group or files (by moving the mouse while maintaining the left button pressed)\n \ to a folder or a file panel optionally opens a dialog that allows one to select the file operation: copy,\n \ move, link or cancel.\n \ \n \ \n \ \n \ Trash system\n \ =-=-=-=-=-=-=\n \ \n \ Starting with version 1.32, Xfe implements a trash system that is fully compliant with the freedesktop.org standards.\n \ This allows the user to move files to the trash can and to restore files from within Xfe or your favorite\n \ desktop.\n \ Note that the trash files location is now: ~/.local/share/Trash/files\n \ \n \ \n \ \n \ Configuration\n \ =-=-=-=-=-=-=\n \ \n \ You can perform any Xfe customization (layout, file associations, key bindings, etc.) without editing any file\n \ by hand. However, you may want to understand the configuration principles, because some customizations can also\n \ easily be done by manually editing the configurations files.\n \ Be careful to quit Xfe before manually editing any configuration file, otherwise changes could not be taken\n \ into account.\n \ \n \ The system-wide configuration file xferc is located in /usr/share/xfe, /usr/local/share/xfe\n \ or /opt/local/share/xfe, in the given order of precedence.\n \ \n \ Starting with version 1.32, the location of the local configuration files has changed. This is to be compliant\n \ with the freedesktop.org standards.\n \ \n \ The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in the ~/.config/xfe folder.\n \ They are named xferc, xfwrc, xfirc and xfprc.\n \ \n \ At the very first Xfe run, the system-wide configuration file is copied into the local configuration file\n \ ~/.config/xfe/xferc which does not exists yet. If the system-wide configuration file is not found\n \ (in case of an unusal install place), a dialog asks the user to select the right place. It is thus easier to\n \ customize Xfe (this is particularly true for the file associations) by hand editing because all the local options are\n \ located in the same file.\n \ \n \ Default PNG icons are located in /usr/share/xfe/icons/xfe-theme or /usr/local/share/xfe/icons/xfe-theme, depending\n \ on your installation. You can easily change the icon theme path in Preferences dialog.\n \ \n \ \n \ \n \ Scripts\n \ =-=-=-=\n \ \n \ Custom shell scripts can be executed from within Xfe on the files that are selected in a panel. You have to first\n \ select the files you want to proceed, then right click on the file list and go to the Scripts sub menu. Last, choose\n \ the script you want to apply on the selected files.\n \ \n \ The script files must be located in the ~/.config/xfe/scripts folder and have to be executable. You can organize\n \ this folder as you like by using sub-folders. You can use the Tools / Go to script folder menu item to directly go\n \ to the script folder and manage it.\n \ \n \ Here is an example of a simple shell script that list each selected file on the terminal from where Xfe was launched:\n \ \n \ #!/bin/sh\n \ for arg\n \ do\n \ /bin/ls -la \"$arg\"\n \ done\n \ \n \ You can of course use programs like xmessage, zenity or kdialog to display a window with buttons that allows you to\n \ interact with the script. Here is a modification of the above example that uses xmessage:\n \ \n \ #!/bin/sh\n \ (\n \ echo \"ls -la\"\n \ for arg\n \ do\n \ /bin/ls -la \"$arg\"\n \ done\n \ ) | xmessage -file -\n \ \n \ Most often, it is possible to directly use Nautilus scripts found on the Internet without modifications.\n \ \n \ \n \ \n \ Search files and directories\n \ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n \ \n \ \n \ Xfe can quickly search files and directories by using find and grep command backends. This is done through the\n \ Tools / Search files menu item (or by using the Ctrl-F shortcut).\n \ \n \ In the search window, users can then specify usual search patterns like name and text, but more sophisticated search\n \ options are also available (size, date, permissions, users, groups, follow symlinks and empty files). Results appear\n \ in a file list and users can use the right click menu to manage their files, the same way as they do in the file\n \ panels.\n \ \n \ The search can be interrupted by clicking on the Stop button or pressing the Escape key.\n \ \n \ \n \ \n \ Non Latin based languages\n \ =-=-=-=-=-=-=-=-=-=-=-=-=\n \ \n \ Xfe can display its user interface and also the file names in non latin character based languages, provided that you\n \ have selected a Unicode font that supports your character set. To select a suitable font, use the\n \ Edit / Preferences / Font menu item.\n \ \n \ Multilingual Unicode TrueType fonts can be found at this address: http://www.slovo.info/unifonts.htm\n \ \n \ \n \ \n \ Tips\n \ =-=-=\n \ \n \ File list\n \ - Select files and right click to open a context menu on the selected files\n \ - Press Ctrl + right click to open a context menu on the file panel\n \ - When dragging a file/folder to a folder, hold on the mouse on the folder to open it\n \ \n \ Tree list\n \ - Select a folder and right click to open a context menu on the selected folder\n \ - Press Ctrl + right click to open a context menu on the tree panel\n \ - When dragging a file/folder to a folder, hold on the mouse on the folder to expand it\n \ \n \ Copy/paste file names\n \ - Select a file and press Ctrl-C to copy its name into the clipboard. Then in a dialog,press Ctrl-V to paste\n \ the file name.\n \ - In a file operation dialog, select a filename in the line containing the source name and paste it directly\n \ to the destination using the middle button of your mouse. Then modify it to suit your needs.\n \ \n \ Add files to the clipboard\n \ - You can select files from a directory, copy them to the clipboard by pressing Ctrl-C. This erases the previous\n \ clipboard content. Then, you can move to another directory, select other files and add them to the clipboard\n \ content by pressing Shift-Ctrl-C. This does not erase the previous clipboard content. At last, you can move\n \ to the destination and press Ctrl-V to copy all the files you have in the clipboard. Of course, this also works\n \ with Ctrl-X and Shift-Ctrl-X to cut and paste the files.\n \ \n \ Startup notification\n \ - Startup notification is the process that displays a feedback (a sandbox cursor or whatever) to the user when\n \ he has started an action (file copying, application launching, etc.). Depending on the system, there can be\n \ some issues with startup notification. If Xfe was compiled with startup notification support, the user can\n \ disable it for all applications at the global Preferences level. He can also disable it for individual\n \ applications, by using the dedicated option in the first tab of the Properties dialog. This latter way is\n \ only available when the file is an executable. Disabling startup notification can be useful when starting\n \ an old application that doesn't support the startup notification protocol (e.g. Xterm).\n \ \n \ Root mode\n \ - If you use the sudo root mode, it can be useful to add password feedback to the sudo command. For this purpose,\n \ edit your sudoers file like this:\n \ sudo visudo -f /etc/suoders\n \ and then add 'pwfeedback' to the default options, as shown below:\n \ Defaults env_reset,pwfeedback\n \ After that, you should see stars (like *****) when you type your password in the small authentication window.\n \ \n \ \n \ \n \ Bugs\n \ =-=-=\n \ \n \ Please report any found bug to Roland Baudin . Don't forget to mention the Xfe version you use,\n \ the FOX library version and your system name and version.\n \ \n \ \n \ \n \ Translations\n \ =-=-=-=-=-=-=\n \ \n \ Xfe is now available in 23 languages but some translations are only partial. To translate Xfe to your language,\n \ open the Xfe.pot file located in the po folder of the source tree with a software like poedit, kbabel\n \ or gtranslator and fill it with your translated strings (be careful to the hotkeys and c-format characters),\n \ and then send it back to me. I'll be pleased to integrate your work in the next Xfe release.\n \ \n \ \n \ \n \ Patches\n \ =-=-=-=\n \ \n \ If you have coded some interesting patch, please send it to me, I will try to include it in the next release...\n \ \n \ \n \ Many thanks to Maxim Baranov for his excellent X Win Commander and to all people that have provided useful\n \ patches, translations, tests and advices.\n \ \n \ [Last revision: 28/11/2015]\n \ \n \ ") ; #endif xfe-1.42/src/TextWindow.cpp0000644000175100017510000000544112625057511012564 00000000000000// Text widget with a close button #include "config.h" #include "i18n.h" #include #include #include #include "icons.h" #include "TextWindow.h" // Map FXDEFMAP(TextWindow) TextWindowMap[] = {}; // Object implementation FXIMPLEMENT(TextWindow, DialogBox, TextWindowMap, ARRAYNUMBER(TextWindowMap)) // Construct Text dialog box TextWindow::TextWindow(FXWindow* owner, const FXString& name, int nblines, int nbcols) : DialogBox(owner, name, DECOR_ALL, 0, 0, 0, 0, 6, 6, 6, 6, 4, 4) { // Bottom part FXHorizontalFrame* closebox = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH); FXButton* button = new FXButton(closebox, _("&Close"), NULL, this, DialogBox::ID_ACCEPT, BUTTON_INITIAL|BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); // Text part FXHorizontalFrame* textbox = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); text = new FXText(textbox, NULL, 0, TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y); text->setVisibleRows(nblines); text->setVisibleColumns(nbcols); button->setFocus(); } // Construct Text dialog box TextWindow::TextWindow(FXApp* app, const FXString& name, int nblines, int nbcols) : DialogBox(app, name, DECOR_ALL, 0, 0, 0, 0, 6, 6, 6, 6, 4, 4) { // Bottom part FXHorizontalFrame* closebox = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH); FXButton* button = new FXButton(closebox, _("&Close"), NULL, this, DialogBox::ID_ACCEPT, BUTTON_INITIAL|BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); // Text part FXHorizontalFrame* textbox = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); text = new FXText(textbox, NULL, 0, TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y); text->setVisibleRows(nblines); text->setVisibleColumns(nbcols); button->setFocus(); } // Change the text in the buffer to new text void TextWindow::setText(const char* str) { text->setText(str, strlen(str)); getApp()->repaint(); } // Append new text at the end of the buffer void TextWindow::appendText(const char* str) { text->appendText(str, strlen(str)); getApp()->repaint(); } // Change the text in the buffer to new text void TextWindow::setFont(FXFont* font) { text->setFont(font); getApp()->repaint(); } // Scroll to the last line void TextWindow::scrollToLastLine(void) { text->makePositionVisible(text->getLength()); getApp()->repaint(); } // Get text length int TextWindow::getLength(void) { return(text->getLength()); } // Clean up TextWindow::~TextWindow() { text = (FXText*)-1; } xfe-1.42/src/FileDialog.h0000644000175100017510000002506712625057514012125 00000000000000#ifndef FILEDIALOG_H #define FILEDIALOG_H #include "DialogBox.h" #include "FileList.h" #include "PathLinker.h" class FileSelector; class FileList; // Additional mode for file selection : same as SELECTFILE_DIRECTORY but with the ability to also select files enum { SELECT_FILE_ANY, // A single file, existing or not (to save to) SELECT_FILE_EXISTING, // An existing file (to load), but not '.' and '..' SELECT_FILE_MULTIPLE, // Multiple existing files SELECT_FILE_MULTIPLE_ALL, // Multiple existing files or directories, but not '.' and '..' SELECT_FILE_DIRECTORY, // Existing directory, including '.' or '..' SELECT_FILE_MIXED, // An existing file or directory, including '.' and '..' }; // File selection widget class FXAPI FileSelector : public FXPacker { FXDECLARE(FileSelector) protected: FileList* list; // File list widget FXTextField* filename; // File name entry field FXComboBox* filefilter; // Combobox for pattern list FXCheckButton* readonly; // Open file as read only FXButton* accept; // Accept button FXButton* cancel; // Cancel button FXuint selectmode; // Select mode FXArrowButton* btnbackhist; // Back history FXArrowButton* btnforwardhist; // Forward history PathLinker* pathlink; TextLabel* pathtext; protected: FileSelector() : list(NULL), filename(NULL), filefilter(NULL), readonly(NULL), accept(NULL), cancel(NULL), selectmode(0), btnbackhist(NULL), btnforwardhist(NULL), pathlink(NULL), pathtext(NULL) {} virtual void create(); static FXString patternFromText(const FXString& pattern); static FXString extensionFromPattern(const FXString& pattern); private: FileSelector(const FileSelector&); FileSelector& operator=(const FileSelector&); public: long onCmdAccept(FXObject*, FXSelector, void*); long onCmdFilter(FXObject*, FXSelector, void*); long onCmdItemDoubleClicked(FXObject*, FXSelector, void*); long onCmdItemClicked(FXObject*, FXSelector, void*); long onCmdItemSelected(FXObject*, FXSelector, void*); long onCmdItemDeselected(FXObject*, FXSelector, void*); long onCmdDirUp(FXObject*, FXSelector, void*); long onUpdDirUp(FXObject*, FXSelector, void*); long onCmdDirBack(FXObject*, FXSelector, void*); long onUpdDirBack(FXObject*, FXSelector, void*); long onCmdDirForward(FXObject*, FXSelector, void*); long onUpdDirForward(FXObject*, FXSelector, void*); long onCmdDirBackHist(FXObject*, FXSelector, void*); long onUpdDirBackHist(FXObject*, FXSelector, void*); long onCmdDirForwardHist(FXObject*, FXSelector, void*); long onUpdDirForwardHist(FXObject*, FXSelector, void*); long onCmdHome(FXObject*, FXSelector, void*); long onCmdWork(FXObject*, FXSelector, void*); long onCmdNewDir(FXObject*, FXSelector, void*); long onCmdNewFile(FXObject*, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onCmdKeyPress(FXObject*, FXSelector, void*); long onCmdKeyRelease(FXObject*, FXSelector, void*); public: enum { ID_FILEFILTER=FXPacker::ID_LAST, ID_ACCEPT, ID_FILELIST, ID_POPUP_MENU, ID_DIR_UP, ID_DIR_BACK, ID_DIR_FORWARD, ID_DIR_BACK_HIST, ID_DIR_FORWARD_HIST, ID_HOME, ID_WORK, ID_NEWDIR, ID_NEWFILE, ID_LAST }; public: // Constructor FileSelector(FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Return a pointer to the "Accept" button FXButton* acceptButton() const { return(accept); } // Return a pointer to the "Cancel" button FXButton* cancelButton() const { return(cancel); } // Change file name void setFilename(const FXString& path); // Return file name, if any FXString getFilename() const; // Return array of strings containing the selected file names, terminated // by an empty string. This string array must be freed using delete []. // If no files were selected, a NULL is returned. FXString* getFilenames() const; // Change file pattern void setPattern(const FXString& ptrn); // Return file pattern FXString getPattern() const; // Change the list of file patterns shown in the file dialog. // Each pattern comprises an optional name, followed by a pattern in // parentheses. The patterns are separated by newlines. // For example, // // "*\n*.cpp,*.cc\n*.hpp,*.hh,*.h" // // and // // "All Files (*)\nC++ Sources (*.cpp,*.cc)\nC++ Headers (*.hpp,*.hh,*.h)" // // will set the same three patterns, but the former shows no pattern names. void setPatternList(const FXString& patterns); // Set list of patterns as name,pattern pairs. // The list should be terminated with a final NULL string. // (DEPRECATED) void setPatternList(const char** ptrns); // Return list of patterns FXString getPatternList() const; // After setting the list of patterns, this call will // initially select pattern n as the active one. void setCurrentPattern(int n); // Return current pattern number int getCurrentPattern() const; // Get pattern text for given pattern number FXString getPatternText(int patno) const; // Change pattern text for pattern number void setPatternText(int patno, const FXString& text); // Change directory void setDirectory(const FXString& path); // Return directory FXString getDirectory() const; // Set the inter-item spacing (in pixels) void setItemSpace(int s); // Return the inter-item spacing (in pixels) int getItemSpace() const; // Change file list style void setFileBoxStyle(FXuint style); // Return file list style FXuint getFileBoxStyle() const; // Change file selection mode void setSelectMode(FXuint mode); // Return file selection mode FXuint getSelectMode() const { return(selectmode); } // Show readonly button void showReadOnly(FXbool show); // Return true if readonly is shown FXbool shownReadOnly() const; // Set initial state of readonly button void setReadOnly(FXbool state); // Get readonly state FXbool getReadOnly() const; // Return true if hidden files are shown FXbool shownHiddenFiles() const; // Return true if thumbnails are shown FXbool shownThumbnails() const; // Change show hidden files mode void showHiddenFiles(FXbool shown); // Change show thumbnails files mode void showThumbnails(FXbool shown); // Destructor virtual ~FileSelector(); }; // File Dialog object class FXAPI FileDialog : public DialogBox { FXDECLARE(FileDialog) protected: FileSelector* list; protected: FileDialog() : list(NULL) {} private: FileDialog(const FileDialog&); FileDialog& operator=(const FileDialog&); public: // Construct File Dialog Box FileDialog(FXWindow* owner, const FXString& name, FXuint opts = 0, int x = 0, int y = 0, int w = 500, int h = 300); // Change file name void setFilename(const FXString& path); // Return file name, if any FXString getFilename() const; // Return empty-string terminated list of selected file names, or NULL if none selected FXString* getFilenames() const; // Change file pattern void setPattern(const FXString& ptrn); // Return file pattern FXString getPattern() const; // Change the list of file patterns shown in the file dialog. // Each pattern comprises an optional name, followed by a pattern in // parentheses. The patterns are separated by newlines. // For example, // // "*\n*.cpp,*.cc\n*.hpp,*.hh,*.h" // // and // // "All Files (*)\nC++ Sources (*.cpp,*.cc)\nC++ Headers (*.hpp,*.hh,*.h)" // // will set the same three patterns, but the former shows no pattern names. void setPatternList(const FXString& patterns); // Set list of patterns as name,pattern pairs. // The list should be terminated with a final NULL string. // (DEPRECATED) void setPatternList(const char** ptrns); // Return list of patterns FXString getPatternList() const; // After setting the list of patterns, this call will // initially select pattern n as the active one. void setCurrentPattern(int n); // Return current pattern number int getCurrentPattern() const; // Get pattern text for given pattern number FXString getPatternText(int patno) const; // Change pattern text for pattern number void setPatternText(int patno, const FXString& text); // Change directory void setDirectory(const FXString& path); // Return directory FXString getDirectory() const; // Set the inter-item spacing (in pixels) void setItemSpace(int s); // Return the inter-item spacing (in pixels) int getItemSpace() const; // Change File List style void setFileBoxStyle(FXuint style); // Return File List style FXuint getFileBoxStyle() const; // Change file selection mode void setSelectMode(FXuint mode); // Return file selection mode FXuint getSelectMode() const; // Show readonly button void showReadOnly(FXbool show); // Return true if readonly is shown FXbool shownReadOnly() const; // Return true if hidden files are shown FXbool shownHiddenFiles() const; // Return true if thumbnails are shown FXbool shownThumbnails() const; // Change show hidden files mode void showHiddenFiles(FXbool shown); // Change show thumbnails files mode void showThumbnails(FXbool shown); // Set initial state of readonly button void setReadOnly(FXbool state); // Get readonly state FXbool getReadOnly() const; // Open existing filename static FXString getOpenFilename(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns = "*", int initial = 0); // Open multiple existing files static FXString* getOpenFilenames(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns = "*", int initial = 0); // Save to filename static FXString getSaveFilename(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns = "*", int initial = 0); // Open directory name static FXString getOpenDirectory(FXWindow* owner, const FXString& caption, const FXString& path); // Destructor virtual ~FileDialog(); }; #endif xfe-1.42/src/OverwriteBox.cpp0000644000175100017510000001677612724015062013117 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include "icons.h" #include "xfedefs.h" #include "xfeutils.h" #include "OverwriteBox.h" // Padding for message box buttons #define HORZ_PAD 30 #define VERT_PAD 2 // Map FXDEFMAP(OverwriteBox) OverwriteBoxMap[] = { FXMAPFUNCS(SEL_COMMAND, OverwriteBox::ID_CLICKED_CANCEL, OverwriteBox::ID_CLICKED_SKIP_ALL, OverwriteBox::onCmdClicked), }; // Object implementation FXIMPLEMENT(OverwriteBox, DialogBox, OverwriteBoxMap, ARRAYNUMBER(OverwriteBoxMap)) // Create message box with text OverwriteBox::OverwriteBox(FXWindow* win, const FXString& name, const FXString& text, FXuint type, FXuint opts, int x, int y) : DialogBox(win, name, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_CLOSE, x, y, 0, 0) { FXVerticalFrame* content = new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* info = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 10, 10, 10, 10); new FXLabel(info, FXString::null, questionbigicon, ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Set message text with a maximum of MAX_MESSAGE_LENGTH characters per line FXString str = ::multiLines(text, MAX_MESSAGE_LENGTH); new FXLabel(info, str, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* buttons = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 10, 10, 10, 10); // Dialog with five options for multiple files if (type == OVWBOX_MULTIPLE_FILES) { new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Skip"), NULL, this, ID_CLICKED_SKIP, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Skip A&ll"), NULL, this, ID_CLICKED_SKIP_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_OVERWRITE, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Yes for &All"), NULL, this, ID_CLICKED_OVERWRITE_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); } // Dialog with two options for single file else { new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_OVERWRITE, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); } } // Create message box with text, source and target size, source and target modified time OverwriteBox::OverwriteBox(FXWindow* win, const FXString& name, const FXString& text, FXString& srcsize, FXString& srcmtime, FXString& tgtsize, FXString& tgtmtime, FXuint type, FXuint opts, int x, int y) : DialogBox(win, name, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_CLOSE, x, y, 0, 0) { FXVerticalFrame* content = new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXVerticalFrame* vframe = new FXVerticalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0); FXHorizontalFrame* info = new FXHorizontalFrame(vframe, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0); new FXLabel(info, FXString::null, questionbigicon, ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Set message text with a maximum of MAX_MESSAGE_LENGTH characters per line FXString str = ::multiLines(text, MAX_MESSAGE_LENGTH); new FXLabel(info, str, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXMatrix* matrix = new FXMatrix(vframe, 5, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXVerticalSeparator(matrix, SEPARATOR_NONE|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 40); new FXLabel(matrix, _("Source size:"), NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, srcsize, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("- Modified date:"), NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, srcmtime, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXVerticalSeparator(matrix, SEPARATOR_NONE|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 40); new FXLabel(matrix, _("Target size:"), NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, tgtsize, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("- Modified date:"), NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, tgtmtime, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* buttons = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 10, 10, 10, 10); // Dialog with five options for multiple files if (type == OVWBOX_MULTIPLE_FILES) { new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Skip"), NULL, this, ID_CLICKED_SKIP, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Skip A&ll"), NULL, this, ID_CLICKED_SKIP_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_OVERWRITE, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Yes for &All"), NULL, this, ID_CLICKED_OVERWRITE_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); } // Dialog with two options for single file else { new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_OVERWRITE, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); } } // Close dialog long OverwriteBox::onCmdClicked(FXObject*, FXSelector sel, void*) { getApp()->stopModal(this, OVWBOX_CLICKED_CANCEL+(FXSELID(sel)-ID_CLICKED_CANCEL)); hide(); return(1); } xfe-1.42/src/PathLinker.cpp0000644000175100017510000002227212625057511012512 00000000000000// Implementation of a path linker that allows to directly go to any parent directory // Initially proposed and coded by Julian Mitchell #include #include #include "xfedefs.h" #include "xfeutils.h" #include "XFileExplorer.h" #include "PathLinker.h" #define REFRESH_INTERVAL 1000 FXDEFMAP(PathLinker) PathLinkerMap[] = { FXMAPFUNC(SEL_FOCUSIN, PathLinker::ID_FOCUS_BUTTON, PathLinker::onCmdFocusButton), FXMAPFUNCS(SEL_LEFTBUTTONPRESS, PathLinker::ID_START_LINK, PathLinker::ID_END_LINK, PathLinker::pathButtonPressed), FXMAPFUNC(SEL_UPDATE, 0, PathLinker::onUpdPath), }; FXIMPLEMENT(PathLinker, FXHorizontalFrame, PathLinkerMap, ARRAYNUMBER(PathLinkerMap)) // Construct object PathLinker::PathLinker(FXComposite* a, FileList* flist, DirList* dlist, FXuint opts) : FXHorizontalFrame(a, opts, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2) { filelist = flist; dirlist = dlist; // Add some path links int id = ID_START_LINK; for (int i = 0; i < MAX_LINKS; i++) { std::stringstream ss; ss << i; linkButtons.push_back(new FXButton(this, (ss.str() + PATHSEPSTRING).c_str(), NULL, this, id, BUTTON_NORMAL, 0, 0, 0, 0, 5, 5, 0, 0)); id++; linkButtons[i]->hide(); linkButtons[i]->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } // Initializations visitedPath = PATHSEPSTRING; nbActiveButtons = 0; currentButton = 0; // Right most button is a TextLabel and is only used for focus focusButton = new TextLabel(this, 0, this, ID_FOCUS_BUTTON, LAYOUT_FILL_X|LAYOUT_FILL_Y); // Create highlight font (bold if normal font is normal, and normal if normal font is bold) FXFontDesc fontdesc; normalFont = getApp()->getNormalFont(); normalFont->getFontDesc(fontdesc); if (fontdesc.weight == FXFont::Normal) { fontdesc.weight = FXFont::Bold; } else { fontdesc.weight = FXFont::Normal; } highlightFont = new FXFont(getApp(), fontdesc); highlightFont->create(); // Set the focus button initial color focusButton->setBackColor(getApp()->getBaseColor()); } // Create the path linker void PathLinker::create() { FXHorizontalFrame::create(); } // Destruct object PathLinker::~PathLinker() { delete highlightFont; } // Change current path void PathLinker::setPath(FXString text) { int nextPos = 0; int previousPos = 0; // Remove trailing / FXString path = ::cleanPath(text); // Indicates if actual path is included in the visited path int visited; if (path == PATHSEPSTRING) { visited = visitedPath.find(PATHSEPSTRING); } else { visited = visitedPath.find(path+PATHSEPSTRING); } // If actual path is included in the visited path FXuint index = 0; if (visited == 0) { nextPos = path.find(PATHSEPSTRING, 0); while (nextPos >= 0) { previousPos = nextPos + 1; nextPos = path.find(PATHSEPSTRING, previousPos); index++; } if (path.length() == 1) { index = 0; } path = visitedPath; } // Hide all of the link buttons for (int i = 0; i < MAX_LINKS; i++) { linkButtons[i]->hide(); linkButtons[i]->setFont(normalFont); linkButtons[i]->setState(STATE_UP); } visitedPath = path; FXString displayText = visitedPath; FXuint ind = 0; nextPos = displayText.find(PATHSEPSTRING, 0); previousPos = 0; while (nextPos >= 0) { // Root path if (previousPos == 0) { setText(ind, displayText.mid(previousPos, nextPos - previousPos + 1)); } // Other path else { setText(ind, displayText.mid(previousPos, nextPos - previousPos)); } ind++; previousPos = nextPos + 1; nextPos = displayText.find(PATHSEPSTRING, previousPos); } nbActiveButtons = ind+1; setText(ind, displayText.mid(previousPos, displayText.length())); if (ind < MAX_LINKS) // Avoid crashing when the number of path links is too high { // If actual path is included in the visited path if (visited >= 0) { linkButtons[index]->setFont(highlightFont); linkButtons[index]->setState(STATE_DOWN); currentButton = index; } else { linkButtons[ind]->setFont(highlightFont); linkButtons[ind]->setState(STATE_DOWN); currentButton = ind; } } } // Update current path according to the clicked button void PathLinker::updatePath(FXString text, FXuint index) { // Remove trailing / FXString path = ::cleanPath(text); // Hide all of the link buttons for (int i = 0; i < MAX_LINKS; i++) { linkButtons[i]->hide(); linkButtons[i]->setFont(normalFont); linkButtons[i]->setState(STATE_UP); } visitedPath = path; FXString displayText = visitedPath; int nextPos = 0; int previousPos = 0; FXuint ind = 0; nextPos = displayText.find(PATHSEPSTRING, 0); while (nextPos >= 0) { // Root path if (previousPos == 0) { setText(ind, displayText.mid(previousPos, nextPos - previousPos + 1)); } // Other path else { setText(ind, displayText.mid(previousPos, nextPos - previousPos)); } ind++; previousPos = nextPos + 1; nextPos = displayText.find(PATHSEPSTRING, previousPos); } nbActiveButtons = ind+1; setText(ind, displayText.mid(previousPos, displayText.length())); linkButtons[index]->setFont(highlightFont); linkButtons[index]->setState(STATE_DOWN); currentButton = index; } void PathLinker::setText(FXuint index, FXString displayText) { if (index < MAX_LINKS) { // Avoid interpretation of the & character if (displayText.contains('&')) { displayText.substitute("&", 1, "&&", 2); } linkButtons[index]->setText(displayText); if (displayText.length()) { linkButtons[index]->show(); } } } // Button was pressed long PathLinker::pathButtonPressed(FXObject* obj, FXSelector sel, void* ptr) { // Set the focus on the file list filelist->setFocus(); FXString filePath(""); int endId = FXSELID(sel); if (endId == ID_START_LINK) { // Selecting root dir filePath = PATHSEPSTRING; } else { int rpos = 0; rpos = visitedPath.rfind((char)PATHSEPSTRING[0], 0x7FFFFFFF, nbActiveButtons - (endId - ID_START_LINK + 1)); filePath = visitedPath.left(rpos+1); } // Update the path text updatePath(visitedPath, endId - ID_START_LINK); // Update the FileList and DirList directory filelist->setDirectory(filePath); if (dirlist) { dirlist->setDirectory(filePath, true); } return(1); } // Gives the focus to the file list when clicking on the focus button long PathLinker::onCmdFocusButton(FXObject* obj, FXSelector sel, void* ptr) { // Set the focus on the file list filelist->setFocus(); return(1); } // Update visited path to delete directories that don't exist anymore // Also update in the case where the actual link differs from the actual path long PathLinker::onUpdPath(FXObject* obj, FXSelector sel, void* ptr) { // It is not necessary to update when the path linker is not visible if (shown()) { // Current path of the file list (the real path) FXString currentpath = ::cleanPath(filelist->getDirectory()); // Current path link (the one corresponding to the down button) FXString currentlink; if (currentButton == 0) { currentlink = PATHSEPSTRING; } else { currentlink = visitedPath.before((char)PATHSEPSTRING[0], currentButton+1); } // Test each link for existence and update to the current path if necessary FXString path = visitedPath; FXuint n = 1; while (path != "") { if (!::exists(path)) { visitedPath = filelist->getDirectory(); setPath(visitedPath); break; } // Next path to test path = visitedPath.rbefore((char)PATHSEPSTRING[0], n); n++; } // If current link and current path differ, update to the current path if (currentlink != currentpath) { setPath(currentpath); } } return(0); } void PathLinker::unfocus(void) { this->setBackColor(FXRGB(128, 128, 128)); for (int i = 0; i < MAX_LINKS; i++) { linkButtons[i]->setBackColor(FXRGB(128, 128, 128)); linkButtons[i]->setTextColor(FXRGB(255, 255, 255)); } focusButton->setBackColor(FXRGB(128, 128, 128)); } void PathLinker::focus(void) { this->setBackColor(getApp()->getBaseColor()); for (int i = 0; i < MAX_LINKS; i++) { linkButtons[i]->setBackColor(getApp()->getBaseColor()); linkButtons[i]->setTextColor(getApp()->getForeColor()); } focusButton->setBackColor(getApp()->getBaseColor()); } xfe-1.42/src/DialogBox.cpp0000644000175100017510000001103112724015473012311 00000000000000// Dialog Box with additional toggle option #include "config.h" #include "i18n.h" #include #include #include "DialogBox.h" // Map FXDEFMAP(DialogBox) DialogBoxMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, DialogBox::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE,0,DialogBox::onKeyRelease), FXMAPFUNC(SEL_CLOSE, 0, DialogBox::onClose), FXMAPFUNC(SEL_COMMAND, DialogBox::ID_CANCEL, DialogBox::onCmdCancel), FXMAPFUNC(SEL_COMMAND, DialogBox::ID_ACCEPT, DialogBox::onCmdAccept), FXMAPFUNC(SEL_COMMAND, DialogBox::ID_TOGGLE_OPTION, DialogBox::onCmdToggleOption) }; // Object implementation FXIMPLEMENT(DialogBox, FXTopWindow, DialogBoxMap, ARRAYNUMBER(DialogBoxMap)) // Contruct dialog which will stay on top of owner DialogBox::DialogBox(FXWindow* win, const FXString& name, FXuint opts, int x, int y, int w, int h, int pl, int pr, int pt, int pb, int hs, int vs) : FXTopWindow(win, name, NULL, NULL, opts, x, y, w, h, pl, pr, pt, pb, hs, vs) { _option = 0; } // Contruct free floating dialog DialogBox::DialogBox(FXApp* a, const FXString& name, FXuint opts, int x, int y, int w, int h, int pl, int pr, int pt, int pb, int hs, int vs) : FXTopWindow(a, name, NULL, NULL, opts, x, y, w, h, pl, pr, pt, pb, hs, vs) { _option = 0; } // Close window & cancel out of dialog long DialogBox::onClose(FXObject*, FXSelector, void*) { if (target && target->handle(this, FXSEL(SEL_CLOSE, message), NULL)) { return(1); } handle(this, FXSEL(SEL_COMMAND, DialogBox::ID_CANCEL), NULL); return(1); } // Close dialog with an accept long DialogBox::onCmdAccept(FXObject*, FXSelector, void*) { getApp()->stopModal(this, true); hide(); return(1); } // Close dialog with a cancel long DialogBox::onCmdCancel(FXObject*, FXSelector, void*) { getApp()->stopModal(this, false); hide(); return(1); } // Toggle option long DialogBox::onCmdToggleOption(FXObject*, FXSelector, void*) { _option = !_option; return(1); } // Get option state FXuint DialogBox::getOption() { return(_option); } // Create window void DialogBox::create() { FXTopWindow::create(); } // Show window such that the cursor is in it void DialogBox::show(FXuint placement) { int rw, rh, wx, wy, ww, wh, x, y; FXuint state; // Get dialog size translateCoordinatesTo(wx, wy, getRoot(), 0, 0); ww = getWidth(); wh = getHeight(); // Where's the mouse? getRoot()->getCursorPosition(x, y, state); // Place such that mouse in the middle if ((x < wx) || (y < wy) || (wx+ww <= x) || (wy+wh <= y)) { // Get root window size rw = getRoot()->getWidth(); rh = getRoot()->getHeight(); // Move by the minimal amount if (x < wx) { wx = x-20; } else if (wx+ww <= x) { wx = x-ww+20; } if (y < wy) { wy = y-20; } else if (wy+wh <= y) { wy = y-wh+20; } // Adjust so dialog is fully visible if (wx < 0) { wx = 10; } if (wy < 0) { wy = 10; } if (wx+ww > rw) { wx = rw-ww-10; } if (wy+wh > rh) { wy = rh-wh-10; } move(wx, wy); } // Pop the window FXTopWindow::show(placement); } // Keyboard press; handle escape and return to close the dialog long DialogBox::onKeyPress(FXObject* sender, FXSelector sel, void* ptr) { if (FXTopWindow::onKeyPress(sender, sel, ptr)) { return(1); } if (((FXEvent*)ptr)->code == KEY_Escape) { handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); } FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } // Keyboard release; handle escape to close the dialog long DialogBox::onKeyRelease(FXObject* sender,FXSelector sel,void* ptr) { if(FXTopWindow::onKeyRelease(sender,sel,ptr)) { return 1; } if(((FXEvent*)ptr)->code==KEY_Escape) { return 1; } return 0; } // Execute dialog box modally FXuint DialogBox::execute(FXuint placement) { create(); show(placement); getApp()->refresh(); return(getApp()->runModalFor(this)); } xfe-1.42/src/DirList.cpp0000644000175100017510000017630212625101243012017 00000000000000// Directory list. Taken from the FOX library and slightly modified. // The compare(), compare_nolocale() and compare_locale() functions are adapted from a patch // submitted by Vladimir Támara Patiño #include "config.h" #include "i18n.h" #include #include #if defined(linux) #include #endif #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "File.h" #include "FileDict.h" #include "InputDialog.h" #include "MessageBox.h" #include "XFileExplorer.h" #include "DirList.h" // Interval between updevices and mtdevices read (s) #define UPDEVICES_INTERVAL 300 #define MTDEVICES_INTERVAL 5 // Interval between refreshes (ms) #define REFRESH_INTERVAL 1000 // File systems not supporting mod-time, refresh every nth time #define REFRESH_FREQUENCY 30 // Time interval before expanding a folder (ms) #define EXPAND_INTERVAL 500 // Global variables #if defined(linux) extern FXStringDict* fsdevices; extern FXStringDict* mtdevices; extern FXStringDict* updevices; #endif extern FXbool allowPopupScroll; extern FXString xdgdatahome; // Object implementation FXIMPLEMENT(DirItem, FXTreeItem, NULL, 0) // Map FXDEFMAP(DirList) DirListMap[] = { FXMAPFUNC(SEL_DRAGGED, 0, DirList::onDragged), FXMAPFUNC(SEL_TIMEOUT, DirList::ID_REFRESH_TIMER, DirList::onCmdRefreshTimer), #if defined(linux) FXMAPFUNC(SEL_TIMEOUT, DirList::ID_MTDEVICES_REFRESH, DirList::onMtdevicesRefresh), FXMAPFUNC(SEL_TIMEOUT, DirList::ID_UPDEVICES_REFRESH, DirList::onUpdevicesRefresh), #endif FXMAPFUNC(SEL_TIMEOUT, DirList::ID_EXPAND_TIMER, DirList::onExpandTimer), FXMAPFUNC(SEL_DND_ENTER, 0, DirList::onDNDEnter), FXMAPFUNC(SEL_DND_LEAVE, 0, DirList::onDNDLeave), FXMAPFUNC(SEL_DND_DROP, 0, DirList::onDNDDrop), FXMAPFUNC(SEL_DND_MOTION, 0, DirList::onDNDMotion), FXMAPFUNC(SEL_DND_REQUEST, 0, DirList::onDNDRequest), FXMAPFUNC(SEL_BEGINDRAG, 0, DirList::onBeginDrag), FXMAPFUNC(SEL_ENDDRAG, 0, DirList::onEndDrag), FXMAPFUNC(SEL_OPENED, 0, DirList::onOpened), FXMAPFUNC(SEL_CLOSED, 0, DirList::onClosed), FXMAPFUNC(SEL_EXPANDED, 0, DirList::onExpanded), FXMAPFUNC(SEL_COLLAPSED, 0, DirList::onCollapsed), FXMAPFUNC(SEL_UPDATE, DirList::ID_SHOW_HIDDEN, DirList::onUpdShowHidden), FXMAPFUNC(SEL_UPDATE, DirList::ID_HIDE_HIDDEN, DirList::onUpdHideHidden), FXMAPFUNC(SEL_UPDATE, DirList::ID_TOGGLE_HIDDEN, DirList::onUpdToggleHidden), FXMAPFUNC(SEL_UPDATE, DirList::ID_SHOW_FILES, DirList::onUpdShowFiles), FXMAPFUNC(SEL_UPDATE, DirList::ID_HIDE_FILES, DirList::onUpdHideFiles), FXMAPFUNC(SEL_UPDATE, DirList::ID_TOGGLE_FILES, DirList::onUpdToggleFiles), FXMAPFUNC(SEL_UPDATE, DirList::ID_SET_PATTERN, DirList::onUpdSetPattern), FXMAPFUNC(SEL_UPDATE, DirList::ID_SORT_REVERSE, DirList::onUpdSortReverse), FXMAPFUNC(SEL_COMMAND, DirList::ID_SHOW_HIDDEN, DirList::onCmdShowHidden), FXMAPFUNC(SEL_COMMAND, DirList::ID_DRAG_COPY, DirList::onCmdDragCopy), FXMAPFUNC(SEL_COMMAND, DirList::ID_DRAG_MOVE, DirList::onCmdDragMove), FXMAPFUNC(SEL_COMMAND, DirList::ID_DRAG_LINK, DirList::onCmdDragLink), FXMAPFUNC(SEL_COMMAND, DirList::ID_DRAG_REJECT, DirList::onCmdDragReject), FXMAPFUNC(SEL_COMMAND, DirList::ID_HIDE_HIDDEN, DirList::onCmdHideHidden), FXMAPFUNC(SEL_COMMAND, DirList::ID_TOGGLE_HIDDEN, DirList::onCmdToggleHidden), FXMAPFUNC(SEL_COMMAND, DirList::ID_SHOW_FILES, DirList::onCmdShowFiles), FXMAPFUNC(SEL_COMMAND, DirList::ID_HIDE_FILES, DirList::onCmdHideFiles), FXMAPFUNC(SEL_COMMAND, DirList::ID_TOGGLE_FILES, DirList::onCmdToggleFiles), FXMAPFUNC(SEL_COMMAND, DirList::ID_SET_PATTERN, DirList::onCmdSetPattern), FXMAPFUNC(SEL_COMMAND, DirList::ID_SORT_REVERSE, DirList::onCmdSortReverse), FXMAPFUNC(SEL_COMMAND, DirList::ID_REFRESH, DirList::onCmdRefresh), FXMAPFUNC(SEL_COMMAND, DirList::ID_SORT_CASE, DirList::onCmdSortCase), FXMAPFUNC(SEL_UPDATE, DirList::ID_SORT_CASE, DirList::onUpdSortCase), FXMAPFUNC(SEL_UPDATE, 0, DirList::onUpdRefreshTimers), }; // Object implementation FXIMPLEMENT(DirList, FXTreeList, DirListMap, ARRAYNUMBER(DirListMap)) // Directory List Widget DirList::DirList(FXWindow* focuswin, FXComposite* p, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h) : FXTreeList(p, tgt, sel, opts, x, y, w, h), pattern("*") { flags |= FLAG_ENABLED|FLAG_DROPTARGET; matchmode = FILEMATCH_FILE_NAME|FILEMATCH_NOESCAPE; associations = NULL; if (!(options&DIRLIST_NO_OWN_ASSOC)) { associations = new FileDict(getApp()); } list = NULL; sortfunc = (FXTreeListSortFunc)ascendingCase; dropaction = DRAG_MOVE; counter = 0; prevSelItem = NULL; focuswindow = focuswin; #if defined(linux) // Initialize the fsdevices, mtdevices and updevices lists struct mntent* mnt; if (fsdevices == NULL) { // To list file system devices fsdevices = new FXStringDict(); FILE* fstab = setmntent(FSTAB_PATH, "r"); if (fstab) { while ((mnt = getmntent(fstab))) { if (!streq(mnt->mnt_type, MNTTYPE_IGNORE) && !streq(mnt->mnt_type, MNTTYPE_SWAP) && !streq(mnt->mnt_dir, "/")) { if (!strncmp(mnt->mnt_fsname, "/dev/fd", 7)) { fsdevices->insert(mnt->mnt_dir, "floppy"); } else if (!strncmp(mnt->mnt_type, "iso", 3)) { fsdevices->insert(mnt->mnt_dir, "cdrom"); } else if (!strncmp(mnt->mnt_fsname, "/dev/zip", 8)) { fsdevices->insert(mnt->mnt_dir, "zip"); } else if (streq(mnt->mnt_type, "nfs")) { fsdevices->insert(mnt->mnt_dir, "nfsdisk"); } else if (streq(mnt->mnt_type, "smbfs")) { fsdevices->insert(mnt->mnt_dir, "smbdisk"); } else { fsdevices->insert(mnt->mnt_dir, "harddisk"); } } } endmntent(fstab); } } if (mtdevices == NULL) { // To list mounted devices mtdevices = new FXStringDict(); FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { mtdevices->insert(mnt->mnt_dir, mnt->mnt_type); } } endmntent(mtab); } } if (updevices == NULL) { // To mark mount points that are up or down updevices = new FXStringDict(); struct stat statbuf; FXString mtstate; FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { if ((lstatmt(mnt->mnt_dir, &statbuf) == -1) && (errno != EACCES)) { mtstate = "down"; } else { mtstate = "up"; } updevices->insert(mnt->mnt_dir, mtstate.text()); } } endmntent(mtab); } } #endif // Trahscan location trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; } // Create the directory list void DirList::create() { FXTreeList::create(); if (!deleteType) { deleteType = getApp()->registerDragType(deleteTypeName); } if (!urilistType) { urilistType = getApp()->registerDragType(urilistTypeName); } getApp()->addTimeout(this, ID_REFRESH_TIMER, REFRESH_INTERVAL); #if defined(linux) getApp()->addTimeout(this, ID_MTDEVICES_REFRESH, MTDEVICES_INTERVAL*1000); getApp()->addTimeout(this, ID_UPDEVICES_REFRESH, UPDEVICES_INTERVAL*1000); #endif dropEnable(); // Scan root directory scan(false); } // Expand folder tree when hovering long over a folder long DirList::onExpandTimer(FXObject* sender, FXSelector sel, void* ptr) { int xx, yy; FXuint state; DirItem* item; getCursorPosition(xx, yy, state); item = (DirItem*)getItemAt(xx, yy); if (!(item->state&DirItem::FOLDER)) { return(0); } // Expand tree item expandTree((TreeItem*)item, true); scan(true); // Set open timer getApp()->addTimeout(this, ID_EXPAND_TIMER, EXPAND_INTERVAL); return(1); } // Create item TreeItem* DirList::createItem(const FXString& text, FXIcon* oi, FXIcon* ci, void* ptr) { return((TreeItem*)new DirItem(text, oi, ci, ptr)); } /** * Compares fields of p and q, supposing they are single byte strings * without using the current locale. * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * @param jmp Field to compare (separated with \t) * * @return 0 if equal, negative if pq * If jmp has an invalid value returns 0 and errno will be EINVAL */ static inline int compare_nolocale(char* p, char* q, FXbool igncase, FXbool asc) { // Compare names register char* pp = p; register char* qq = q; // Go to next '\t' or '\0' while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position register char pw = *pp; register char qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare strings int ret = comparenat(p, q, igncase); // Restore saved characters *pp = pw; *qq = qw; // If descending flip if (!asc) { ret = ret * -1; } return(ret); } /** * Compares fields of p and q, supposing they are wide strings * and using the current locale. * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * @param jmp Field to compare (separated with \t) * * @return 0 if equal, negative if pq * If jmp has an invalid value returns 0 and errno will be EINVAL */ static inline int compare_locale(wchar_t* p, wchar_t* q, FXbool igncase, FXbool asc) { // Compare names register wchar_t* pp = p; register wchar_t* qq = q; // Go to next '\t' or '\0' while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position register wchar_t pw = *pp; register wchar_t qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare wide strings int ret = comparewnat(p, q, igncase); // Restore saved characters *pp = pw; *qq = qw; // If descending flip if (!asc) { ret = ret * -1; } return(ret); } /** * Compares a field of pa with the same field of pb, if the fields are * equal compare by name * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * * @return 0 if equal, negative if papb * Requires to allocate some space, if there is no memory this * function returns 0 and errno will be ENOMEM * If jmp has an invalid value returns 0 and errno will be EINVAL */ int DirList::compareItem(const FXTreeItem* pa, const FXTreeItem* pb, FXbool igncase, FXbool asc) { register const DirItem* a = (DirItem*)pa; register const DirItem* b = (DirItem*)pb; register char* p = (char*)a->label.text(); register char* q = (char*)b->label.text(); // Prepare wide char strings wchar_t* wa = NULL; wchar_t* wb = NULL; size_t an, bn; an = mbstowcs(NULL, (const char*)p, 0); if (an == (size_t)-1) { return(compare_nolocale(p, q, igncase, asc)); // If error, fall back to no locale comparison } wa = (wchar_t*)calloc(an + 1, sizeof(wchar_t)); if (wa == NULL) { errno = ENOMEM; return(0); } mbstowcs(wa, p, an + 1); bn = mbstowcs(NULL, (const char*)q, 0); if (bn == (size_t)-1) { free(wa); return(compare_nolocale(p, q, igncase, asc)); // If error, fall back to no locale comparison } wb = (wchar_t*)calloc(bn + 1, sizeof(wchar_t)); if (wb == NULL) { errno = ENOMEM; free(wa); free(wb); return(0); } mbstowcs(wb, q, bn + 1); // Perform comparison based on the current locale int ret = compare_locale(wa, wb, igncase, asc); // Free memory if (wa != NULL) { free(wa); } if (wb != NULL) { free(wb); } return(ret); } // Sort ascending order, keeping directories first int DirList::ascending(const FXTreeItem* pa, const FXTreeItem* pb) { return(compareItem(pa, pb, false, true)); } // Sort descending order, keeping directories first int DirList::descending(const FXTreeItem* pa, const FXTreeItem* pb) { return(compareItem(pa, pb, false, false)); } // Sort ascending order, case insensitive, keeping directories first int DirList::ascendingCase(const FXTreeItem* pa, const FXTreeItem* pb) { return(compareItem(pa, pb, true, true)); } // Sort descending order, case insensitive, keeping directories first int DirList::descendingCase(const FXTreeItem* pa, const FXTreeItem* pb) { return(compareItem(pa, pb, true, false)); } // Handle drag-and-drop enter long DirList::onDNDEnter(FXObject* sender, FXSelector sel, void* ptr) { FXTreeList::onDNDEnter(sender, sel, ptr); return(1); } // Handle drag-and-drop leave long DirList::onDNDLeave(FXObject* sender, FXSelector sel, void* ptr) { // Cancel open up timer getApp()->removeTimeout(this, ID_EXPAND_TIMER); stopAutoScroll(); FXTreeList::onDNDLeave(sender, sel, ptr); if (prevSelItem) { if (!isItemCurrent(prevSelItem)) { closeItem(prevSelItem); } prevSelItem = NULL; } return(1); } // Handle drag-and-drop motion long DirList::onDNDMotion(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; TreeItem* item; // Cancel open up timer getApp()->removeTimeout(this, ID_EXPAND_TIMER); // Start autoscrolling if (startAutoScroll(event, false)) { return(1); } // Give base class a shot if (FXTreeList::onDNDMotion(sender, sel, ptr)) { return(1); } // Dropping list of filenames if (offeredDNDType(FROM_DRAGNDROP, urilistType)) { // Locate drop place item = (TreeItem*)getItemAt(event->win_x, event->win_y); // We can drop in a directory if (item && isItemDirectory(item)) { // Get drop directory dropdirectory = getItemPathname(item); // What is being done (move,copy,link) dropaction = inquireDNDAction(); // Set open up timer getApp()->addTimeout(this, ID_EXPAND_TIMER, EXPAND_INTERVAL); // Set icon to open folder icon setItemOpenIcon(item, minifolderopenicon); // See if this is writable if (::isWritable(dropdirectory)) { acceptDrop(DRAG_ACCEPT); int x, y; FXuint state; getCursorPosition(x, y, state); TreeItem* item = (TreeItem*)getItemAt(x, y); if (prevSelItem && (prevSelItem != item)) { if (!isItemCurrent(prevSelItem)) { closeItem(prevSelItem); } prevSelItem = NULL; } if (item && (prevSelItem != item)) { openItem(item); prevSelItem = item; } } } return(1); } return(0); } // Set drag type to copy long DirList::onCmdDragCopy(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_COPY; return(1); } // Set drag type to move long DirList::onCmdDragMove(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_MOVE; return(1); } // Set drag type to symlink long DirList::onCmdDragLink(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_LINK; return(1); } // Cancel drag action long DirList::onCmdDragReject(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_REJECT; return(1); } // Handle drag-and-drop drop long DirList::onDNDDrop(FXObject* sender, FXSelector sel, void* ptr) { FXuchar* data; FXuint len; FXbool showdialog = true; int ret; File* f = NULL; FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); FXbool confirm_dnd = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_drag_and_drop", true); // Cancel open up timer getApp()->removeTimeout(this, ID_EXPAND_TIMER); // Stop scrolling stopAutoScroll(); // Perhaps target wants to deal with it if (FXTreeList::onDNDDrop(sender, sel, ptr)) { return(1); } // Check if control key or shift key were pressed FXbool ctrlshiftkey = false; if (ptr != NULL) { FXEvent* event = (FXEvent*)ptr; if (event->state&CONTROLMASK) { ctrlshiftkey = true; } if (event->state&SHIFTMASK) { ctrlshiftkey = true; } } // Get DND data // This is done before displaying the popup menu to fix a drag and drop problem with konqueror and dolphin file managers FXbool dnd = getDNDData(FROM_DRAGNDROP, urilistType, data, len); // Display the dnd dialog if the control or shift key were not pressed if (confirm_dnd & !ctrlshiftkey) { // Display a popup to select the drag type dropaction = DRAG_REJECT; FXMenuPane menu(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); new FXMenuCommand(&menu, _("Copy here"), copy_clpicon, this, DirList::ID_DRAG_COPY); new FXMenuCommand(&menu, _("Move here"), moveiticon, this, DirList::ID_DRAG_MOVE); new FXMenuCommand(&menu, _("Link here"), minilinkicon, this, DirList::ID_DRAG_LINK); new FXMenuSeparator(&menu); new FXMenuCommand(&menu, _("Cancel"), NULL, this, DirList::ID_DRAG_REJECT); menu.create(); allowPopupScroll = true; // Allow keyboard scrolling menu.popup(NULL, x, y); getApp()->runModalWhileShown(&menu); allowPopupScroll = false; } // Close item if (prevSelItem) { if (!isItemCurrent(prevSelItem)) { closeItem(prevSelItem); } prevSelItem = NULL; } // Get uri-list of files being dropped //if (getDNDData(FROM_DRAGNDROP,urilistType,data,len)) if (dnd) // See comment upper { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; char* p, *q; p = q = (char*)data; // Number of selected items FXString buf = p; int num = buf.contains('\n')+1; // Eventually correct the number of selected items // because sometimes there is another '\n' at the end of the string int pos = buf.rfind('\n'); if (pos == buf.length()-1) { num = num-1; } // File object if (dropaction == DRAG_COPY) { f = new File(this, _("File copy"), COPY, num); } else if (dropaction == DRAG_MOVE) { f = new File(this, _("File move"), MOVE, num); } else if (dropaction == DRAG_LINK) { f = new File(this, _("File symlink"), SYMLINK, num); } else { FXFREE(&data); return(0); } // Target directory FXString targetdir = dropdirectory; while (*p) { while (*q && *q != '\r') { q++; } FXString url(p, q-p); FXString source(FXURL::fileFromURL(url)); FXString target(targetdir); FXString sourcedir = FXPath::directory(source); // File operation dialog, if needed if ( ((!confirm_dnd) | ctrlshiftkey) & ask_before_copy & showdialog) { FXIcon* icon = NULL; FXString title, message; if (dropaction == DRAG_COPY) { title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = title+source; } else { title.format(_("Copy %s files/folders.\nFrom: %s"), FXStringVal(num).text(), sourcedir.text()); } } else if (dropaction == DRAG_MOVE) { title = _("Move"); icon = move_bigicon; if (num == 1) { message = title+source; } else { title.format(_("Move %s files/folders.\nFrom: %s"), FXStringVal(num).text(), sourcedir.text()); } } else if ((dropaction == DRAG_LINK) && (num == 1)) { title = _("Symlink"); icon = link_bigicon; message = title+source; } InputDialog* dialog = new InputDialog(this, targetdir, message, title, _("To:"), icon); dialog->CursorEnd(); int rc = 1; rc = dialog->execute(); target = dialog->getText(); target = ::filePath(target); if (num > 1) { showdialog = false; } delete dialog; if (!rc) { return(0); } } // Move the source file if (dropaction == DRAG_MOVE) { // Move file f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (FXPath::directory(target) == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = FXPath::directory(target)+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { //target=FXPath::directory(target); ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); break; } // Set directory to the source parent setDirectory(sourcedir, false); } // Copy the source file else if (dropaction == DRAG_COPY) { // Copy file f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (FXPath::directory(target) == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = FXPath::directory(target)+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { //target=FXPath::directory(target); ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); break; } } // Link the source file (no progress dialog in this case) else if (dropaction == DRAG_LINK) { // Link file f->create(); f->symlink(source, target); } if (*q == '\r') { q += 2; } p = q; } delete f; FXFREE(&data); // Force a refresh of the DirList onCmdRefresh(0, 0, 0); return(1); } return(0); } // Somebody wants our dragged data long DirList::onDNDRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuchar* data; FXuint len; // Perhaps the target wants to supply its own data if (FXTreeList::onDNDRequest(sender, sel, ptr)) { return(1); } // Return list of filenames as a uri-list if (event->target == urilistType) { if (!dragfiles.empty()) { len = dragfiles.length(); FXMEMDUP(&data, dragfiles.text(), FXuchar, len); setDNDData(FROM_DRAGNDROP, event->target, data, len); } return(1); } // Delete selected files if (event->target == deleteType) { return(1); } return(0); } // Start a drag operation long DirList::onBeginDrag(FXObject* sender, FXSelector sel, void* ptr) { register TreeItem* item; if (FXTreeList::onBeginDrag(sender, sel, ptr)) { return(1); } if (beginDrag(&urilistType, 1)) { dragfiles = FXString::null; item = (TreeItem*)firstitem; while (item) { if (item->isSelected()) { if (!dragfiles.empty()) { dragfiles += "\r\n"; } dragfiles += ::fileToURI(getItemPathname(item)); } if (item->first) { item = (TreeItem*)item->first; } else { while (!item->next && item->parent) { item = (TreeItem*)item->parent; } item = (TreeItem*)item->next; } } return(1); } return(0); } // End drag operation long DirList::onEndDrag(FXObject* sender, FXSelector sel, void* ptr) { if (FXTreeList::onEndDrag(sender, sel, ptr)) { return(1); } endDrag((didAccept() != DRAG_REJECT)); setDragCursor(getDefaultCursor()); return(1); } // Dragged stuff around long DirList::onDragged(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXDragAction action; if (FXTreeList::onDragged(sender, sel, ptr)) { return(1); } action = DRAG_MOVE; if (event->state&CONTROLMASK) { action = DRAG_COPY; } if (event->state&SHIFTMASK) { action = DRAG_MOVE; } if ((event->state&CONTROLMASK) && (event->state&SHIFTMASK)) { action = DRAG_LINK; } handleDrag(event->root_x, event->root_y, action); if (didAccept() != DRAG_REJECT) { if (action == DRAG_MOVE) { setDragCursor(getApp()->getDefaultCursor(DEF_DNDMOVE_CURSOR)); } else if (action == DRAG_LINK) { setDragCursor(getApp()->getDefaultCursor(DEF_DNDLINK_CURSOR)); } else { setDragCursor(getApp()->getDefaultCursor(DEF_DNDCOPY_CURSOR)); } } else { setDragCursor(getApp()->getDefaultCursor(DEF_DNDSTOP_CURSOR)); } return(1); } // Toggle hidden files long DirList::onCmdToggleHidden(FXObject*, FXSelector, void*) { showHiddenFiles(!shownHiddenFiles()); return(1); } // Update toggle hidden files widget long DirList::onUpdToggleHidden(FXObject* sender, FXSelector, void*) { if (shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Show hidden files long DirList::onCmdShowHidden(FXObject*, FXSelector, void*) { showHiddenFiles(true); return(1); } // Update show hidden files widget long DirList::onUpdShowHidden(FXObject* sender, FXSelector, void*) { if (shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Hide hidden files long DirList::onCmdHideHidden(FXObject*, FXSelector, void*) { showHiddenFiles(false); return(1); } // Update hide hidden files widget long DirList::onUpdHideHidden(FXObject* sender, FXSelector, void*) { if (!shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Toggle files display long DirList::onCmdToggleFiles(FXObject*, FXSelector, void*) { showFiles(!showFiles()); return(1); } // Update toggle files widget long DirList::onUpdToggleFiles(FXObject* sender, FXSelector, void*) { if (showFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Show files long DirList::onCmdShowFiles(FXObject*, FXSelector, void*) { showFiles(true); return(1); } // Update show files widget long DirList::onUpdShowFiles(FXObject* sender, FXSelector, void*) { if (showFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Hide files long DirList::onCmdHideFiles(FXObject*, FXSelector, void*) { showFiles(false); return(1); } // Update hide files widget long DirList::onUpdHideFiles(FXObject* sender, FXSelector, void*) { if (!showFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Change pattern long DirList::onCmdSetPattern(FXObject*, FXSelector, void* ptr) { if (!ptr) { return(0); } setPattern((const char*)ptr); return(1); } // Update pattern long DirList::onUpdSetPattern(FXObject* sender, FXSelector, void*) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SETVALUE), (void*)pattern.text()); return(1); } // Reverse sort order long DirList::onCmdSortReverse(FXObject*, FXSelector, void*) { if (sortfunc == (FXTreeListSortFunc)ascending) { sortfunc = (FXTreeListSortFunc)descending; } else if (sortfunc == (FXTreeListSortFunc)descending) { sortfunc = (FXTreeListSortFunc)ascending; } else if (sortfunc == (FXTreeListSortFunc)ascendingCase) { sortfunc = (FXTreeListSortFunc)descendingCase; } else if (sortfunc == (FXTreeListSortFunc)descendingCase) { sortfunc = (FXTreeListSortFunc)ascendingCase; } scan(true); return(1); } // Update sender long DirList::onUpdSortReverse(FXObject* sender, FXSelector, void* ptr) { sender->handle(this, (sortfunc == (FXTreeListSortFunc)descending || sortfunc == (FXTreeListSortFunc)descendingCase) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), ptr); return(1); } // Toggle case sensitivity long DirList::onCmdSortCase(FXObject*, FXSelector, void*) { if (sortfunc == (FXTreeListSortFunc)ascending) { sortfunc = (FXTreeListSortFunc)ascendingCase; } else if (sortfunc == (FXTreeListSortFunc)descending) { sortfunc = (FXTreeListSortFunc)descendingCase; } else if (sortfunc == (FXTreeListSortFunc)ascendingCase) { sortfunc = (FXTreeListSortFunc)ascending; } else if (sortfunc == (FXTreeListSortFunc)descendingCase) { sortfunc = (FXTreeListSortFunc)descending; } scan(true); return(1); } // Check if case sensitive long DirList::onUpdSortCase(FXObject* sender, FXSelector, void* ptr) { sender->handle(this, (sortfunc == (FXTreeListSortFunc)ascendingCase || sortfunc == (FXTreeListSortFunc)descendingCase) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), ptr); return(1); } // Close directory long DirList::onClosed(FXObject*, FXSelector, void* ptr) { DirItem* item = (DirItem*)ptr; if (item->state&DirItem::FOLDER) { return(target && target->handle(this, FXSEL(SEL_CLOSED, message), ptr)); } return(1); } // Open directory long DirList::onOpened(FXObject*, FXSelector, void* ptr) { DirItem* item = (DirItem*)ptr; if (item->state&DirItem::FOLDER) { return(target && target->handle(this, FXSEL(SEL_OPENED, message), ptr)); } return(1); } // Item opened long DirList::onExpanded(FXObject* sender, FXSelector sel, void* ptr) { DirItem* item = (DirItem*)ptr; if (!(item->state&DirItem::FOLDER)) { return(0); } // Expand tree item expandTree((TreeItem*)item, true); listChildItems(item); // Now we know for sure whether we really have subitems or not if (!item->first) { item->state &= ~DirItem::HASITEMS; } else { item->state |= DirItem::HASITEMS; } sortChildItems(item); return(1); } // Item closed long DirList::onCollapsed(FXObject* sender, FXSelector sel, void* ptr) { DirItem* item = (DirItem*)ptr; if (!(item->state&DirItem::FOLDER)) { return(0); } // Collapse tree item collapseTree((TreeItem*)item, true); return(1); } // Expand tree FXbool DirList::expandTree(TreeItem* tree, FXbool notify) { if (FXTreeList::expandTree(tree, notify)) { if (isItemDirectory(tree)) { listChildItems((DirItem*)tree); sortChildItems(tree); } return(true); } return(false); } // Collapse tree FXbool DirList::collapseTree(TreeItem* tree, FXbool notify) { if (FXTreeList::collapseTree(tree, notify)) { if (isItemDirectory(tree)) { // As a memory saving feature, all knowledge below this item // is deleted; we'll just recreate it when its reexpanded! removeItems(tree->first, tree->last); recalc(); } return(true); } return(false); } #if defined(linux) // To periodically scan /proc/mounts and refresh the mtdevices list long DirList::onMtdevicesRefresh(FXObject*, FXSelector, void*) { // Don't refresh if window is minimized if (((FXTopWindow*)focuswindow)->isMinimized()) { return(0); } struct mntent* mnt; FXStringDict* tmpdict = new FXStringDict(); FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { tmpdict->insert(mnt->mnt_dir, ""); if (mtdevices->find(mnt->mnt_dir)) { mtdevices->remove(mnt->mnt_dir); } mtdevices->insert(mnt->mnt_dir, mnt->mnt_type); } } endmntent(mtab); } // Remove mount points that don't exist anymore int s; for (s = mtdevices->first(); s < mtdevices->size(); s = mtdevices->next(s)) { if (!tmpdict->find(mtdevices->key(s))) { mtdevices->remove(mtdevices->key(s)); } } delete tmpdict; // Reset timer again getApp()->addTimeout(this, ID_MTDEVICES_REFRESH, MTDEVICES_INTERVAL*1000); return(0); } // To periodically scan /proc/mounts and detect up and down mounted devices // NB : the refresh period is much longer than for onMtdevicesRefresh long DirList::onUpdevicesRefresh(FXObject*, FXSelector, void*) { // Don't refresh if window is minimized if (((FXTopWindow*)focuswindow)->isMinimized()) { return(0); } struct mntent* mnt; struct stat statbuf; FXString mtstate; FXbool mount_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "mount_warn", true); FXStringDict* tmpdict = new FXStringDict(); FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { tmpdict->insert(mnt->mnt_dir, ""); if ((lstatmt(mnt->mnt_dir, &statbuf) == -1) && (errno != EACCES)) { mtstate = "down"; if (mount_warn) { MessageBox::warning(this, BOX_OK, _("Warning"), _("Mount point %s is not responding..."), mnt->mnt_dir); } } else { mtstate = "up"; } if (updevices->find(mnt->mnt_dir)) { updevices->remove(mnt->mnt_dir); } updevices->insert(mnt->mnt_dir, mtstate.text()); } } endmntent(mtab); } // Remove mount points that don't exist anymore int s; for (s = updevices->first(); s < updevices->size(); s = updevices->next(s)) { if (!tmpdict->find(updevices->key(s))) { updevices->remove(updevices->key(s)); } } delete tmpdict; // Reset timer again getApp()->addTimeout(this, ID_UPDEVICES_REFRESH, UPDEVICES_INTERVAL*1000); return(0); } #endif // Refresh with timer long DirList::onCmdRefreshTimer(FXObject*, FXSelector, void*) { // Don't refresh if window is minimized if (((FXTopWindow*)focuswindow)->isMinimized()) { return(0); } if (flags&FLAG_UPDATE) { scan(false); counter = (counter+1)%REFRESH_FREQUENCY; } // Reset timer again getApp()->addTimeout(this, ID_REFRESH_TIMER, REFRESH_INTERVAL); return(0); } // Force refresh long DirList::onCmdRefresh(FXObject*, FXSelector, void*) { scan(true); return(0); } // Scan items to see if listing is necessary void DirList::scan(FXbool force) { FXString pathname; struct stat info; DirItem* item; // Do root first time if (!firstitem || force) { listRootItems(); sortRootItems(); } // Check all items item = (DirItem*)firstitem; while (item) { // Is expanded directory? if (item->isDirectory() && item->isExpanded()) { // Get the full path of the item pathname = getItemPathname((TreeItem*)item); // Stat this directory if (statrep(pathname.text(), &info) == 0) { // Get the mod date of the item FXTime newdate = (FXTime)FXMAX(info.st_mtime, info.st_ctime); // Forced, date was changed, or failed to get proper date and counter expired if (force || (item->date != newdate) || (counter == 0)) { // And do the refresh #if defined(linux) onMtdevicesRefresh(0, 0, 0); // Force mtdevices list refresh #endif listChildItems(item); sortChildItems(item); // Remember when we did this item->date = newdate; } // Go deeper if (item->first) { item = (DirItem*)item->first; continue; } } // Directory does not exist else { // Go to parent and rescan setDirectory(FXPath::directory(pathname), false); scan(true); break; } } // Go up while (!item->next && item->parent) { item = (DirItem*)item->parent; } // Go to next item = (DirItem*)item->next; } } // List root directories void DirList::listRootItems() { DirItem* item = (DirItem*)firstitem; FXIcon* openicon, *closedicon; FileAssoc* fileassoc; // First time, make root node if (!item) { item = list = (DirItem*)appendItem(NULL, PATHSEPSTRING, harddiskicon, harddiskicon, NULL, true); } // Root is a directory, has items under it, and is searchable item->state |= DirItem::FOLDER|DirItem::HASITEMS; item->state &= ~(DirItem::CHARDEV|DirItem::BLOCKDEV|DirItem::FIFO|DirItem::SOCK|DirItem::SYMLINK|DirItem::EXECUTABLE); // Determine associations, icons and type fileassoc = NULL; openicon = harddiskicon; closedicon = harddiskicon; if (associations) { fileassoc = associations->findDirBinding(PATHSEPSTRING); } // If association is found, use it if (fileassoc) { if (fileassoc->miniicon) { closedicon = fileassoc->miniicon; } if (fileassoc->miniiconopen) { openicon = fileassoc->miniiconopen; } } // Update item information item->openIcon = openicon; item->closedIcon = closedicon; item->size = 0L; item->assoc = fileassoc; item->date = 0; // Create item if (id()) { item->create(); } // Need to layout recalc(); } // List child items void DirList::listChildItems(DirItem* par) { DirItem* oldlist, *newlist, **po, **pp, **pn, *item, *link; FXIcon* openicon, *closedicon; FileAssoc* fileassoc; DIR* dirp; struct dirent* dp; struct stat info; FXString pathname, directory, name; FXString type, mod, usrid, grpid, atts, del; FXString timeformat; int islink; FXlong deldate; // Path to parent node directory = getItemPathname((TreeItem*)par); // Read time format timeformat = getApp()->reg().readStringEntry("SETTINGS", "time_format", DEFAULT_TIME_FORMAT); // Build new insert-order list oldlist = par->list; newlist = NULL; // Assemble lists po = &oldlist; pn = &newlist; // Get directory stream pointer dirp = opendir(directory.text()); // Managed to open directory if (dirp) { // Process directory entries while ((dp = readdir(dirp)) != NULL) { // Get name of entry name = dp->d_name; // A dot special file? if ((name[0] == '.') && ((name[1] == 0) || ((name[1] == '.') && (name[2] == 0)))) { continue; } // Hidden file or directory normally not shown if ((name[0] == '.') && !(options&DIRLIST_SHOWHIDDEN)) { continue; } // Build full pathname of entry pathname = directory; if (!ISPATHSEP(pathname[pathname.length()-1])) { pathname += PATHSEPSTRING; } pathname += name; // Get file/link info if (lstatrep(pathname.text(), &info) != 0) { continue; } // If its a link, get the info on file itself islink = S_ISLNK(info.st_mode); if (islink && (statrep(pathname.text(), &info) != 0)) { continue; } // If it is not a directory, and not showing files and matching pattern skip it if (!S_ISDIR(info.st_mode) && !((options&DIRLIST_SHOWFILES) && FXPath::match(pattern, name, matchmode))) { continue; } // Find it, and take it out from the old list if found for (pp = po; (item = *pp) != NULL; pp = &item->link) { if (compare(item->label, name) == 0) { *pp = item->link; item->link = NULL; po = pp; goto fnd; } } // Not found; prepend before list item = (DirItem*)appendItem(par, name, minifolderopenicon, minifolderclosedicon, NULL, true); // Next gets hung after this one fnd: *pn = item; pn = &item->link; // Item flags if (info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) { item->state |= DirItem::EXECUTABLE; } else { item->state &= ~DirItem::EXECUTABLE; } if (S_ISDIR(info.st_mode)) { item->state |= DirItem::FOLDER; item->state &= ~DirItem::EXECUTABLE; } else { item->state &= ~(DirItem::FOLDER|DirItem::HASITEMS); } if (S_ISCHR(info.st_mode)) { item->state |= DirItem::CHARDEV; item->state &= ~DirItem::EXECUTABLE; } else { item->state &= ~DirItem::CHARDEV; } if (S_ISBLK(info.st_mode)) { item->state |= DirItem::BLOCKDEV; item->state &= ~DirItem::EXECUTABLE; } else { item->state &= ~DirItem::BLOCKDEV; } if (S_ISFIFO(info.st_mode)) { item->state |= DirItem::FIFO; item->state &= ~DirItem::EXECUTABLE; } else { item->state &= ~DirItem::FIFO; } if (S_ISSOCK(info.st_mode)) { item->state |= DirItem::SOCK; item->state &= ~DirItem::EXECUTABLE; } else { item->state &= ~DirItem::SOCK; } if (islink) { item->state |= DirItem::SYMLINK; } else { item->state &= ~DirItem::SYMLINK; } // We can drag items item->state |= DirItem::DRAGGABLE; // Assume no associations fileassoc = NULL; // Determine icons and type if (item->state&DirItem::FOLDER) { if (!::isReadExecutable(pathname)) { openicon = minifolderlockedicon; closedicon = minifolderlockedicon; } else { openicon = minifolderopenicon; closedicon = minifolderclosedicon; } if (associations) { fileassoc = associations->findDirBinding(pathname.text()); } } else if (item->state&DirItem::EXECUTABLE) { openicon = miniappicon; closedicon = miniappicon; if (associations) { fileassoc = associations->findExecBinding(pathname.text()); } } else { openicon = minidocicon; closedicon = minidocicon; if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } // If association is found, use it if (fileassoc) { if (fileassoc->miniicon) { closedicon = fileassoc->miniicon; } if (fileassoc->miniiconopen) { openicon = fileassoc->miniiconopen; } } // Update item information item->openIcon = openicon; item->closedIcon = closedicon; item->size = (FXulong)info.st_size; item->assoc = fileassoc; item->date = info.st_mtime; // Set the HASITEMS flag (hasSubDirs(pathname.text()) == 1 ? item->setHasItems(true) : item->setHasItems(false)); // Default folder type type = _("Folder"); // Obtain user name FXString usrid = FXSystem::userName(info.st_uid); // Obtain group name FXString grpid = FXSystem::groupName(info.st_gid); // Permissions (caution : we don't use the FXSystem::modeString() function because // it seems to be incompatible with the info.st_mode format) FXString atts = ::permissions(info.st_mode); // Modification time mod = FXSystem::time(timeformat.text(), item->date); // If we are in trash can, obtain the deletion time deldate = 0; del = ""; if (FXPath::directory(pathname) == trashfileslocation) { char* endptr; FXString str; str = pathname.rafter('_'); str = str.rbefore('-'); deldate = strtol(str.text(), &endptr, 10); if (deldate != 0) { del = FXSystem::time(timeformat.text(), deldate); } } #if defined(linux) // Mounted devices may have a specific icon if (mtdevices->find(pathname.text())) { type = _("Mount point"); if (streq(mtdevices->find(pathname.text()), "cifs")) { item->closedIcon = nfsdriveicon; item->openIcon = nfsdriveicon; } else { item->closedIcon = harddiskicon; item->openIcon = harddiskicon; } } // Devices found in fstab may have a specific icon if (fsdevices->find(pathname.text())) { type = _("Mount point"); if (streq(fsdevices->find(pathname.text()), "harddisk")) { item->closedIcon = harddiskicon; item->openIcon = harddiskicon; } else if (streq(fsdevices->find(pathname.text()), "nfsdisk")) { item->closedIcon = nfsdriveicon; item->openIcon = nfsdriveicon; } else if (streq(fsdevices->find(pathname.text()), "smbdisk")) { item->closedIcon = nfsdriveicon; item->openIcon = nfsdriveicon; } else if (streq(fsdevices->find(pathname.text()), "floppy")) { item->closedIcon = floppyicon; item->openIcon = floppyicon; } else if (streq(fsdevices->find(pathname.text()), "cdrom")) { item->closedIcon = cdromicon; item->openIcon = cdromicon; } else if (streq(fsdevices->find(pathname.text()), "zip")) { item->closedIcon = zipicon; item->openIcon = zipicon; } } #endif // Symbolic links have a specific icon if (islink) { type = _("Link to Folder"); item->closedIcon = minilinkicon; item->openIcon = minilinkicon; } // Data used to update the tooltip item->tdata = item->label+"\t"+type+"\t"+mod+"\t"+usrid+"\t"+grpid+"\t"+atts+"\t"+del+"\t"+pathname; item->setData(&item->tdata); // Create item if (id()) { item->create(); } } // Close it closedir(dirp); } // Wipe items remaining in list:- they have disappeared!! for (item = oldlist; item; item = link) { link = item->link; removeItem(item, true); } // Now we know for sure whether we really have subitems or not if (par->first) { par->state |= DirItem::HASITEMS; } else { par->state &= ~DirItem::HASITEMS; } // Remember new list par->list = newlist; // Need to layout recalc(); } // Is directory FXbool DirList::isItemDirectory(const TreeItem* item) const { if (item == NULL) { fprintf(stderr, "%s::isItemDirectory: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } return((item->state&DirItem::FOLDER) != 0); } // Is file FXbool DirList::isItemFile(const TreeItem* item) const { if (item == NULL) { fprintf(stderr, "%s::isItemFile: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } return((item->state&(DirItem::FOLDER|DirItem::CHARDEV|DirItem::BLOCKDEV|DirItem::FIFO|DirItem::SOCK)) == 0); } // Is executable FXbool DirList::isItemExecutable(const TreeItem* item) const { if (item == NULL) { fprintf(stderr, "%s::isItemExecutable: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } return((item->state&DirItem::EXECUTABLE) != 0); } // Return absolute pathname of item FXString DirList::getItemPathname(const TreeItem* item) const { FXString pathname; if (item) { while (1) { pathname.prepend(item->getText()); item = (TreeItem*)item->parent; if (!item) { break; } if (item->parent) { pathname.prepend(PATHSEP); } } } return(pathname); } // Return the item from the absolute pathname TreeItem* DirList::getPathnameItem(const FXString& path) { register TreeItem* item, *it; register int beg = 0, end = 0; FXString name; if (!path.empty()) { if (ISPATHSEP(path[0])) { end++; } if (beg < end) { name = path.mid(beg, end-beg); for (it = (TreeItem*)firstitem; it; it = (TreeItem*)it->next) { if (compare(name, it->getText()) == 0) { goto x; } } listRootItems(); sortRootItems(); for (it = (TreeItem*)firstitem; it; it = (TreeItem*)it->next) { if (compare(name, it->getText()) == 0) { goto x; } } return(NULL); x: item = it; FXASSERT(item); while (end < path.length()) { beg = end; while (end < path.length() && !ISPATHSEP(path[end])) { end++; } name = path.mid(beg, end-beg); for (it = (TreeItem*)item->first; it; it = (TreeItem*)it->next) { if (compare(name, it->getText()) == 0) { goto y; } } listChildItems((DirItem*)item); sortChildItems(item); for (it = (TreeItem*)item->first; it; it = (TreeItem*)it->next) { if (compare(name, it->getText()) == 0) { goto y; } } return(item); y: item = it; FXASSERT(item); if ((end < path.length()) && ISPATHSEP(path[end])) { end++; } } FXASSERT(item); return(item); } } return(NULL); } // Obtain item's file name only FXString DirList::getItemFilename(const TreeItem* item) const { if (item == NULL) { fprintf(stderr, "%s::getItemFilename: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } return(item->label); } // Open all intermediate directories down toward given one void DirList::setDirectory(const FXString& pathname, FXbool notify) { if (!pathname.empty()) { FXString path = FXPath::absolute(getItemPathname((TreeItem*)currentitem), pathname); while (!FXPath::isTopDirectory(path) && !::isDirectory(path)) { path = FXPath::upLevel(path); } TreeItem* item = getPathnameItem(path); if (id()) { layout(); } makeItemVisible(item); setCurrentItem(item, notify); } } // Return directory part of path to current item FXString DirList::getDirectory() const { const TreeItem* item = (TreeItem*)currentitem; while (item) { if (item->state&DirItem::FOLDER) { return(getItemPathname(item)); } item = (TreeItem*)item->parent; } return(""); } // Set current (dir/file) name path void DirList::setCurrentFile(const FXString& pathname, FXbool notify) { if (!pathname.empty()) { FXString path = FXPath::absolute(getItemPathname((TreeItem*)currentitem), pathname); while (!FXPath::isTopDirectory(path) && !::exists(path)) { path = FXPath::upLevel(path); } TreeItem* item = getPathnameItem(path); if (id()) { layout(); } makeItemVisible(item); setCurrentItem(item, notify); } } // Get current (dir/file) name path FXString DirList::getCurrentFile() const { return(getItemPathname((TreeItem*)currentitem)); } // Get list style FXbool DirList::showFiles() const { return((options&DIRLIST_SHOWFILES) != 0); } // Change list style void DirList::showFiles(FXbool showing) { FXuint opts = options; if (showing) { opts |= DIRLIST_SHOWFILES; } else { opts &= ~DIRLIST_SHOWFILES; } if (options != opts) { options = opts; scan(true); } setFocus(); } // Return true if showing hidden files FXbool DirList::shownHiddenFiles() const { return((options&DIRLIST_SHOWHIDDEN) != 0); } // Change show hidden files mode void DirList::showHiddenFiles(FXbool showing) { FXuint opts = options; if (showing) { opts |= DIRLIST_SHOWHIDDEN; } else { opts &= ~DIRLIST_SHOWHIDDEN; } if (opts != options) { options = opts; scan(true); } setFocus(); } // Set associations void DirList::setAssociations(FileDict* assoc) { associations = assoc; scan(true); } // Set the pattern to filter void DirList::setPattern(const FXString& ptrn) { if (ptrn.empty()) { return; } if (pattern != ptrn) { pattern = ptrn; scan(true); } setFocus(); } // Change file match mode void DirList::setMatchMode(FXuint mode) { if (matchmode != mode) { matchmode = mode; scan(true); } setFocus(); } // Cleanup DirList::~DirList() { clearItems(); getApp()->removeTimeout(this, ID_REFRESH_TIMER); getApp()->removeTimeout(this, ID_EXPAND_TIMER); #if defined(linux) getApp()->removeTimeout(this, ID_MTDEVICES_REFRESH); getApp()->removeTimeout(this, ID_UPDEVICES_REFRESH); #endif if (!(options&DIRLIST_NO_OWN_ASSOC)) { delete associations; } associations = (FileDict*)-1; } // Update refresh timers if the window gains focus long DirList::onUpdRefreshTimers(FXObject*, FXSelector, void*) { static FXbool prevMinimized = true; static FXbool minimized = true; prevMinimized = minimized; if (((FXTopWindow*)focuswindow)->isMinimized()) { minimized = false; } else { minimized = true; } // Update refresh timers if ((prevMinimized == false) && (minimized == true)) { onCmdRefreshTimer(0, 0, 0); #if defined(linux) onMtdevicesRefresh(0, 0, 0); onUpdevicesRefresh(0, 0, 0); #endif } return(1); } xfe-1.42/src/FileDialog.cpp0000644000175100017510000016005512631241160012442 00000000000000// File dialog. Taken from the FOX library and slightly modified. #include "config.h" #include "i18n.h" #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "FileList.h" #include "InputDialog.h" #include "DirHistBox.h" #include "MessageBox.h" #include "FileDialog.h" #define FILELISTMASK (_ICONLIST_EXTENDEDSELECT|_ICONLIST_SINGLESELECT|_ICONLIST_BROWSESELECT|_ICONLIST_MULTIPLESELECT) #define FILESTYLEMASK (_ICONLIST_DETAILED|_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS|_ICONLIST_ROWS|_ICONLIST_COLUMNS|_ICONLIST_AUTOSIZE) // Single click navigation extern FXuint single_click; // To allow keyboard scrolling in popup dialogs extern FXbool allowPopupScroll; // Map FXDEFMAP(FileSelector) FileSelectorMap[] = { FXMAPFUNC(SEL_COMMAND, FileSelector::ID_ACCEPT, FileSelector::onCmdAccept), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_FILEFILTER, FileSelector::onCmdFilter), FXMAPFUNC(SEL_DOUBLECLICKED, FileSelector::ID_FILELIST, FileSelector::onCmdItemDoubleClicked), FXMAPFUNC(SEL_CLICKED, FileSelector::ID_FILELIST, FileSelector::onCmdItemClicked), FXMAPFUNC(SEL_SELECTED, FileSelector::ID_FILELIST, FileSelector::onCmdItemSelected), FXMAPFUNC(SEL_DESELECTED, FileSelector::ID_FILELIST, FileSelector::onCmdItemDeselected), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_DIR_UP, FileSelector::onCmdDirUp), FXMAPFUNC(SEL_UPDATE, FileSelector::ID_DIR_UP, FileSelector::onUpdDirUp), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_DIR_BACK, FileSelector::onCmdDirBack), FXMAPFUNC(SEL_UPDATE, FileSelector::ID_DIR_BACK, FileSelector::onUpdDirBack), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_DIR_FORWARD, FileSelector::onCmdDirForward), FXMAPFUNC(SEL_UPDATE, FileSelector::ID_DIR_FORWARD, FileSelector::onUpdDirForward), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_DIR_BACK_HIST, FileSelector::onCmdDirBackHist), FXMAPFUNC(SEL_UPDATE, FileSelector::ID_DIR_BACK_HIST, FileSelector::onUpdDirBackHist), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_DIR_FORWARD_HIST, FileSelector::onCmdDirForwardHist), FXMAPFUNC(SEL_UPDATE, FileSelector::ID_DIR_FORWARD_HIST, FileSelector::onUpdDirForwardHist), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_HOME, FileSelector::onCmdHome), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_NEWDIR, FileSelector::onCmdNewDir), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_NEWFILE, FileSelector::onCmdNewFile), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_WORK, FileSelector::onCmdWork), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, FileSelector::ID_FILELIST, FileSelector::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, FileSelector::ID_POPUP_MENU, FileSelector::onCmdPopupMenu), FXMAPFUNC(SEL_KEYPRESS, 0, FileSelector::onCmdKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, FileSelector::onCmdKeyRelease), }; // Implementation FXIMPLEMENT(FileSelector, FXPacker, FileSelectorMap, ARRAYNUMBER(FileSelectorMap)) // Default pattern static const char allfiles[] = "All Files (*)"; // File selector object FileSelector::FileSelector(FXComposite* p, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h) : FXPacker(p, opts, x, y, w, h, 0, 0, 0, 0, 0, 0) { FXAccelTable* table = getShell()->getAccelTable(); target = tgt; message = sel; // Global container FXVerticalFrame* cont = new FXVerticalFrame(this, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // Container for the action buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(cont, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0); // Container for the path linker FXHorizontalFrame* pathframe = new FXHorizontalFrame(cont, LAYOUT_FILL_X|FRAME_RAISED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // File list FXuint options; FXbool smoothscroll = getApp()->reg().readUnsignedEntry("SETTINGS", "smooth_scroll", true); if (smoothscroll) { options = _ICONLIST_MINI_ICONS|_ICONLIST_BROWSESELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y; } else { options = _ICONLIST_MINI_ICONS|_ICONLIST_BROWSESELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y|SCROLLERS_DONT_TRACK; } FXbool showthumbnails = getApp()->reg().readUnsignedEntry("FILEDIALOG", "showthumbnails", false); list = new FileList(this, cont, this, ID_FILELIST, showthumbnails, options); // Set list colors and columns size for detailed mode list->setTextColor(getApp()->reg().readColorEntry("SETTINGS", "listforecolor", FXRGB(0, 0, 0))); list->setBackColor(getApp()->reg().readColorEntry("SETTINGS", "listbackcolor", FXRGB(255, 255, 255))); list->setHeaderSize(0, getApp()->reg().readUnsignedEntry("FILEDIALOG", "name_size", 200)); list->setHeaderSize(1, getApp()->reg().readUnsignedEntry("FILEDIALOG", "size_size", 60)); list->setHeaderSize(2, getApp()->reg().readUnsignedEntry("FILEDIALOG", "type_size", 100)); list->setHeaderSize(3, getApp()->reg().readUnsignedEntry("FILEDIALOG", "ext_size", 100)); list->setHeaderSize(4, getApp()->reg().readUnsignedEntry("FILEDIALOG", "modd_size", 150)); list->setHeaderSize(5, getApp()->reg().readUnsignedEntry("FILEDIALOG", "user_size", 50)); list->setHeaderSize(6, getApp()->reg().readUnsignedEntry("FILEDIALOG", "grou_size", 50)); list->setHeaderSize(7, getApp()->reg().readUnsignedEntry("FILEDIALOG", "attr_size", 100)); // Set file selector options FXuint liststyle = getApp()->reg().readUnsignedEntry("FILEDIALOG", "liststyle", _ICONLIST_MINI_ICONS); FXbool hiddenfiles = getApp()->reg().readUnsignedEntry("FILEDIALOG", "hiddenfiles", false); showHiddenFiles(hiddenfiles); setFileBoxStyle(liststyle); // Entry buttons FXMatrix* fields = new FXMatrix(cont, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXLabel(fields, _("&File Name:"), NULL, JUSTIFY_LEFT|LAYOUT_CENTER_Y); filename = new FXTextField(fields, 25, this, ID_ACCEPT, TEXTFIELD_ENTER_ONLY|LAYOUT_FILL_COLUMN|LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK); new FXButton(fields, _("&OK"), NULL, this, ID_ACCEPT, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X, 0, 0, 0, 0, 20, 20); accept = new FXButton(buttons, FXString::null, NULL, NULL, 0, LAYOUT_FIX_X|LAYOUT_FIX_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 0, 0, 0, 0, 0, 0); new FXLabel(fields, _("File F&ilter:"), NULL, JUSTIFY_LEFT|LAYOUT_CENTER_Y); FXHorizontalFrame* filterframe = new FXHorizontalFrame(fields, LAYOUT_FILL_COLUMN|LAYOUT_FILL_X|LAYOUT_FILL_Y); filefilter = new FXComboBox(filterframe, 10, this, ID_FILEFILTER, COMBOBOX_STATIC|LAYOUT_FILL_X); filefilter->setNumVisible(4); readonly = new FXCheckButton(filterframe, _("Read Only"), NULL, 0, ICON_BEFORE_TEXT|JUSTIFY_LEFT|LAYOUT_CENTER_Y); cancel = new FXButton(fields, _("&Cancel"), NULL, NULL, 0, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X, 0, 0, 0, 0, 20, 20); // Action buttons FXString key; FXHotKey hotkey; FXButton* btn; FXToggleButton* tglbtn; new FXFrame(buttons, LAYOUT_FIX_WIDTH, 0, 0, 4, 1); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_back", "Ctrl-Backspace"); btn = new FXButton(buttons, TAB+_("Go to previous folder")+PARS(key), dirbackicon, this, ID_DIR_BACK, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnbackhist = new FXArrowButton(buttons, this, ID_DIR_BACK_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_forward", "Shift-Backspace"); btn = new FXButton(buttons, TAB+_("Go to next folder")+PARS(key), dirforwardicon, this, ID_DIR_FORWARD, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnforwardhist = new FXArrowButton(buttons, this, ID_DIR_FORWARD_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_up", "Backspace"); btn = new FXButton(buttons, TAB+_("Go to parent folder")+PARS(key), dirupicon, this, ID_DIR_UP, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); btn = new FXButton(buttons, TAB+_("Go to home folder")+PARS(key), homeicon, this, ID_HOME, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_work", "Shift-F2"); btn = new FXButton(buttons, TAB+_("Go to working folder")+PARS(key), workicon, this, ID_WORK, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_folder", "F7"); btn = new FXButton(buttons, TAB+_("New folder")+PARS(key), newfoldericon, this, ID_NEWDIR, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); btn = new FXButton(buttons, TAB+_("Big icon list")+PARS(key), bigiconsicon, list, FileList::ID_SHOW_BIG_ICONS, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); btn = new FXButton(buttons, TAB+_("Small icon list")+PARS(key), smalliconsicon, list, FileList::ID_SHOW_MINI_ICONS, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); btn = new FXButton(buttons, TAB+_("Detailed file list")+PARS(key), detailsicon, list, FileList::ID_SHOW_DETAILS, BUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); tglbtn = new FXToggleButton(buttons, TAB+_("Show hidden files")+PARS(key), TAB+_("Hide hidden files")+PARS(key), showhiddenicon, hidehiddenicon, list, FileList::ID_TOGGLE_HIDDEN, TOGGLEBUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); tglbtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); tglbtn = new FXToggleButton(buttons, TAB+_("Show thumbnails")+PARS(key), TAB+_("Hide thumbnails")+PARS(key), showthumbicon, hidethumbicon, list, FileList::ID_TOGGLE_THUMBNAILS, TOGGLEBUTTON_TOOLBAR|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 3, 3); hotkey = _parseAccel(key); tglbtn->addHotKey(hotkey); // Path text pathtext = new TextLabel(pathframe, 0, this, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y); pathtext->setBackColor(getApp()->getBaseColor()); // Path linker pathlink = new PathLinker(pathframe, list, NULL, LAYOUT_FILL_X); readonly->hide(); if (table) { FXString key; FXHotKey hotkey; key = getApp()->reg().readStringEntry("KEYBINDINGS", "select_all", "Ctrl-A"); hotkey = _parseAccel(key); table->addAccel(hotkey, list, FXSEL(SEL_COMMAND, FileList::ID_SELECT_ALL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "deselect_all", "Ctrl-Z"); hotkey = _parseAccel(key); table->addAccel(hotkey, list, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "invert_selection", "Ctrl-I"); hotkey = _parseAccel(key); table->addAccel(hotkey, list, FXSEL(SEL_COMMAND, FileList::ID_SELECT_INVERSE)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_file", "Ctrl-N"); hotkey = _parseAccel(key); table->addAccel(hotkey, this, FXSEL(SEL_COMMAND, ID_NEWFILE)); } setSelectMode(SELECT_FILE_ANY); // For backward compatibility, this HAS to be the default! setPatternList(allfiles); setDirectory(FXSystem::getCurrentDirectory()); // Update file list pathlink->setPath(FXSystem::getCurrentDirectory()); // Update path linker pathtext->setText(FXSystem::getCurrentDirectory()); // Update path text list->setFocus(); accept->hide(); // Change default cursor if single click navigation if (single_click == SINGLE_CLICK_DIR_FILE) { list->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } } // Create X window void FileSelector::create() { // Display or hide path linker FXbool show_pathlink = getApp()->reg().readUnsignedEntry("SETTINGS", "show_pathlinker", true); if (show_pathlink) { pathtext->hide(); pathlink->show(); } else { pathlink->hide(); pathtext->show(); } FXPacker::create(); } // Double-clicked item in file list long FileSelector::onCmdItemDoubleClicked(FXObject*, FXSelector, void* ptr) { FXlong index = (FXlong)ptr; if (index < 0) { return(1); } // If directory, open the directory if (list->isItemDirectory(index)) { FXString pathname = list->getItemPathname(index); // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK, _("Error"), _(" Permission to: %s denied."), pathname.text()); return(0); } setDirectory(pathname); pathlink->setPath(pathname); pathtext->setText(pathname); return(1); } // Only return if we wanted a file if ((selectmode != SELECT_FILE_DIRECTORY) && (selectmode != SELECT_FILE_MIXED)) { if (list->isItemFile(index)) { FXObject* tgt = accept->getTarget(); FXSelector sel = accept->getSelector(); if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } } } return(1); } // Single clicked item in file list long FileSelector::onCmdItemClicked(FXObject*, FXSelector, void* ptr) { if (single_click != SINGLE_CLICK_NONE) { FXlong index = (FXlong)ptr; if (index < 0) { return(1); } // In detailed mode, avoid single click when mouse cursor is not over the first column int x, y; FXuint state; getCursorPosition(x, y, state); FXbool allow = true; if (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) > list->getHeaderSize(0))) { allow = false; } // Single click with control or shift if (state&(CONTROLMASK|SHIFTMASK)) { return(1); } // Single click without control or shift else { // If directory, open the directory if ((single_click != SINGLE_CLICK_NONE) && list->isItemDirectory(index) && allow) { FXString pathname = list->getItemPathname(index); // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK, _("Error"), _(" Permission to: %s denied."), pathname.text()); return(0); } setDirectory(pathname); pathlink->setPath(pathname); pathtext->setText(pathname); return(1); } else if ((single_click == SINGLE_CLICK_DIR_FILE) && list->isItemFile(index) && allow) { FXObject* tgt = accept->getTarget(); FXSelector sel = accept->getSelector(); if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } } } } return(1); } // Change in items which are selected long FileSelector::onCmdItemSelected(FXObject*, FXSelector, void* ptr) { FXlong index = (FXlong)ptr; FXString text, file; if (selectmode == SELECT_FILE_MULTIPLE) { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemFile(i) && list->isItemSelected(i)) { if (!text.empty()) { text += ' '; } text += ::quote(list->getItemFilename(i)); } } filename->setText(text); } else if (selectmode == SELECT_FILE_MULTIPLE_ALL) { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { if (!text.empty()) { text += ' '; } text += ::quote(list->getItemFilename(i)); } } filename->setText(text); } else if (selectmode == SELECT_FILE_DIRECTORY) { if (list->isItemDirectory(index)) { if (list->getItemFilename(index) != "..") { text = list->getItemFilename(index); filename->setText(text); } } } // Mode added to select both directories and files else if (selectmode == SELECT_FILE_MIXED) { if (list->getItemFilename(index) != "..") { text = list->getItemFilename(index); filename->setText(text); } } else { if (list->isItemFile(index)) { text = list->getItemFilename(index); filename->setText(text); } } return(1); } // Change in items which are deselected long FileSelector::onCmdItemDeselected(FXObject*, FXSelector, void*) { FXString text, file; if (selectmode == SELECT_FILE_MULTIPLE) { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemFile(i) && list->isItemSelected(i)) { if (!text.empty()) { text += ' '; } text += ::quote(list->getItemFilename(i)); } } filename->setText(text); } else if (selectmode == SELECT_FILE_MULTIPLE_ALL) { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { if (!text.empty()) { text += ' '; } text += ::quote(list->getItemFilename(i)); } } filename->setText(text); } return(1); } // Hit the accept button or enter in text field long FileSelector::onCmdAccept(FXObject*, FXSelector, void*) { FXSelector sel = accept->getSelector(); FXObject* tgt = accept->getTarget(); // Get (first) filename FXString path = getFilename(); // If filename is empty, we get the current directory if (path.empty()) { path = list->getDirectory(); filename->setText(path); } // Only do something if a selection was made if (!path.empty()) { // Is directory? if (::isDirectory(path)) { // In directory mode:- we got our answer! if ((selectmode == SELECT_FILE_DIRECTORY) || (selectmode == SELECT_FILE_MULTIPLE_ALL) || (selectmode == SELECT_FILE_MIXED)) { if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } return(1); } // Hop over to that directory list->setDirectory(path); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); filename->setText(FXString::null); return(1); } // Get directory part of path FXString dir = FXPath::directory(path); // In file mode, directory part of path should exist if (::isDirectory(dir)) { // In any mode, existing directory part is good enough if (selectmode == SELECT_FILE_ANY) { if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } return(1); } // In existing mode, the whole filename must exist and be a file else if (selectmode == SELECT_FILE_EXISTING) { if (::isFile(path)) { if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } return(1); } } // In multiple mode, return if all selected files exist else if (selectmode == SELECT_FILE_MULTIPLE) { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && list->isItemFile(i)) { if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } return(1); } } } // Multiple files and/or directories else { for (int i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { if (tgt) { tgt->handle(accept, FXSEL(SEL_COMMAND, sel), (void*)1); } return(1); } } } } // Go up to the lowest directory which still exists while (!FXPath::isTopDirectory(dir) && !::isDirectory(dir)) { dir = FXPath::upLevel(dir); } // Switch as far as we could go list->setDirectory(dir); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); // Put the tail end back for further editing if (ISPATHSEP(path[dir.length()])) { path.erase(0, dir.length()+1); } else { path.erase(0, dir.length()); } // Replace text box with new stuff filename->setText(path); filename->selectAll(); } return(1); } // User clicked up directory button long FileSelector::onCmdDirUp(FXObject*, FXSelector, void*) { setDirectory(FXPath::upLevel(list->getDirectory())); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); return(1); } // Can we still go up long FileSelector::onUpdDirUp(FXObject* sender, FXSelector, void*) { if (FXPath::isTopDirectory(list->getDirectory())) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), NULL); } return(1); } // Directory back long FileSelector::onCmdDirBack(FXObject*, FXSelector s, void* p) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = list->backhist; forwardhist = list->forwardhist; // Get the previous directory item = backhist->getFirst(); if (item) { pathname = backhist->getString(item); } // Update the history backhist->removeFirstItem(); forwardhist->insertFirstItem(list->getDirectory()); // Go to to the previous directory list->setDirectory(pathname, false); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); return(1); } // Update directory back long FileSelector::onUpdDirBack(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist; FXString pathname; // Get the filelist history backhist = list->backhist; // Gray out the button if no item in history if (backhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward long FileSelector::onCmdDirForward(FXObject*, FXSelector s, void* p) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = list->backhist; forwardhist = list->forwardhist; // Get the next directory item = forwardhist->getFirst(); if (item) { pathname = forwardhist->getString(item); } // Update the history forwardhist->removeFirstItem(); backhist->insertFirstItem(list->getDirectory()); // Go to to the previous directory list->setDirectory(pathname, false); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); return(1); } // Update directory forward long FileSelector::onUpdDirForward(FXObject* sender, FXSelector sel, void* ptr) { StringList* forwardhist; FXString pathname; // Get the filelist history forwardhist = list->forwardhist; // Gray out the button if no item in history if (forwardhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory back history long FileSelector::onCmdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = list->backhist; forwardhist = list->forwardhist; // Get all string items and display them in a list box int num = backhist->getNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = backhist->getFirst(); for (int i = 0; i <= num-1; i++) { if (item) { FXString str = backhist->getString(item); dirs[i] = str; strlist = strlist+str+"\n"; item = backhist->getNext(item); } } // Display list box FXWindow* owner = this->getOwner(); int pos = DirHistBox::box(btnbackhist, DECOR_NONE, strlist, owner->getX()+245, owner->getY()+37); // If an item was selected if (pos != -1) { // Update back history if (pos == num-1) { backhist->removeAllItems(); } else { item = backhist->getItemAtPos(pos+1); backhist->removeAllItemsBefore(item); } // Update forward history forwardhist->insertFirstItem(list->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { forwardhist->insertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; list->setDirectory(pathname, false); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); } delete[]dirs; } return(1); } // Update directory back long FileSelector::onUpdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist; FXString pathname; // Get the filelist history backhist = list->backhist; // Gray out the button if no item in history if (backhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward history long FileSelector::onCmdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = list->backhist; forwardhist = list->forwardhist; // Get all string items and display them in a list box int num = forwardhist->getNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = forwardhist->getFirst(); for (int i = 0; i <= num-1; i++) { if (item) { FXString str = forwardhist->getString(item); dirs[i] = str; strlist = strlist+str+"\n"; item = forwardhist->getNext(item); } } // Display list box FXWindow* owner = this->getOwner(); int pos = DirHistBox::box(btnforwardhist, DECOR_NONE, strlist, owner->getX()+285, owner->getY()+37); // If an item was selected if (pos != -1) { // Update forward history if (pos == num-1) { forwardhist->removeAllItems(); } else { item = forwardhist->getItemAtPos(pos+1); forwardhist->removeAllItemsBefore(item); } // Update back history backhist->insertFirstItem(list->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { backhist->insertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; list->setDirectory(pathname, false); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); } delete[]dirs; } return(1); } // Update directory forward long FileSelector::onUpdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* forwardhist; FXString pathname; // Get the filelist history forwardhist = list->forwardhist; // Gray out the button if no item in history if (forwardhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Back to home directory long FileSelector::onCmdHome(FXObject*, FXSelector, void*) { setDirectory(FXSystem::getHomeDirectory()); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); return(1); } // Create new directory long FileSelector::onCmdNewDir(FXObject*, FXSelector, void*) { // Focus on current list list->setFocus(); FXString dirname = ""; FXString dirpath = list->getDirectory(); if (dirpath != ROOTDIR) { dirpath += PATHSEPSTRING; } InputDialog* dialog = new InputDialog(this, dirname, _("Create new folder..."), _("New Folder"), "", bignewfoldericon); dialog->CursorEnd(); if (dialog->execute(PLACEMENT_CURSOR)) { if (dialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("Folder name is empty, operation cancelled")); return(0); } // Directory name contains '/' if (dialog->getText().contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in folder names, operation cancelled")); return(0); } dirname = dirpath+dialog->getText(); if (dirname != dirpath) { // Create the new dir according to the current umask int mask; mask = umask(0); umask(mask); // Note that the umask value is in decimal (511 means octal 0777) errno = 0; int ret = ::mkdir(dirname.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't create folder %s: %s", dirname.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't create folder %s", dirname.text()); } return(0); } } } delete dialog; return(1); } // Create new file long FileSelector::onCmdNewFile(FXObject*, FXSelector, void*) { FXString filename = ""; // Focus on current list list->setFocus(); FXString pathname = list->getDirectory(); if (pathname != ROOTDIR) { pathname += PATHSEPSTRING; } InputDialog* dialog = new InputDialog(this, filename, _("Create new file..."), _("New File"), "", bignewfileicon); dialog->CursorEnd(); // Accept was pressed if (dialog->execute(PLACEMENT_CURSOR)) { if (dialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // File name contains '/' if (dialog->getText().contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in file names, operation cancelled")); return(0); } filename = pathname+dialog->getText(); FILE* file; if (filename != pathname) { // Test some error conditions if (::exists(filename)) { MessageBox::error(this, BOX_OK, _("Error"), _("File or folder %s already exists"), filename.text()); return(0); } // Create the new file errno = 0; if (!(file = fopen(filename.text(), "w+")) || fclose(file)) { if (errno) { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't create file %s: %s", filename.text(), strerror(errno)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't create file %s", filename.text()); } return(0); } // Change the file permissions according to the current umask int mask; mask = umask(0); umask(mask); errno = 0; if (chmod(filename.text(), 438 & ~mask) != 0) { if (errno) { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't set permissions in %s: %s", filename.text(), strerror(errno)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), "Can't set permissions in %s", filename.text()); } return(0); } } } delete dialog; return(1); } // Back to current working directory long FileSelector::onCmdWork(FXObject*, FXSelector, void*) { setDirectory(FXSystem::getCurrentDirectory()); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); return(1); } // Strip pattern from text if present FXString FileSelector::patternFromText(const FXString& pattern) { int beg, end; end = pattern.rfind(')'); // Search from the end so we can allow ( ) in the pattern name itself beg = pattern.rfind('(', end-1); if ((0 <= beg) && (beg < end)) { return(pattern.mid(beg+1, end-beg-1)); } return(pattern); } // Return the first extension "ext1" found in the pattern if the // pattern is of the form "*.ext1,*.ext2,..." or the empty string // if the pattern contains other wildcard combinations. FXString FileSelector::extensionFromPattern(const FXString& pattern) { int beg, end, c; beg = 0; if (pattern[beg] == '*') { beg++; if (pattern[beg] == '.') { beg++; end = beg; while ((c = pattern[end]) != '\0' && c != ',' && c != '|') { if ((c == '*') || (c == '?') || (c == '[') || (c == ']') || (c == '^') || (c == '!')) { return(FXString::null); } end++; } return(pattern.mid(beg, end-beg)); } } return(FXString::null); } // Change the pattern; change the filename to the suggested extension long FileSelector::onCmdFilter(FXObject*, FXSelector, void* ptr) { FXString pat = patternFromText((char*)ptr); list->setPattern(pat); if (selectmode == SELECT_FILE_ANY) { FXString ext = extensionFromPattern(pat); if (!ext.empty()) { FXString name = FXPath::stripExtension(filename->getText()); if (!name.empty()) { filename->setText(name+"."+ext); } } } return(1); } // Set directory void FileSelector::setDirectory(const FXString& path) { FXString abspath = FXPath::absolute(path); list->setDirectory(abspath); pathlink->setPath(list->getDirectory()); pathtext->setText(list->getDirectory()); if (selectmode != SELECT_FILE_ANY) { filename->setText(FXString::null); } } // Get directory FXString FileSelector::getDirectory() const { return(list->getDirectory()); } // Set file name void FileSelector::setFilename(const FXString& path) { FXString abspath = FXPath::absolute(path); list->setCurrentFile(abspath); pathlink->setPath(FXPath::directory(abspath)); pathtext->setText(FXPath::directory(abspath)); filename->setText(FXPath::name(abspath)); } // Get complete path + filename FXString FileSelector::getFilename() const { register int i; if (selectmode == SELECT_FILE_MULTIPLE_ALL) { for (i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { return(FXPath::absolute(list->getDirectory(), list->getItemFilename(i))); } } } else if (selectmode == SELECT_FILE_MULTIPLE) { for (i = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && list->isItemFile(i)) { return(FXPath::absolute(list->getDirectory(), list->getItemFilename(i))); } } } else { if (!filename->getText().empty()) { return(FXPath::absolute(list->getDirectory(), filename->getText())); } } return(FXString::null); } // Return empty-string terminated list of selected file names, or NULL FXString* FileSelector::getFilenames() const { register FXString* files = NULL; register int i, n; if (list->getNumItems()) { if (selectmode == SELECT_FILE_MULTIPLE_ALL) { for (i = n = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { n++; } } if (n) { files = new FXString [n+1]; for (i = n = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && (list->getItemFilename(i) != "..")) { files[n++] = list->getItemPathname(i); } } files[n] = FXString::null; } } else { for (i = n = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && list->isItemFile(i)) { n++; } } if (n) { files = new FXString [n+1]; for (i = n = 0; i < list->getNumItems(); i++) { if (list->isItemSelected(i) && list->isItemFile(i)) { files[n++] = list->getItemPathname(i); } } files[n] = FXString::null; } } } return(files); } // Set bunch of patterns void FileSelector::setPatternList(const char** ptrns) { filefilter->clearItems(); if (ptrns) { while (ptrns[0] && ptrns[1]) { filefilter->appendItem(FXStringFormat("%s (%s)", ptrns[0], ptrns[1])); ptrns += 2; } } if (!filefilter->getNumItems()) { filefilter->appendItem(allfiles); } setCurrentPattern(0); } // Change patterns, each pattern separated by newline void FileSelector::setPatternList(const FXString& patterns) { FXString pat; int i; filefilter->clearItems(); for (i = 0; !(pat = patterns.section('\n', i)).empty(); i++) { filefilter->appendItem(pat); } if (!filefilter->getNumItems()) { filefilter->appendItem(allfiles); } setCurrentPattern(0); } // Return list of patterns FXString FileSelector::getPatternList() const { FXString pat; int i; for (i = 0; i < filefilter->getNumItems(); i++) { if (!pat.empty()) { pat += '\n'; } pat += filefilter->getItemText(i); } return(pat); } // Set current filter pattern void FileSelector::setPattern(const FXString& ptrn) { filefilter->setText(ptrn); list->setPattern(ptrn); } // Get current filter pattern FXString FileSelector::getPattern() const { return(list->getPattern()); } // Set current file pattern from the list void FileSelector::setCurrentPattern(int patno) { if ((FXuint)patno >= (FXuint)filefilter->getNumItems()) { fprintf(stderr, "%s::setCurrentPattern: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } filefilter->setCurrentItem(patno); list->setPattern(patternFromText(filefilter->getItemText(patno))); } // Return current pattern int FileSelector::getCurrentPattern() const { return(filefilter->getCurrentItem()); } // Change pattern for pattern number patno void FileSelector::setPatternText(int patno, const FXString& text) { if ((FXuint)patno >= (FXuint)filefilter->getNumItems()) { fprintf(stderr, "%s::setPatternText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } filefilter->setItemText(patno, text); if (patno == filefilter->getCurrentItem()) { setPattern(patternFromText(text)); } } // Return pattern text of pattern patno FXString FileSelector::getPatternText(int patno) const { if ((FXuint)patno >= (FXuint)filefilter->getNumItems()) { fprintf(stderr, "%s::getPatternText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(filefilter->getItemText(patno)); } // Change space for item void FileSelector::setItemSpace(int s) { list->setItemSpace(s); } // Get space for item int FileSelector::getItemSpace() const { return(list->getItemSpace()); } // Change File List style void FileSelector::setFileBoxStyle(FXuint style) { list->setListStyle((list->getListStyle()&~FILESTYLEMASK) | (style&FILESTYLEMASK)); } // Return File List style FXuint FileSelector::getFileBoxStyle() const { return(list->getListStyle()&FILESTYLEMASK); } // Change file selection mode void FileSelector::setSelectMode(FXuint mode) { switch (mode) { case SELECT_FILE_EXISTING: list->showOnlyDirectories(false); list->setListStyle((list->getListStyle()&~FILELISTMASK)|_ICONLIST_BROWSESELECT); break; case SELECT_FILE_MULTIPLE: case SELECT_FILE_MULTIPLE_ALL: list->showOnlyDirectories(false); list->setListStyle((list->getListStyle()&~FILELISTMASK)|_ICONLIST_EXTENDEDSELECT); break; case SELECT_FILE_DIRECTORY: list->showOnlyDirectories(true); list->setListStyle((list->getListStyle()&~FILELISTMASK)|_ICONLIST_BROWSESELECT); break; case SELECT_FILE_MIXED: list->setListStyle((list->getListStyle()&~FILELISTMASK)|_ICONLIST_BROWSESELECT); break; default: list->showOnlyDirectories(false); list->setListStyle((list->getListStyle()&~FILELISTMASK)|_ICONLIST_BROWSESELECT); break; } selectmode = mode; } // Show readonly button void FileSelector::showReadOnly(FXbool show) { show ? readonly->show() : readonly->hide(); } // Return true if readonly is shown FXbool FileSelector::shownReadOnly() const { return(readonly->shown()); } // Set initial state of readonly button void FileSelector::setReadOnly(FXbool state) { readonly->setCheck(state); } // Get readonly state FXbool FileSelector::getReadOnly() const { return(readonly->getCheck()); } // Return true if hidden files are displayed FXbool FileSelector::shownHiddenFiles() const { return(list->shownHiddenFiles()); } // Return true if thumbnails are displayed FXbool FileSelector::shownThumbnails() const { return(list->shownThumbnails()); } // Change show hidden files mode void FileSelector::showHiddenFiles(FXbool shown) { list->showHiddenFiles(shown); } // Change show thumbnails files mode void FileSelector::showThumbnails(FXbool shown) { list->showThumbnails(shown); } // Cleanup; icons must be explicitly deleted FileSelector::~FileSelector() { // Write options to the registry getApp()->reg().writeUnsignedEntry("FILEDIALOG", "name_size", list->getHeaderSize(0)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "size_size", list->getHeaderSize(1)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "type_size", list->getHeaderSize(2)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "ext_size", list->getHeaderSize(3)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "modd_size", list->getHeaderSize(4)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "user_size", list->getHeaderSize(5)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "grou_size", list->getHeaderSize(6)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "attr_size", list->getHeaderSize(7)); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "liststyle", getFileBoxStyle()); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "hiddenfiles", shownHiddenFiles()); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "showthumbnails", shownThumbnails()); getApp()->reg().write(); FXAccelTable* table = getShell()->getAccelTable(); if (table) { table->removeAccel(MKUINT(KEY_BackSpace, 0)); table->removeAccel(MKUINT(KEY_h, CONTROLMASK)); table->removeAccel(MKUINT(KEY_w, CONTROLMASK)); table->removeAccel(MKUINT(KEY_a, CONTROLMASK)); table->removeAccel(MKUINT(KEY_i, CONTROLMASK)); } delete list; delete pathlink; delete pathtext; delete filename; delete filefilter; delete readonly; delete accept; delete cancel; delete btnbackhist; delete btnforwardhist; } // File selector context menu long FileSelector::onCmdPopupMenu(FXObject* o, FXSelector s, void* p) { // Popup menu pane FXMenuPane menu(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); new FXMenuCommand(&menu, _("Go ho&me"), homeicon, this, ID_HOME); new FXMenuCommand(&menu, _("Go &work"), workicon, this, ID_WORK); new FXMenuCommand(&menu, _("New &file..."), newfileicon, this, ID_NEWFILE); new FXMenuCommand(&menu, _("New f&older..."), newfoldericon, this, ID_NEWDIR); new FXMenuSeparator(&menu); new FXMenuCheck(&menu, _("&Hidden files"), list, FileList::ID_TOGGLE_HIDDEN); new FXMenuCheck(&menu, _("Thum&bnails"), list, FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("B&ig icons"), list, IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(&menu, _("&Small icons"), list, IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(&menu, _("Fu&ll file list"), list, IconList::ID_SHOW_DETAILS); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("&Rows"), list, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(&menu, _("&Columns"), list, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(&menu, _("Autosize"), list, FileList::ID_AUTOSIZE); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("&Name"), list, FileList::ID_SORT_BY_NAME); new FXMenuRadio(&menu, _("Si&ze"), list, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(&menu, _("&Type"), list, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(&menu, _("E&xtension"), list, FileList::ID_SORT_BY_EXT); new FXMenuRadio(&menu, _("&Date"), list, FileList::ID_SORT_BY_TIME); new FXMenuRadio(&menu, _("&User"), list, FileList::ID_SORT_BY_USER); new FXMenuRadio(&menu, _("&Group"), list, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(&menu, _("&Permissions"), list, FileList::ID_SORT_BY_PERM); new FXMenuSeparator(&menu); new FXMenuCheck(&menu, _("Ignore c&ase"), list, FileList::ID_SORT_CASE); new FXMenuCheck(&menu, _("Fold&ers first"), list, FileList::ID_DIRS_FIRST); new FXMenuCheck(&menu, _("Re&verse order"), list, FileList::ID_SORT_REVERSE); menu.create(); allowPopupScroll = true; // Allow keyboard scrolling menu.popup(NULL, x, y); getApp()->runModalWhileShown(&menu); allowPopupScroll = false; return(1); } // If Shift-F10 or Menu is pressed, opens the popup menu long FileSelector::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; // Shift-F10 or Menu was pressed : open popup menu if ((event->state&SHIFTMASK && event->code == KEY_F10) || event->code == KEY_Menu) { this->handle(sender, FXSEL(SEL_COMMAND, FileSelector::ID_POPUP_MENU), ptr); return(1); } // Any other key was pressed : handle the pressed key in the usual way else { if (this->onKeyPress(sender, sel, ptr)) { return(1); } } return(0); } long FileSelector::onCmdKeyRelease(FXObject* sender, FXSelector sel, void* ptr) { if (this->onKeyRelease(sender, sel, ptr)) { return(1); } return(0); } // Object implementation FXIMPLEMENT(FileDialog, DialogBox, NULL, 0) // File Dialog object FileDialog::FileDialog(FXWindow* owner, const FXString& name, FXuint opts, int x, int y, int w, int h) : DialogBox(owner, name, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_MAXIMIZE|DECOR_CLOSE, x, y, w, h, 0, 0, 0, 0, 4, 4) { list = new FileSelector(this, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y); list->acceptButton()->setTarget(this); list->acceptButton()->setSelector(DialogBox::ID_ACCEPT); list->cancelButton()->setTarget(this); list->cancelButton()->setSelector(DialogBox::ID_CANCEL); // Set file dialog options FXuint width = getApp()->reg().readUnsignedEntry("FILEDIALOG", "width", 640); FXuint height = getApp()->reg().readUnsignedEntry("FILEDIALOG", "height", 480); setWidth(width); setHeight(height); } // Set file name void FileDialog::setFilename(const FXString& path) { list->setFilename(path); } // Get filename, if any FXString FileDialog::getFilename() const { return(list->getFilename()); } // Return empty-string terminated list of selected file names, FXString* FileDialog::getFilenames() const { return(list->getFilenames()); } // Set pattern void FileDialog::setPattern(const FXString& ptrn) { list->setPattern(ptrn); } // Get pattern FXString FileDialog::getPattern() const { return(list->getPattern()); } // Change patterns, each pattern separated by newline void FileDialog::setPatternList(const FXString& patterns) { list->setPatternList(patterns); } // Return list of patterns FXString FileDialog::getPatternList() const { return(list->getPatternList()); } // Set directory void FileDialog::setDirectory(const FXString& path) { list->setDirectory(path); } // Get directory FXString FileDialog::getDirectory() const { return(list->getDirectory()); } // Set current file pattern from the list void FileDialog::setCurrentPattern(int n) { list->setCurrentPattern(n); } // Return current pattern int FileDialog::getCurrentPattern() const { return(list->getCurrentPattern()); } FXString FileDialog::getPatternText(int patno) const { return(list->getPatternText(patno)); } void FileDialog::setPatternText(int patno, const FXString& text) { list->setPatternText(patno, text); } // Set list of patterns (DEPRECATED) void FileDialog::setPatternList(const char** ptrns) { list->setPatternList(ptrns); } // Change space for item void FileDialog::setItemSpace(int s) { list->setItemSpace(s); } // Get space for item int FileDialog::getItemSpace() const { return(list->getItemSpace()); } // Change File List style void FileDialog::setFileBoxStyle(FXuint style) { list->setFileBoxStyle(style); } // Return File List style FXuint FileDialog::getFileBoxStyle() const { return(list->getFileBoxStyle()); } // Change file selection mode void FileDialog::setSelectMode(FXuint mode) { list->setSelectMode(mode); } // Return file selection mode FXuint FileDialog::getSelectMode() const { return(list->getSelectMode()); } // Show readonly button void FileDialog::showReadOnly(FXbool show) { list->showReadOnly(show); } // Return true if readonly is shown FXbool FileDialog::shownReadOnly() const { return(list->shownReadOnly()); } // Set initial state of readonly button void FileDialog::setReadOnly(FXbool state) { list->setReadOnly(state); } // Get readonly state FXbool FileDialog::getReadOnly() const { return(list->getReadOnly()); } // Return true if thumbnails are displayed FXbool FileDialog::shownThumbnails() const { return(list->shownThumbnails()); } // Return true if hidden files are displayed FXbool FileDialog::shownHiddenFiles() const { return(list->shownHiddenFiles()); } // Change show hidden files mode void FileDialog::showHiddenFiles(FXbool shown) { list->showHiddenFiles(shown); } // Change show thumbnails files mode void FileDialog::showThumbnails(FXbool shown) { list->showThumbnails(shown); } // Cleanup FileDialog::~FileDialog() { // Write options to the registry getApp()->reg().writeUnsignedEntry("FILEDIALOG", "width", getWidth()); getApp()->reg().writeUnsignedEntry("FILEDIALOG", "height", getHeight()); getApp()->reg().write(); delete list; } // Open existing filename FXString FileDialog::getOpenFilename(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns, int initial) { FileDialog opendialog(owner, caption); FXString filename; opendialog.setSelectMode(SELECT_FILE_EXISTING); opendialog.setPatternList(patterns); opendialog.setCurrentPattern(initial); opendialog.setFilename(path); if (opendialog.execute()) { filename = opendialog.getFilename(); if (::isFile(filename)) { return(filename); } } return(FXString::null); } // Save to filename FXString FileDialog::getSaveFilename(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns, int initial) { FileDialog savedialog(owner, caption); savedialog.setSelectMode(SELECT_FILE_ANY); savedialog.setPatternList(patterns); savedialog.setCurrentPattern(initial); savedialog.setFilename(path); if (savedialog.execute()) { return(savedialog.getFilename()); } return(FXString::null); } // Open multiple existing files FXString* FileDialog::getOpenFilenames(FXWindow* owner, const FXString& caption, const FXString& path, const FXString& patterns, int initial) { FileDialog opendialog(owner, caption); opendialog.setSelectMode(SELECT_FILE_MULTIPLE); opendialog.setPatternList(patterns); opendialog.setCurrentPattern(initial); opendialog.setFilename(path); if (opendialog.execute()) { return(opendialog.getFilenames()); } return(NULL); } // Open existing directory name FXString FileDialog::getOpenDirectory(FXWindow* owner, const FXString& caption, const FXString& path) { FileDialog dirdialog(owner, caption); FXString dirname; dirdialog.setSelectMode(SELECT_FILE_DIRECTORY); dirdialog.setFilename(path); if (dirdialog.execute()) { dirname = dirdialog.getFilename(); if (::isDirectory(dirname)) { return(dirname); } } return(FXString::null); } xfe-1.42/src/Preferences.h0000644000175100017510000002217112634260765012364 00000000000000#ifndef PREFERENCES_H #define PREFERENCES_H #include #include "DialogBox.h" #include "Keybindings.h" // Number of modifiable colors #define NUM_COLORS 12 // Number of themes #define NUM_THEMES 10 struct Theme { //const char *name; FXString name; FXColor color[NUM_COLORS]; Theme() { name = ""; } Theme(const char* n, FXColor base = 0, FXColor bdr = 0, FXColor bg = 0, FXColor fg = 0, FXColor selbg = 0, FXColor selfg = 0, FXColor listbg = 0, FXColor listfg = 0, FXColor listhl = 0, FXColor pbarfg = 0, FXColor attenfg = 0, FXColor scrollfg = 0) { name = FXString(n); color[0] = base; color[1] = bdr; color[2] = bg; color[3] = fg; color[4] = selbg; color[5] = selfg; color[6] = listbg; color[7] = listfg; color[7] = listfg; color[8] = listhl; color[9] = pbarfg; color[10] = attenfg; color[11] = scrollfg; } FXbool operator !=(const Theme&); }; class PreferencesBox : public DialogBox { FXDECLARE(PreferencesBox) private: FXComboBox* colorsBox; FXComboBox* themesBox; FXList* themesList; FXTextField* iconpath; FXTextField* txtviewer; FXTextField* txteditor; FXTextField* filecomparator; FXTextField* timeformat; FXTextField* imgviewer; FXTextField* xterm; FXTextField* imgeditor; FXTextField* archiver; FXTextField* pdfviewer; FXTextField* videoplayer; FXTextField* audioplayer; FXTextField* normalfont; FXTextField* textfont; FXTextField* mountcmd; FXTextField* umountcmd; FXString oldiconpath; FXString oldtxtviewer; FXString oldtxteditor; FXString oldfilecomparator; FXString oldtimeformat; FXString oldimgviewer; FXString oldxterm; FXString oldnormalfont; FXString oldtextfont; FXString oldimgeditor; FXString oldarchiver; FXString oldpdfviewer; FXString oldaudioplayer; FXString oldvideoplayer; FXString oldmountcmd; FXString oldumountcmd; FXCheckButton* autosave; FXCheckButton* savewinpos; FXCheckButton* diropen; FXCheckButton* fileopen; FXCheckButton* filetooltips; FXCheckButton* relativeresize; FXCheckButton* showpathlink; FXCheckButton* rootmode; FXCheckButton* trashcan; FXCheckButton* trashbypass; FXCheckButton* dnd; FXCheckButton* trashmv; FXCheckButton* del; FXCheckButton* properties; FXCheckButton* del_emptydir; FXCheckButton* overwrite; FXCheckButton* exec; FXCheckButton* ask; FXCheckButton* bg; FXCheckButton* folder_warning; FXCheckButton* preserve_date_warning; FXCheckButton* root_warning; FXCheckButton* mount; FXCheckButton* show_mount; FXCheckButton* scroll; FXCheckButton* controls; FXDataTarget startdirtarget; int startdirmode; int oldstartdirmode; #ifdef STARTUP_NOTIFICATION FXCheckButton* usesn; #endif FXColorWell* cwell; Theme Themes[NUM_THEMES]; Theme currTheme; Theme currTheme_prev; FXbool use_sudo; FXbool use_sudo_prev; FXbool trashcan_prev; FXbool trashbypass_prev; FXbool autosave_prev; FXbool savewinpos_prev; FXbool diropen_prev; FXbool fileopen_prev; FXbool filetooltips_prev; FXbool relativeresize_prev; FXbool show_pathlink; FXbool show_pathlink_prev; FXuint value_prev; FXbool ask_prev; FXbool dnd_prev; FXbool trashmv_prev; FXbool del_prev; FXbool properties_prev; FXbool del_emptydir_prev; FXbool overwrite_prev; FXbool exec_prev; FXbool use_clearlooks; FXbool use_clearlooks_prev; FXbool rootmode_prev; #ifdef STARTUP_NOTIFICATION FXbool usesn_prev; #endif #if defined(linux) FXbool mount_prev; FXbool show_mount_prev; #endif FXbool root_warning_prev; FXbool folder_warning_prev; FXbool preserve_date_warning_prev; FXuint themelist_prev; FXbool smoothscroll_prev; KeybindingsBox* bindingsbox; FXStringDict* glbBindingsDict; FXStringDict* xfeBindingsDict; FXStringDict* xfiBindingsDict; FXStringDict* xfwBindingsDict; PreferencesBox() : colorsBox(NULL), themesBox(NULL), themesList(NULL), iconpath(NULL), txtviewer(NULL), txteditor(NULL), filecomparator(NULL), timeformat(NULL), imgviewer(NULL), xterm(NULL), imgeditor(NULL), archiver(NULL), pdfviewer(NULL), videoplayer(NULL), audioplayer(NULL), normalfont(NULL), textfont(NULL), autosave(NULL), savewinpos(NULL), diropen(NULL), fileopen(NULL), filetooltips(NULL), relativeresize(NULL), showpathlink(NULL), rootmode(NULL), trashcan(NULL), trashbypass(NULL), dnd(NULL), trashmv(NULL), del(NULL), properties(NULL), del_emptydir(NULL), overwrite(NULL), exec(NULL), ask(NULL), bg(NULL), folder_warning(NULL), preserve_date_warning(NULL), root_warning(NULL), mount(NULL), show_mount(NULL), scroll(NULL), controls(NULL), startdirmode(0), oldstartdirmode(0), #ifdef STARTUP_NOTIFICATION usesn(NULL), #endif cwell(NULL), use_sudo(false), use_sudo_prev(false), trashcan_prev(false), trashbypass_prev(false), autosave_prev(false), savewinpos_prev(false), diropen_prev(false), fileopen_prev(false), filetooltips_prev(false), relativeresize_prev(false), show_pathlink(false), show_pathlink_prev(false), value_prev(0), ask_prev(false), dnd_prev(false), trashmv_prev(false), del_prev(false), properties_prev(false), del_emptydir_prev(false), overwrite_prev(false), exec_prev(false), use_clearlooks(false), use_clearlooks_prev(false), rootmode_prev(false), #ifdef STARTUP_NOTIFICATION usesn_prev(false), #endif #if defined(linux) mount_prev(false), show_mount_prev(false), #endif root_warning_prev(false), folder_warning_prev(false), preserve_date_warning_prev(false), themelist_prev(0), smoothscroll_prev(false), bindingsbox(NULL), glbBindingsDict(NULL), xfeBindingsDict(NULL), xfiBindingsDict(NULL), xfwBindingsDict(NULL) {} public: enum { ID_ACCEPT=DialogBox::ID_LAST, ID_CANCEL, ID_BROWSE_TXTVIEW, ID_BROWSE_TXTEDIT, ID_BROWSE_FILECOMP, ID_BROWSE_IMGVIEW, ID_BROWSE_ARCHIVER, ID_BROWSE_PDFVIEW, ID_BROWSE_VIDEOPLAY, ID_BROWSE_AUDIOPLAY, ID_BROWSE_XTERM, ID_BROWSE_MOUNTCMD, ID_BROWSE_UMOUNTCMD, ID_COLOR, ID_NORMALFONT, ID_TEXTFONT, ID_THEME, ID_BROWSE_ICON_PATH, ID_TRASH_BYPASS, ID_CONFIRM_TRASH, ID_CONFIRM_DEL_EMPTYDIR, ID_SU_CMD, ID_SUDO_CMD, ID_STANDARD_CONTROLS, ID_CLEARLOOKS_CONTROLS, ID_WHEELADJUST, ID_SINGLE_CLICK_FILEOPEN, ID_FILE_TOOLTIPS, ID_RELATIVE_RESIZE, ID_SHOW_PATHLINK, ID_CHANGE_KEYBINDINGS, ID_RESTORE_KEYBINDINGS, ID_START_HOMEDIR, ID_START_CURRENTDIR, ID_START_LASTDIR, ID_LAST }; public: PreferencesBox(FXWindow* win, FXColor listbackcolor = FXRGB(255, 255, 255), FXColor listforecolor = FXRGB(0, 0, 0), FXColor highlightcolor = FXRGB(238, 238, 238), FXColor pbarcolor = FXRGB(0, 0, 255), FXColor attentioncolor = FXRGB(255, 0, 0), FXColor scrollbackcolor = FXRGB(237, 233, 227)); long onCmdAccept(FXObject*, FXSelector, void*); long onCmdBrowse(FXObject*, FXSelector, void*); long onCmdColor(FXObject*, FXSelector, void*); long onUpdColor(FXObject*, FXSelector, void*); long onCmdTheme(FXObject*, FXSelector, void*); long onCmdBrowsePath(FXObject*, FXSelector, void*); long onCmdNormalFont(FXObject*, FXSelector, void*); long onCmdTextFont(FXObject*, FXSelector, void*); long onUpdTrash(FXObject*, FXSelector, void*); long onUpdConfirmDelEmptyDir(FXObject*, FXSelector, void*); long onCmdSuMode(FXObject*, FXSelector, void*); long onUpdSuMode(FXObject*, FXSelector, void*); long onCmdWheelAdjust(FXObject*, FXSelector, void*); long onUpdWheelAdjust(FXObject*, FXSelector, void*); long onUpdSingleClickFileopen(FXObject*, FXSelector, void*); FXuint execute(FXuint); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdControls(FXObject*, FXSelector, void*); long onUpdControls(FXObject*, FXSelector, void*); long onCmdChangeKeyBindings(FXObject*, FXSelector, void*); long onCmdRestoreKeyBindings(FXObject*, FXSelector, void*); long onCmdStartDir(FXObject*, FXSelector, void*); long onUpdStartDir(FXObject*, FXSelector, void*); }; #endif xfe-1.42/src/main.cpp0000644000175100017510000003332312634015703011371 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "MessageBox.h" #include "FilePanel.h" #include "XFileExplorer.h" // Add FOX hacks #include "foxhacks.cpp" #include "clearlooks.cpp" // Main window FXMainWindow* mainWindow; // Startup notification #ifdef STARTUP_NOTIFICATION static time_t startup_end = 0; static int error_trap_depth = 0; static int x_error_handler(Display* xdisplay, XErrorEvent* error) { char buf[64]; XGetErrorText(xdisplay, error->error_code, buf, 63); if (error_trap_depth == 0) { // XSetInputFocus can cause BadMatch errors // we ignore this in x_error_handler if (error->request_code == 42) { return(0); } fprintf(stderr, "Unexpected X error: %s serial %ld error_code %d request_code %d minor_code %d)\n", buf, error->serial, error->error_code, error->request_code, error->minor_code); //exit(EXIT_FAILURE); } return(1); // Return value is meaningless } static void error_trap_push(SnDisplay* display, Display* xdisplay) { ++error_trap_depth; } static void error_trap_pop(SnDisplay* display, Display* xdisplay) { if (error_trap_depth == 0) { fprintf(stderr, "Error: Trap underflow\n"); exit(EXIT_FAILURE); } XSync(xdisplay, False); // Get all errors out of the queue --error_trap_depth; } // Startup notification monitoring function static void snmonitor(SnMonitorEvent* event, void* user_data) { //SnMonitorContext *context; //SnStartupSequence *sequence; //context = sn_monitor_event_get_context (event); //sequence = sn_monitor_event_get_startup_sequence (event); sn_monitor_event_get_context(event); sn_monitor_event_get_startup_sequence(event); switch (sn_monitor_event_get_type(event)) { case SN_MONITOR_EVENT_INITIATED: case SN_MONITOR_EVENT_CHANGED: // Startup timeout time time_t t; t = time(NULL); startup_end = t+STARTUP_TIMEOUT; ::setWaitCursor(mainWindow->getApp(), BEGIN_CURSOR); /* For debugging purpose * * const char *s; * * if (sn_monitor_event_get_type (event) == SN_MONITOR_EVENT_INITIATED) * fprintf(stderr,"Initiated sequence %s\n",sn_startup_sequence_get_id (sequence)); * else * fprintf(stderr,"Changed sequence %s\n",sn_startup_sequence_get_id (sequence)); * * s = sn_startup_sequence_get_id (sequence); * fprintf(stderr," id %s\n", s ? s : "(unset)"); * * s = sn_startup_sequence_get_name (sequence); * fprintf(stderr," name %s\n", s ? s : "(unset)"); * * s = sn_startup_sequence_get_description (sequence); * fprintf(stderr," description %s\n", s ? s : "(unset)"); * * fprintf(stderr," workspace %d\n", sn_startup_sequence_get_workspace (sequence)); * * s = sn_startup_sequence_get_binary_name (sequence); * fprintf(stderr," binary name %s\n", s ? s : "(unset)"); * * s = sn_startup_sequence_get_icon_name (sequence); * fprintf(stderr," icon name %s\n", s ? s : "(unset)"); * * s = sn_startup_sequence_get_wmclass (sequence); * fprintf(stderr," wm class %s\n", s ? s : "(unset)"); * */ break; case SN_MONITOR_EVENT_COMPLETED: ::setWaitCursor(mainWindow->getApp(), END_CURSOR); break; case SN_MONITOR_EVENT_CANCELED: ::setWaitCursor(mainWindow->getApp(), END_CURSOR); break; } } // Perform one event dispatch with startup notification bool FXApp::runOneEvent(bool blocking) { FXRawEvent ev; // We have to select for property events on at least one // root window (but not all as INITIATE messages go to // all root windows) static FXbool firstcall = true; static SnDisplay* sndisplay; //static SnMonitorContext *context; if (firstcall) { XSetErrorHandler(x_error_handler); XSelectInput((Display*)display, DefaultRootWindow((Display*)display), PropertyChangeMask); sndisplay = sn_display_new((Display*)display, error_trap_push, error_trap_pop); //context = sn_monitor_context_new (sndisplay, DefaultScreen ((Display*)display),snmonitor,NULL, NULL); sn_monitor_context_new(sndisplay, DefaultScreen((Display*)display), snmonitor, NULL, NULL); firstcall = false; } if (getNextEvent(ev, blocking)) { // Check if startup timeout expired time_t t; t = time(NULL); if ((startup_end != 0) && (startup_end-t < 0)) { ::setWaitCursor(mainWindow->getApp(), END_CURSOR); startup_end = 0; } sn_display_process_event(sndisplay, &ev); dispatchEvent(ev); return(true); } return(false); } #endif // Global variables char** args; FXbool xim_used = false; #if defined(linux) FXuint pkg_format; #endif // Base directories (according to the Freedesktop specification version 0.7) FXString homedir; FXString xdgdatahome; FXString xdgconfighome; // Used to force panel view mode from command line int panel_mode = -1; // Hand cursor replacement #define hand_width 32 #define hand_height 32 #define hand_x_hot 6 #define hand_y_hot 1 static const FXuchar hand_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x97, 0x1a, 0x00, 0x00, 0x99, 0x2a, 0x00, 0x00, 0x11, 0x28, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const FXuchar hand_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf7, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Usage message #define USAGE_MSG _("\ \nUsage: xfe [options...] [FOLDER|FILE...]\n\ \n\ [options...] are the following:\n\ \n\ -h, --help Print (this) help screen and exit.\n\ -v, --version Print version information and exit.\n\ -i, --iconic Start iconified.\n\ -m, --maximized Start maximized.\n\ -p n, --panel n Force panel view mode to n (n=0 => Tree and one panel,\n\ n=1 => One panel, n=2 => Two panels, n=3 => Tree and two panels).\n\ \n\ [FOLDER|FILE...] is a list of folders or files to open on startup.\n\ The first two folders are displayed in the file panels, the others are ignored.\n\ The number of files to open is not limited.\n\ \n") int main(int argc, char* argv[]) { const char* title = "Xfe"; const char* appname = "xfe"; const char* vdrname = "Xfe"; int i; FXbool loadicons; FXString startfiledir1 = ""; FXString startdir2 = ""; FXbool iconic = false; FXbool maximized = false; FXString xmodifiers; // Vector of URIs to open on startup vector_FXString startURIs; // Get environment variables $HOME, $XDG_DATA_HOME and $XDG_CONFIG_HOME homedir = FXSystem::getHomeDirectory(); if (homedir == "") { homedir = ROOTDIR; } xdgdatahome = getenv("XDG_DATA_HOME"); if (xdgdatahome == "") { xdgdatahome = homedir + PATHSEPSTRING DATAPATH; } xdgconfighome = getenv("XDG_CONFIG_HOME"); if (xdgconfighome == "") { xdgconfighome = homedir + PATHSEPSTRING CONFIGPATH; } // Detect if an X input method is used xmodifiers = getenv("XMODIFIERS"); if ((xmodifiers == "") || (xmodifiers == "@im=none")) { xim_used = false; } else { xim_used = true; } #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif #if ENABLE_NLS // Set the text message domain. bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "utf-8"); textdomain(PACKAGE); #endif #if defined(linux) // For package query on Linux systems, try to guess if the default package format is deb or rpm: // - if dpkg exists then the system uses deb packages // - else if rpm exists, then the system uses rpm packages // - else another (unsupported) package manager is used FXString cmd = "dpkg --version"; FXString str = getCommandOutput(cmd); if (str.find("Debian") != -1) { pkg_format = DEB_PKG; // deb based system } else { cmd = "rpm --version"; str = getCommandOutput(cmd); if (str.find("RPM") != -1) { pkg_format = RPM_PKG; // rpm based system } else { pkg_format = OTHER_PKG; // other (unsupported) package system } } #endif // Parse basic arguments for (i = 1; i < argc; ++i) { if ((compare(argv[i], "-v") == 0) || (compare(argv[i], "--version") == 0)) { fprintf(stdout, "%s version %s\n", PACKAGE, VERSION); exit(EXIT_SUCCESS); } else if ((compare(argv[i], "-h") == 0) || (compare(argv[i], "--help") == 0)) { fprintf(stdout, USAGE_MSG); exit(EXIT_SUCCESS); } else if ((compare(argv[i], "-i") == 0) || (compare(argv[i], "--iconic") == 0)) { iconic = true; } else if ((compare(argv[i], "-m") == 0) || (compare(argv[i], "--maximized") == 0)) { maximized = true; } else if ((compare(argv[i], "-p") == 0) || (compare(argv[i], "--panel") == 0) || (compare(argv[i], "--panels") == 0)) { if (++i < argc) { panel_mode = atoi(argv[i]); } if ((panel_mode < 0) || (panel_mode > 3)) { fprintf(stderr, _("Warning: Unknown panel mode, revert to last saved panel mode\n")); panel_mode = -1; } } else if (compare(argv[i], "-p0") == 0) { panel_mode = 0; } else if (compare(argv[i], "-p1") == 0) { panel_mode = 1; } else if (compare(argv[i], "-p2") == 0) { panel_mode = 2; } else if (compare(argv[i], "-p3") == 0) { panel_mode = 3; } else { // Starting URIs, if any startURIs.push_back(::filePath(::fileFromURI(argv[i]))); } } // Global variable (used to properly restart Xfe) args = argv; // Application creation FXApp* application = new FXApp(appname, vdrname); application->init(argc, argv); // Redefine the default hand cursor FXCursor* hand = new FXCursor(application, hand_bits, hand_mask_bits, hand_width, hand_height, hand_x_hot, hand_y_hot); application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Read registry thru foxhacks application->reg().read(); // Set base color (to change the default base color at first run) FXColor basecolor = application->reg().readColorEntry("SETTINGS", "basecolor", FXRGB(237, 233, 227)); application->setBaseColor(basecolor); // Load all application icons loadicons = loadAppIcons(application); // Set normal font FXString fontspec; fontspec = application->reg().readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); if (!fontspec.empty()) { FXFont* normalFont = new FXFont(application, fontspec); application->setNormalFont(normalFont); } // If root if (getuid() == 0) { title = "Xfe (root)"; } // Create and run application mainWindow = new XFileExplorer(application, startURIs, iconic, maximized, title, xfeicon, minixfeicon); // Catch SIGCHLD to harvest zombie child processes application->addSignal(SIGCHLD, mainWindow, XFileExplorer::ID_HARVEST, true); // Also catch interrupt so we can gracefully terminate application->addSignal(SIGINT, mainWindow, XFileExplorer::ID_QUIT); application->create(); // Tooltips setup time and duration application->setTooltipPause(TOOLTIP_PAUSE); application->setTooltipTime(TOOLTIP_TIME); if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icons path!")); } return(application->run()); } xfe-1.42/src/XFileWrite.h0000644000175100017510000000150012625057514012132 00000000000000#ifndef XFILEWRITE_H #define XFILEWRITE_H class Preferences; class WriteWindow; // Main Application class class XFileWrite : public FXApp { FXDECLARE(XFileWrite) public: WriteWindowList windowlist; // Window list private: XFileWrite() {} XFileWrite(const XFileWrite&); XFileWrite& operator=(const XFileWrite&); public: enum { ID_CLOSEALL=FXApp::ID_LAST, ID_LAST }; public: long onCmdCloseAll(FXObject*, FXSelector, void*); public: // Construct application object XFileWrite(const FXString&, const FXString&); // Initialize application virtual void init(int& argc, char** argv, bool connect = true); // Exit application virtual void exit(int code = 0); // Delete application object virtual ~XFileWrite(); }; #endif xfe-1.42/src/SearchPanel.h0000644000175100017510000002011112625057514012274 00000000000000#ifndef SEARCHPANEL_H #define SEARCHPANEL_H #include #include "HistInputDialog.h" #include "BrowseInputDialog.h" // Typedef for the map between program string identifiers and integer indexes typedef std::map progsmap; // Search panel class FXAPI SearchPanel : public FXVerticalFrame { FXDECLARE(SearchPanel) protected: FileDict* associations; FileList* list; // File list ArchInputDialog* archdialog; HistInputDialog* opendialog; BrowseInputDialog* operationdialogsingle; InputDialog* operationdialogrename; BrowseInputDialog* operationdialogmultiple; BrowseInputDialog* comparedialog; FXString searchdir; FXbool ctrlflag; // Flag to select the right click control menu FXbool shiftf10; // Flag indicating that Shift-F10 was pressed FXPacker* statusbar; FXLabel* status; FXDragCorner* corner; FXString trashfileslocation; FXString trashinfolocation; FXDragType urilistType; // Standard uri-list type FXDragType xfelistType; // Xfe, Gnome and XFCE list type FXDragType kdelistType; // KDE list type FXDragType utf8Type; // UTF-8 text type FXButton* refreshbtn; FXButton* gotodirbtn; FXButton* copybtn; FXButton* cutbtn; FXButton* propbtn; FXButton* trashbtn; FXButton* delbtn; FXButton* bigiconsbtn; FXButton* smalliconsbtn; FXButton* detailsbtn; FXToggleButton* thumbbtn; progsmap progs; // Map between program string identifiers and integer indexes protected: SearchPanel() : associations(NULL), list(NULL), archdialog(NULL), opendialog(NULL), operationdialogsingle(NULL), operationdialogrename(NULL), operationdialogmultiple(NULL), comparedialog(NULL), ctrlflag(false), shiftf10(false), statusbar(NULL), status(NULL), corner(NULL), urilistType(0), xfelistType(0), kdelistType(0), utf8Type(0), refreshbtn(NULL), gotodirbtn(NULL), copybtn(NULL), cutbtn(NULL), propbtn(NULL), trashbtn(NULL), delbtn(NULL), bigiconsbtn(NULL), smalliconsbtn(NULL), detailsbtn(NULL), thumbbtn(NULL) {} public: enum { ID_CANCEL=FXTopWindow::ID_LAST, ID_FILELIST, ID_STATUS, ID_POPUP_MENU, ID_VIEW, ID_EDIT, ID_COMPARE, ID_OPEN, ID_OPEN_WITH, ID_SELECT_ALL, ID_DESELECT_ALL, ID_SELECT_INVERSE, ID_EXTRACT, ID_ADD_TO_ARCH, ID_DIR_USAGE, #if defined(linux) ID_PKG_QUERY, ID_PKG_INSTALL, ID_PKG_UNINSTALL, #endif ID_REFRESH, ID_PROPERTIES, ID_COPY_CLIPBOARD, ID_CUT_CLIPBOARD, ID_GO_SCRIPTDIR, ID_GOTO_PARENTDIR, ID_FILE_COPYTO, ID_FILE_MOVETO, ID_FILE_RENAME, ID_FILE_SYMLINK, ID_FILE_DELETE, ID_FILE_TRASH, ID_LAST }; SearchPanel(FXComposite*, FXuint name_size = 200, FXuint dir_size = 150, FXuint size_size = 60, FXuint type_size = 100, FXuint ext_size = 100, FXuint modd_size = 150, FXuint user_size = 50, FXuint grou_size = 50, FXuint attr_size = 100, FXColor listbackcolor = FXRGB(255, 255, 255), FXColor listforecolor = FXRGB(0, 0, 0), FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); virtual void create(); virtual ~SearchPanel(); void execFile(FXString); int readScriptDir(FXMenuPane*, FXString); long appendItem(FXString&); long onClipboardGained(FXObject*, FXSelector, void*); long onClipboardLost(FXObject*, FXSelector, void*); long onClipboardRequest(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onCmdItemDoubleClicked(FXObject*, FXSelector, void*); long onCmdItemClicked(FXObject*, FXSelector, void*); long onCmdSelect(FXObject*, FXSelector, void*); long onCmdGotoParentdir(FXObject*, FXSelector, void*); long onCmdOpenWith(FXObject*, FXSelector, void*); long onCmdOpen(FXObject*, FXSelector, void*); long onCmdEdit(FXObject*, FXSelector, void*); long onCmdCompare(FXObject*, FXSelector, void*); long onCmdRefresh(FXObject*, FXSelector, void*); long onCmdProperties(FXObject* sender, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onCmdCopyCut(FXObject*, FXSelector, void*); long onCmdFileMan(FXObject*, FXSelector, void*); long onCmdAddToArch(FXObject*, FXSelector, void*); long onCmdExtract(FXObject*, FXSelector, void*); long onCmdFileTrash(FXObject*, FXSelector, void*); long onCmdFileDelete(FXObject*, FXSelector, void*); long onCmdGoScriptDir(FXObject*, FXSelector, void*); long onCmdDirUsage(FXObject*, FXSelector, void*); long onUpdStatus(FXObject*, FXSelector, void*); long onUpdSelMult(FXObject*, FXSelector, void*); long onUpdCompare(FXObject*, FXSelector, void*); long onUpdMenu(FXObject*, FXSelector, void*); long onUpdDirUsage(FXObject*, FXSelector, void*); #if defined(linux) long onCmdPkgQuery(FXObject*, FXSelector, void*); long onUpdPkgQuery(FXObject*, FXSelector, void*); #endif public: // Get header size given its index int getHeaderSize(int index) const { return(list->getHeaderSize(index)); } // Change show thumbnails mode void showThumbnails(FXbool display) { list->showThumbnails(display); } // Thumbnails shown? FXbool shownThumbnails(void) const { return(list->shownThumbnails()); } // Enable toolbar and status bar buttons void enableButtons(void) { refreshbtn->enable(); gotodirbtn->enable(); bigiconsbtn->enable(); smalliconsbtn->enable(); detailsbtn->enable(); thumbbtn->enable(); } // Disable toolbar and status bar buttons void disableButtons(void) { refreshbtn->disable(); gotodirbtn->disable(); bigiconsbtn->disable(); smalliconsbtn->disable(); detailsbtn->disable(); thumbbtn->disable(); } // Change sort function void setSortFunc(IconListSortFunc func) { list->setSortFunc(func); } // Return sort function IconListSortFunc getSortFunc() const { return(list->getSortFunc()); } // Set ignore case void setIgnoreCase(FXbool ignorecase) { list->setIgnoreCase(ignorecase); } // Get ignore case FXbool getIgnoreCase(void) { return(list->getIgnoreCase()); } // Set directory first void setDirsFirst(FXbool dirsfirst) { list->setDirsFirst(dirsfirst); } // Set directory first FXbool getDirsFirst(void) { return(list->getDirsFirst()); } // Get the current icon list style FXuint getListStyle(void) const { return(list->getListStyle()); } // Get the current icon list style void setListStyle(FXuint style) { list->setListStyle(style); } // Return number of items int getNumItems() const { return(list->getNumItems()); } // Get current item int getCurrentItem(void) const { return(list->getCurrentItem()); } // Set current item void setCurrentItem(int item) { list->setCurrentItem(item); list->makeItemVisible(item); } // Set status text void setStatusText(FXString text) { status->setText(text); } // Clear list items and reset panel status void clearItems(void); // Set search path void setSearchPath(FXString); // Toggle file list refresh void setAllowRefresh(FXbool flag) { list->setAllowRefresh(flag); } // Refresh file list void forceRefresh(void) { list->onCmdRefresh(0, 0, 0); } // Deselect all items void deselectAll(void) { list->onCmdDeselectAll(0,0,0); } }; #endif xfe-1.42/src/File.h0000644000175100017510000000773412625101271010774 00000000000000#ifndef FILE_H #define FILE_H #include #include "DialogBox.h" #include "OverwriteBox.h" #include "MessageBox.h" // File operations enum { COPY, RENAME, MOVE, SYMLINK, DELETE, CHMOD, CHOWN, EXTRACT, ARCHIVE, #if defined(linux) PKG_INSTALL, PKG_UNINSTALL, MOUNT, UNMOUNT #endif }; // To search visited inodes struct inodelist { ino_t st_ino; inodelist* next; }; class File : public DialogBox { FXDECLARE(File) private: FXWindow* ownerwin; protected: // Inline function // Force check of timeout for progress dialog (to avoid latency problems) int checkTimeout(void) { if (getApp()->hasTimeout(this, File::ID_TIMEOUT)) { if (getApp()->remainingTimeout(this, File::ID_TIMEOUT) == 0) { getApp()->removeTimeout(this, File::ID_TIMEOUT); show(PLACEMENT_OWNER); getApp()->forceRefresh(); getApp()->flush(); return(1); } } return(0); } void forceTimeout(void); void restartTimeout(void); FXlong fullread(int fd, FXuchar* ptr, FXlong len); FXlong fullwrite(int fd, const FXuchar* ptr, FXlong len); FXuint getOverwriteAnswer(FXString, FXString); int copyfile(const FXString& source, const FXString& target, const FXbool preserve_date); int copyrec(const FXString& source, const FXString& target, inodelist* inodes, const FXbool preserve_date); int copydir(const FXString& source, const FXString& target, struct stat& parentstatus, inodelist* inodes, const FXbool preserve_date); int rchmod(char* path, char* file, mode_t mode, const FXbool dironly, const FXbool fileonly); int rchown(char* path, char* file, uid_t uid, gid_t gid, const FXbool dironly, const FXbool fileonly); FXLabel* uplabel; FXLabel* downlabel; FXString datatext; FXLabel* datalabel; FXProgressBar* progressbar; FXButton* cancelButton; FXbool overwrite; FXbool overwrite_all; FXbool skip_all; FXbool cancelled; MessageBox* mbox; FXlong totaldata; FXuint numsel; public: File() : uplabel(NULL), downlabel(NULL), datalabel(NULL), progressbar(NULL), cancelButton(NULL), overwrite(false), overwrite_all(false), skip_all(false), cancelled(false), mbox(NULL), totaldata(0) {} ~File(); void create(); File(FXWindow* owner, FXString title, const FXuint operation, const FXuint num=1); enum { ID_CANCEL_BUTTON=DialogBox::ID_LAST, ID_TIMEOUT, ID_LAST }; FXbool isCancelled() { return(cancelled); } void hideProgressDialog() { forceTimeout(); } void showProgressDialog() { restartTimeout(); } int copy(const FXString& source, const FXString& target, const FXbool confirm_dialog = true, const FXbool preserve_date = true); int rename(const FXString& source, const FXString& target); int move(const FXString& source, const FXString& target, const FXbool restore = false); int symlink(const FXString& source, const FXString& target); int remove(const FXString& file); int chmod(char* path, char* file, mode_t mode, const FXbool rec, const FXbool dironly = false, const FXbool fileonly = false); int chown(char* path, char* file, uid_t uid, gid_t gid, const FXbool rec, const FXbool dironly = false, const FXbool fileonly = false); int extract(const FXString name, const FXString dir, const FXString cmd); int archive(const FXString name, const FXString cmd); #if defined(linux) int mount(const FXString dir, const FXString msg, const FXString cmd, const FXuint op); int pkgInstall(const FXString name, const FXString cmd); int pkgUninstall(const FXString name, const FXString cmd); #endif long onCmdCancel(FXObject*, FXSelector, void*); long onTimeout(FXObject*, FXSelector, void*); }; #endif xfe-1.42/src/BrowseInputDialog.h0000644000175100017510000000244312625057514013520 00000000000000#ifndef BROWSEINPUTDIALOG_H #define BROWSEINPUTDIALOG_H #include "TextLabel.h" #include "DialogBox.h" // Browse types enum { BROWSE_INPUT_FILE, BROWSE_INPUT_FOLDER, BROWSE_INPUT_MIXED }; class XComApp; class BrowseInputDialog : public DialogBox { FXDECLARE(BrowseInputDialog) protected: FXTextField* input; TextLabel* msg; FXLabel* iconlabel; FXHorizontalFrame* checkbutton; FXuint browsetype; FXString initialdir; private: BrowseInputDialog() : input(NULL), msg(NULL), iconlabel(NULL), checkbutton(NULL), browsetype(0) {} public: enum { ID_BROWSE_PATH=DialogBox::ID_LAST, ID_LAST }; BrowseInputDialog(FXWindow*, FXString, FXString, FXString, FXString label = "", FXIcon* ic = NULL, FXuint browse = BROWSE_INPUT_FILE, FXbool option = false, FXString = FXString::null); virtual void create(); virtual ~BrowseInputDialog(); long onCmdKeyPress(FXObject*, FXSelector, void*); long onCmdBrowsePath(FXObject*, FXSelector, void*); void setMessage(FXString); void setIcon(FXIcon*); void setDirectory(const FXString&); FXString getText(); void setText(const FXString&); void selectAll(); void CursorEnd(); void setSelection(int, int); }; #endif xfe-1.42/src/WriteWindow.cpp0000644000175100017510000023325612625057511012741 00000000000000// This is adapted from 'adie', a text editor found // in the FOX library and written by Jeroen van der Zijp. #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "FileDialog.h" #include "FontDialog.h" #include "MessageBox.h" #include "InputDialog.h" #include "WriteWindow.h" #include "XFileWrite.h" extern FXbool allowPopupScroll; FXbool save_win_pos; FXIMPLEMENT_ABSTRACT(FXTextCommand, FXCommand, NULL, 0) // Return size of record plus any data kept here FXuint FXTextCommand::size() const { return(sizeof(FXTextCommand)+ndel); } FXIMPLEMENT_ABSTRACT(FXTextInsert, FXTextCommand, NULL, 0) // Insert command FXTextInsert::FXTextInsert(FXText* txt, int p, int ni, const char* ins) : FXTextCommand(txt, p, 0, ni) { FXMALLOC(&buffer, char, ni); memcpy(buffer, ins, ni); } // Undo an insert removes the inserted text void FXTextInsert::undo() { text->removeText(pos, nins, true); text->setCursorPos(pos); text->makePositionVisible(pos); } // Redo an insert inserts the same old text again void FXTextInsert::redo() { text->insertText(pos, buffer, nins, true); text->setCursorPos(pos+nins); text->makePositionVisible(pos+nins); } FXIMPLEMENT_ABSTRACT(FXTextDelete, FXTextCommand, NULL, 0) // Delete command FXTextDelete::FXTextDelete(FXText* txt, int p, int nd, const char* del) : FXTextCommand(txt, p, nd, 0) { FXMALLOC(&buffer, char, nd); memcpy(buffer, del, nd); } // Undo a delete reinserts the old text void FXTextDelete::undo() { text->insertText(pos, buffer, ndel, true); text->setCursorPos(pos+ndel); text->makePositionVisible(pos+ndel); } // Redo a delete removes it again void FXTextDelete::redo() { text->removeText(pos, ndel, true); text->setCursorPos(pos); text->makePositionVisible(pos); } FXIMPLEMENT_ABSTRACT(FXTextReplace, FXTextCommand, NULL, 0) // Replace command FXTextReplace::FXTextReplace(FXText* txt, int p, int nd, int ni, const char* del, const char* ins) : FXTextCommand(txt, p, nd, ni) { FXMALLOC(&buffer, char, nd+ni); memcpy(buffer, del, nd); memcpy(buffer+nd, ins, ni); } // Undo a replace reinserts the old text void FXTextReplace::undo() { text->replaceText(pos, nins, buffer, ndel, true); text->setCursorPos(pos+ndel); text->makePositionVisible(pos+ndel); } // Redo a replace reinserts the new text void FXTextReplace::redo() { text->replaceText(pos, ndel, buffer+ndel, nins, true); text->setCursorPos(pos+nins); text->makePositionVisible(pos+nins); } // Preferences class // Map FXDEFMAP(Preferences) PreferencesMap[] = { FXMAPFUNC(SEL_COMMAND, Preferences::ID_ACCEPT, Preferences::onCmdAccept), FXMAPFUNC(SEL_COMMAND, Preferences::ID_CANCEL, Preferences::onCmdCancel), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_BACK, Preferences::onCmdTextBackColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_BACK, Preferences::onCmdTextBackColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_BACK, Preferences::onUpdTextBackColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_FORE, Preferences::onCmdTextForeColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_FORE, Preferences::onCmdTextForeColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_FORE, Preferences::onUpdTextForeColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_SELBACK, Preferences::onCmdTextSelBackColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_SELBACK, Preferences::onCmdTextSelBackColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_SELBACK, Preferences::onUpdTextSelBackColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_SELFORE, Preferences::onCmdTextSelForeColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_SELFORE, Preferences::onCmdTextSelForeColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_SELFORE, Preferences::onUpdTextSelForeColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_HILITEBACK, Preferences::onCmdTextHiliteBackColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_HILITEBACK, Preferences::onCmdTextHiliteBackColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_HILITEBACK, Preferences::onUpdTextHiliteBackColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_HILITEFORE, Preferences::onCmdTextHiliteForeColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_HILITEFORE, Preferences::onCmdTextHiliteForeColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_HILITEFORE, Preferences::onUpdTextHiliteForeColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_CURSOR, Preferences::onCmdTextCursorColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_CURSOR, Preferences::onCmdTextCursorColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_CURSOR, Preferences::onUpdTextCursorColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_NUMBACK, Preferences::onCmdTextBarColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_NUMBACK, Preferences::onCmdTextBarColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_NUMBACK, Preferences::onUpdTextBarColor), FXMAPFUNC(SEL_COMMAND, Preferences::ID_TEXT_NUMFORE, Preferences::onCmdTextNumberColor), FXMAPFUNC(SEL_CHANGED, Preferences::ID_TEXT_NUMFORE, Preferences::onCmdTextNumberColor), FXMAPFUNC(SEL_UPDATE, Preferences::ID_TEXT_NUMFORE, Preferences::onUpdTextNumberColor), }; // Object implementation FXIMPLEMENT(Preferences, DialogBox, PreferencesMap, ARRAYNUMBER(PreferencesMap)) // Construct Preferences::Preferences(WriteWindow* owner) : DialogBox(owner, _("XFileWrite Preferences"), DECOR_TITLE|DECOR_BORDER|DECOR_MAXIMIZE|DECOR_STRETCHABLE|DECOR_CLOSE) { // Get the editor text widget from the owner editwin = owner; editor = owner->getEditor(); // Set title setTitle(_("XFileWrite Preferences")); // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Contents FXHorizontalFrame* contents = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH); // Accept FXButton* ok = new FXButton(buttons, _("&Accept"), NULL, this, Preferences::ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); ok->addHotKey(KEY_Return); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, Preferences::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Switcher FXTabBook* tabbook = new FXTabBook(contents, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT); // First tab - Editor new FXTabItem(tabbook, _("&Editor"), NULL); FXVerticalFrame* editor = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* group = new FXGroupBox(editor, _("Text"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* matrix = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, _("Wrap margin:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); wrapmargin = new FXTextField(matrix, 10, NULL, 0, TEXTFIELD_INTEGER|JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW, 0, 0, 0, 0, 2, 2, 1, 1); int wrapcols = getApp()->reg().readIntEntry("OPTIONS", "wrapcols", 80); wrapmargin->setText(FXStringVal(wrapcols)); new FXLabel(matrix, _("Tabulation size:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); tabsize = new FXTextField(matrix, 10, NULL, 0, TEXTFIELD_INTEGER|JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW, 0, 0, 0, 0, 2, 2, 1, 1); int tabcols = getApp()->reg().readIntEntry("OPTIONS", "tabcols", 8); tabsize->setText(FXStringVal(tabcols)); new FXLabel(matrix, _("Strip carriage returns:")+(FXString)" ", NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); stripcr = new FXCheckButton(matrix, FXString::null, NULL, 0, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW, 0, 0, 0, 0, 0, 0, 0, 0); int stripreturn = getApp()->reg().readIntEntry("OPTIONS", "stripreturn", false); stripcr->setCheck(stripreturn); // Second tab - Colors new FXTabItem(tabbook, _("&Colors"), NULL); FXVerticalFrame* colors = new FXVerticalFrame(tabbook, FRAME_RAISED); group = new FXGroupBox(colors, _("Text"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* matrix1 = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); group = new FXGroupBox(colors, _("Lines"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* matrix2 = new FXMatrix(group, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix1, _("Background:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_BACK, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Text:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_FORE, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Selected text background:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_SELBACK, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Selected text:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_SELFORE, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Highlighted text background:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_HILITEBACK, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Highlighted text:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_HILITEFORE, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix1, _("Cursor:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix1, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_CURSOR, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix2, _("Line numbers background:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix2, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_NUMBACK, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); new FXLabel(matrix2, _("Line numbers foreground:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); new FXColorWell(matrix2, FXRGB(0, 0, 0), this, Preferences::ID_TEXT_NUMFORE, FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_ROW, 0, 0, 40, 24); // Class variable initializations stripcr_prev = false; textcolor_prev = FXRGB(0, 0, 0); backcolor_prev = FXRGB(0, 0, 0); textcolor_prev = FXRGB(0, 0, 0); backcolor_prev = FXRGB(0, 0, 0); seltextcolor_prev = FXRGB(0, 0, 0); selbackcolor_prev = FXRGB(0, 0, 0); hilitetextcolor_prev = FXRGB(0, 0, 0); hilitebackcolor_prev = FXRGB(0, 0, 0); cursorcolor_prev = FXRGB(0, 0, 0); barcolor_prev = FXRGB(0, 0, 0); numbercolor_prev = FXRGB(0, 0, 0); } long Preferences::onCmdAccept(FXObject* o, FXSelector s, void* p) { // Update preferences to their new values editor->setWrapColumns(FXIntVal(wrapmargin->getText())); getApp()->reg().writeIntEntry("OPTIONS", "wrapcols", FXIntVal(wrapmargin->getText())); editor->setTabColumns(FXIntVal(tabsize->getText())); getApp()->reg().writeIntEntry("OPTIONS", "tabcols", FXIntVal(tabsize->getText())); editor->setTabColumns(FXIntVal(tabsize->getText())); getApp()->reg().writeIntEntry("OPTIONS", "tabcols", FXIntVal(tabsize->getText())); editwin->setStripcr(stripcr->getCheck()); getApp()->reg().writeIntEntry("OPTIONS", "stripreturn", stripcr->getCheck()); // Finally, update the registry getApp()->reg().write(); DialogBox::onCmdAccept(o, s, p); return(1); } long Preferences::onCmdCancel(FXObject* o, FXSelector s, void* p) { // Reset preferences to their previous values // First tab - Editor wrapmargin->setText(wrapmargin_prev); tabsize->setText(tabsize_prev); stripcr->setCheck(stripcr_prev); // Second tab - Colors editor->setTextColor(textcolor_prev); editor->setBackColor(backcolor_prev); editor->setSelTextColor(seltextcolor_prev); editor->setSelBackColor(selbackcolor_prev); editor->setHiliteTextColor(hilitetextcolor_prev); editor->setHiliteBackColor(hilitebackcolor_prev); editor->setCursorColor(cursorcolor_prev); editor->setBarColor(barcolor_prev); editor->setNumberColor(numbercolor_prev); DialogBox::onCmdCancel(o, s, p); return(1); } // Execute dialog box modally FXuint Preferences::execute(FXuint placement) { // Save current preferences to restore them if cancel is pressed // First tab - Editor wrapmargin_prev = wrapmargin->getText(); tabsize_prev = tabsize->getText(); stripcr_prev = stripcr->getCheck(); // Second tab - Colors textcolor_prev = editor->getTextColor(); backcolor_prev = editor->getBackColor(); seltextcolor_prev = editor->getSelTextColor(); selbackcolor_prev = editor->getSelBackColor(); hilitetextcolor_prev = editor->getHiliteTextColor(); hilitebackcolor_prev = editor->getHiliteBackColor(); cursorcolor_prev = editor->getCursorColor(); barcolor_prev = editor->getBarColor(); numbercolor_prev = editor->getNumberColor(); // Display dialog create(); show(placement); getApp()->refresh(); return(getApp()->runModalFor(this)); } // Change text color long Preferences::onCmdTextForeColor(FXObject*, FXSelector, void* ptr) { editor->setTextColor((FXColor)(FXuval)ptr); return(1); } // Update text color long Preferences::onUpdTextForeColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getTextColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change text background color long Preferences::onCmdTextBackColor(FXObject*, FXSelector, void* ptr) { editor->setBackColor((FXColor)(FXuval)ptr); return(1); } // Update background color long Preferences::onUpdTextBackColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getBackColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change selected text foreground color long Preferences::onCmdTextSelForeColor(FXObject*, FXSelector, void* ptr) { editor->setSelTextColor((FXColor)(FXuval)ptr); return(1); } // Update selected text foregoround color long Preferences::onUpdTextSelForeColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getSelTextColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change selected text background color long Preferences::onCmdTextSelBackColor(FXObject*, FXSelector, void* ptr) { editor->setSelBackColor((FXColor)(FXuval)ptr); return(1); } // Update selected text background color long Preferences::onUpdTextSelBackColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getSelBackColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change hilight text color long Preferences::onCmdTextHiliteForeColor(FXObject*, FXSelector, void* ptr) { editor->setHiliteTextColor((FXColor)(FXuval)ptr); return(1); } // Update hilight text color long Preferences::onUpdTextHiliteForeColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getHiliteTextColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change hilight text background color long Preferences::onCmdTextHiliteBackColor(FXObject*, FXSelector, void* ptr) { editor->setHiliteBackColor((FXColor)(FXuval)ptr); return(1); } // Update hilight text background color long Preferences::onUpdTextHiliteBackColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getHiliteBackColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change cursor color long Preferences::onCmdTextCursorColor(FXObject*, FXSelector, void* ptr) { editor->setCursorColor((FXColor)(FXuval)ptr); return(1); } // Update cursor color long Preferences::onUpdTextCursorColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getCursorColor(); sender->handle(sender, FXSEL(SEL_COMMAND, FXWindow::ID_SETINTVALUE), (void*)&color); return(1); } // Change line numbers background color long Preferences::onCmdTextBarColor(FXObject*, FXSelector, void* ptr) { editor->setBarColor((FXColor)(FXuval)ptr); return(1); } // Update line numbers background color long Preferences::onUpdTextBarColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getBarColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // Change line numbers color long Preferences::onCmdTextNumberColor(FXObject*, FXSelector, void* ptr) { editor->setNumberColor((FXColor)(FXuval)ptr); return(1); } // Update line numbers color long Preferences::onUpdTextNumberColor(FXObject* sender, FXSelector, void*) { FXColor color = editor->getNumberColor(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&color); return(1); } // WriteWindow class // Map FXDEFMAP(WriteWindow) WriteWindowMap[] = { FXMAPFUNC(SEL_UPDATE, 0, WriteWindow::onUpdateTitle), FXMAPFUNC(SEL_FOCUSIN, 0, WriteWindow::onFocusIn), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_ABOUT, WriteWindow::onCmdAbout), FXMAPFUNC(SEL_SIGNAL, WriteWindow::ID_HARVEST, WriteWindow::onSigHarvest), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_NEW, WriteWindow::onCmdNew), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_OPEN, WriteWindow::onCmdOpen), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_OPEN_RECENT, WriteWindow::onCmdOpenRecent), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_SAVE, WriteWindow::onCmdSave), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_SAVEAS, WriteWindow::onCmdSaveAs), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_FONT, WriteWindow::onCmdFont), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_PRINT, WriteWindow::onCmdPrint), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_TOGGLE_WRAP, WriteWindow::onUpdWrap), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_TOGGLE_WRAP, WriteWindow::onCmdWrap), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_TOGGLE_LINES_NUM, WriteWindow::onCmdLinesNum), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_TOGGLE_LINES_NUM, WriteWindow::onUpdLinesNum), FXMAPFUNC(SEL_INSERTED, WriteWindow::ID_TEXT, WriteWindow::onTextInserted), FXMAPFUNC(SEL_REPLACED, WriteWindow::ID_TEXT, WriteWindow::onTextReplaced), FXMAPFUNC(SEL_DELETED, WriteWindow::ID_TEXT, WriteWindow::onTextDeleted), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, WriteWindow::ID_TEXT, WriteWindow::onTextRightMouse), FXMAPFUNC(SEL_DND_MOTION, WriteWindow::ID_TEXT, WriteWindow::onEditDNDMotion), FXMAPFUNC(SEL_DND_DROP, WriteWindow::ID_TEXT, WriteWindow::onEditDNDDrop), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_OVERSTRIKE, WriteWindow::onUpdOverstrike), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_NUM_ROWS, WriteWindow::onUpdNumRows), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_PREFERENCES, WriteWindow::onCmdMorePrefs), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_SEARCH, WriteWindow::onCmdSearch), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_REPLACE, WriteWindow::onCmdReplace), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_SEARCH_FORW_SEL, WriteWindow::onCmdSearchSel), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_SEARCH_BACK_SEL, WriteWindow::onCmdSearchSel), FXMAPFUNC(SEL_COMMAND, WriteWindow::ID_GOTO_LINE, WriteWindow::onCmdGotoLine), FXMAPFUNCS(SEL_UPDATE, WriteWindow::ID_WINDOW_1, WriteWindow::ID_WINDOW_50, WriteWindow::onUpdWindow), FXMAPFUNCS(SEL_COMMAND, WriteWindow::ID_WINDOW_1, WriteWindow::ID_WINDOW_50, WriteWindow::onCmdWindow), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_SAVE, WriteWindow::onUpdSave), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_SAVEAS, WriteWindow::onUpdReadOnly), FXMAPFUNC(SEL_UPDATE, WriteWindow::ID_REPLACE, WriteWindow::onUpdReadOnly), }; // Object implementation FXIMPLEMENT(WriteWindow, FXMainWindow, WriteWindowMap, ARRAYNUMBER(WriteWindowMap)) // Make some windows WriteWindow::WriteWindow(XFileWrite* a, const FXString& file, const FXbool _readonly) : FXMainWindow(a, "XFileWrite", NULL, NULL, DECOR_ALL), mrufiles(a) { FXHotKey hotkey; FXString key; // Add to list of windows getApp()->windowlist.append(this); // Default font font = NULL; // Application icons setIcon(xfwicon); // Status bar statusbar = new FXStatusBar(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER|FRAME_RAISED); // Make menu bar menubar = new FXMenuBar(this, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED); // Sites where to dock FXDockSite* topdock = new FXDockSite(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_LEFT|LAYOUT_FILL_Y); new FXDockSite(this, LAYOUT_SIDE_RIGHT|LAYOUT_FILL_Y); // Toolbar dragshell = new FXToolBarShell(this, FRAME_RAISED); toolbar = new FXToolBar(topdock, dragshell, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED); new FXToolBarGrip(toolbar, toolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // File menu filemenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&File"), NULL, filemenu); // Edit Menu editmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Edit"), NULL, editmenu); // View menu viewmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&View"), NULL, viewmenu); // Search Menu searchmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Search"), NULL, searchmenu); // Preferences Menu prefsmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Preferences"), NULL, prefsmenu); // Window menu windowmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Window"), NULL, windowmenu); // Help menu helpmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Help"), NULL, helpmenu, LAYOUT_LEFT); // Make editor window FXHorizontalFrame* textbox = new FXHorizontalFrame(this, FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0); editor = new FXText(textbox, this, ID_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y|TEXT_SHOWACTIVE); editor->setHiliteMatchTime(2000); editor->setTextStyle(editor->getTextStyle()|TEXT_FIXEDWRAP); editor->setTextStyle(editor->getTextStyle()&~TEXT_NO_TABS); editor->setScrollStyle(editor->getScrollStyle()&~SCROLLERS_DONT_TRACK); editor->setTextStyle(editor->getTextStyle()&~TEXT_SHOWACTIVE); editor->setMarginLeft(10); // Read only readonly = _readonly; if (readonly) { editor->setTextStyle(editor->getTextStyle()|TEXT_READONLY); } // Show insert mode in status bar FXLabel* overstrike = new FXLabel(statusbar, FXString::null, NULL, FRAME_SUNKEN|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 2, 2, 1, 1); overstrike->setTarget(this); overstrike->setSelector(ID_OVERSTRIKE); // Show size of text in status bar FXTextField* numchars = new FXTextField(statusbar, 7, this, ID_NUM_ROWS, TEXTFIELD_READONLY|FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 2, 2, 1, 1); numchars->setBackColor(statusbar->getBackColor()); // Caption before number new FXLabel(statusbar, _(" Lines:"), NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y); // Show column number in status bar FXTextField* columnno = new FXTextField(statusbar, 7, editor, FXText::ID_CURSOR_COLUMN, FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 2, 2, 1, 1); columnno->setBackColor(statusbar->getBackColor()); // Caption before number new FXLabel(statusbar, _(" Col:"), NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y); // Show line number in status bar FXTextField* rowno = new FXTextField(statusbar, 7, editor, FXText::ID_CURSOR_ROW, FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 2, 2, 1, 1); rowno->setBackColor(statusbar->getBackColor()); // Caption before number new FXLabel(statusbar, _(" Line:"), NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y); // Toolbar buttons: File manipulation key = getApp()->reg().readStringEntry("KEYBINDINGS", "new", "Ctrl-N"); new FXButton(toolbar, TAB+_("New")+PARS(key)+TAB+_("Create new document.")+PARS(key), newfileicon, this, ID_NEW, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); new FXButton(toolbar, TAB+_("Open")+PARS(key)+TAB+_("Open document file.")+PARS(key), fileopenicon, this, ID_OPEN, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "save", "Ctrl-S"); new FXButton(toolbar, TAB+_("Save")+PARS(key)+TAB+_("Save document.")+PARS(key), savefileicon, this, ID_SAVE, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); new FXButton(toolbar, TAB+_("Close")+PARS(key)+TAB+_("Close document file.")+PARS(key), closefileicon, this, ID_CLOSE, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Toolbar buttons: Print and Quit key = getApp()->reg().readStringEntry("KEYBINDINGS", "print", "Ctrl-P"); new FXButton(toolbar, TAB+_("Print")+PARS(key)+TAB+_("Print document.")+PARS(key), printicon, this, ID_PRINT, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); new FXButton(toolbar, TAB+_("Quit")+PARS(key)+TAB+_("Quit X File Write.")+PARS(key), quiticon, getApp(), XFileWrite::ID_CLOSEALL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Toolbar buttons: Editing key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); new FXButton(toolbar, TAB+_("Copy")+PARS(key)+TAB+_("Copy selection to clipboard.")+PARS(key), copy_clpicon, editor, FXText::ID_COPY_SEL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); cut = new FXButton(toolbar, TAB+_("Cut")+PARS(key)+TAB+_("Cut selection to clipboard.")+PARS(key), cut_clpicon, editor, FXText::ID_CUT_SEL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); paste = new FXButton(toolbar, TAB+_("Paste")+PARS(key)+TAB+_("Paste clipboard.")+PARS(key), paste_clpicon, editor, FXText::ID_PASTE_SEL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Goto line key = getApp()->reg().readStringEntry("KEYBINDINGS", "goto_line", "Ctrl-L"); new FXButton(toolbar, TAB+_("Goto line")+PARS(key)+TAB+_("Goto line number."), gotolineicon, this, WriteWindow::ID_GOTO_LINE, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Undo/redo key = getApp()->reg().readStringEntry("KEYBINDINGS", "undo", "Ctrl-Z"); new FXButton(toolbar, TAB+_("Undo")+PARS(key)+TAB+_("Undo last change.")+PARS(key), undoicon, &undolist, FXUndoList::ID_UNDO, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "redo", "Ctrl-Y"); new FXButton(toolbar, TAB+_("Redo")+PARS(key)+TAB+_("Redo last undo.")+PARS(key), redoicon, &undolist, FXUndoList::ID_REDO, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Search key = getApp()->reg().readStringEntry("KEYBINDINGS", "search", "Ctrl-F"); new FXButton(toolbar, TAB+_("Search")+PARS(key)+TAB+_("Search text.")+PARS(key), searchicon, this, WriteWindow::ID_SEARCH, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_prev", "Ctrl-Shift-G"); new FXButton(toolbar, TAB+_("Search selection backward")+PARS(key)+TAB+_("Search backward for selected text.")+PARS(key), searchprevicon, this, WriteWindow::ID_SEARCH_BACK_SEL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_next", "Ctrl-G"); new FXButton(toolbar, TAB+_("Search selection forward")+PARS(key)+TAB+_("Search forward for selected text.")+PARS(key), searchnexticon, this, WriteWindow::ID_SEARCH_FORW_SEL, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); // Spacer new FXSeparator(toolbar, SEPARATOR_GROOVE); // Preferences key = getApp()->reg().readStringEntry("KEYBINDINGS", "word_wrap", "Ctrl-K"); new FXToggleButton(toolbar, TAB+_("Word wrap on")+PARS(key)+TAB+_("Set word wrap on.")+PARS(key), TAB+_("Word wrap off")+PARS(key)+TAB+_("Set word wrap off.")+PARS(key), wrapofficon, wraponicon, this, ID_TOGGLE_WRAP, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "line_numbers", "Ctrl-T"); new FXToggleButton(toolbar, TAB+_("Show line numbers")+PARS(key)+TAB+_("Show line numbers.")+PARS(key), TAB+_("Hide line numbers")+PARS(key)+TAB+_("Hide line numbers.")+PARS(key), hidenumbersicon, shownumbersicon, this, ID_TOGGLE_LINES_NUM, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT); // File Menu entries FXMenuCommand* mc = NULL; FXString text; key = getApp()->reg().readStringEntry("KEYBINDINGS", "new", "Ctrl-N"); text = _("&New")+TABS(key)+_("Create new document.")+PARS(key); mc = new FXMenuCommand(filemenu, text, newfileicon, this, ID_NEW); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); text = _("&Open...")+TABS(key)+_("Open document file.")+PARS(key); mc = new FXMenuCommand(filemenu, text, fileopenicon, this, ID_OPEN); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "save", "Ctrl-S"); text = _("&Save")+TABS(key)+_("Save changes to file.")+PARS(key); mc = new FXMenuCommand(filemenu, text, savefileicon, this, ID_SAVE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuCommand(filemenu, _("Save &As...")+TAB2+_("Save document to another file."), saveasicon, this, ID_SAVEAS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); text = _("&Close")+TABS(key)+_("Close document.")+PARS(key); mc = new FXMenuCommand(filemenu, text, closefileicon, this, ID_CLOSE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(filemenu); key = getApp()->reg().readStringEntry("KEYBINDINGS", "print", "Ctrl-P"); text = _("&Print...")+TABS(key)+_("Print document.")+PARS(key); mc = new FXMenuCommand(filemenu, text, printicon, this, ID_PRINT); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Recent file menu; this automatically hides if there are no files FXMenuSeparator* sep1 = new FXMenuSeparator(filemenu); sep1->setTarget(&mrufiles); sep1->setSelector(FXRecentFiles::ID_ANYFILES); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_1); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_2); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_3); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_4); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_5); new FXMenuCommand(filemenu, _("&Clear Recent Files"), NULL, &mrufiles, FXRecentFiles::ID_CLEAR); FXMenuSeparator* sep2 = new FXMenuSeparator(filemenu); sep2->setTarget(&mrufiles); sep2->setSelector(FXRecentFiles::ID_ANYFILES); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); text = _("&Quit")+TABS(key)+_("Quit X File Write.")+PARS(key); mc = new FXMenuCommand(filemenu, text, quiticon, getApp(), XFileWrite::ID_CLOSEALL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Edit Menu entries key = getApp()->reg().readStringEntry("KEYBINDINGS", "undo", "Ctrl-Z"); text = _("&Undo")+TABS(key)+_("Undo last change.")+PARS(key); mc = new FXMenuCommand(editmenu, text, undoicon, &undolist, FXUndoList::ID_UNDO); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "redo", "Ctrl-Y"); text = _("&Redo")+TABS(key)+_("Redo last undo.")+PARS(key); mc = new FXMenuCommand(editmenu, text, redoicon, &undolist, FXUndoList::ID_REDO); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuCommand(editmenu, _("Revert to &saved")+TAB2+_("Revert to saved document."), reverticon, &undolist, FXUndoList::ID_REVERT); new FXMenuSeparator(editmenu); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); text = _("&Copy")+TABS(key)+_("Copy selection to clipboard.")+PARS(key); mc = new FXMenuCommand(editmenu, text, copy_clpicon, editor, FXText::ID_COPY_SEL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); text = _("Cu&t")+TABS(key)+_("Cut selection to clipboard.")+PARS(key); cutmc = new FXMenuCommand(editmenu, text, cut_clpicon, editor, FXText::ID_CUT_SEL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); text = _("&Paste")+TABS(key)+_("Paste from clipboard.")+PARS(key); pastemc = new FXMenuCommand(editmenu, text, paste_clpicon, editor, FXText::ID_PASTE_SEL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(editmenu); key = getApp()->reg().readStringEntry("KEYBINDINGS", "lower_case", "Ctrl-U"); text = _("Lo&wer-case")+TABS(key)+_("Change to lower case.")+PARS(key); mc = new FXMenuCommand(editmenu, text, lowercaseicon, editor, FXText::ID_LOWER_CASE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "upper_case", "Ctrl-Shift-U"); text = _("Upp&er-case")+TABS(key)+_("Change to upper case.")+PARS(key); mc = new FXMenuCommand(editmenu, text, uppercaseicon, editor, FXText::ID_UPPER_CASE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "goto_line", "Ctrl-L"); text = _("&Goto line...")+TABS(key)+_("Goto line number.")+PARS(key); mc = new FXMenuCommand(editmenu, text, gotolineicon, this, WriteWindow::ID_GOTO_LINE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Right mouse popup popupmenu = new FXMenuPane(this); new FXMenuCommand(popupmenu, _("&Undo"), undoicon, &undolist, FXUndoList::ID_UNDO); new FXMenuCommand(popupmenu, _("&Redo"), redoicon, &undolist, FXUndoList::ID_REDO); new FXMenuSeparator(popupmenu); new FXMenuCommand(popupmenu, _("&Copy"), copy_clpicon, editor, FXText::ID_COPY_SEL); new FXMenuCommand(popupmenu, _("Cu&t"), cut_clpicon, editor, FXText::ID_CUT_SEL); new FXMenuCommand(popupmenu, _("&Paste"), paste_clpicon, editor, FXText::ID_PASTE_SEL); new FXMenuCommand(popupmenu, _("Select &All"), NULL, editor, FXText::ID_SELECT_ALL); new FXMenuSeparator(popupmenu); // View Menu entries new FXMenuCheck(viewmenu, _("&Toolbar")+TAB2+_("Display toolbar."), toolbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(viewmenu, _("&Status line")+TAB2+_("Display status line."), statusbar, FXWindow::ID_TOGGLESHOWN); // Search Menu entries key = getApp()->reg().readStringEntry("KEYBINDINGS", "search", "Ctrl-F"); text = _("&Search...")+TABS(key)+_("Search for a string.")+PARS(key); mc = new FXMenuCommand(searchmenu, text, searchicon, this, WriteWindow::ID_SEARCH); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "replace", "Ctrl-R"); text = _("&Replace...")+TABS(key)+_("Search for a string and replace with another.")+PARS(key); mc = new FXMenuCommand(searchmenu, text, replaceicon, this, WriteWindow::ID_REPLACE); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_prev", "Ctrl-Shift-G"); text = _("Search sel. &backward")+TABS(key)+_("Search backward for selected text.")+PARS(key); mc = new FXMenuCommand(searchmenu, text, searchprevicon, this, WriteWindow::ID_SEARCH_BACK_SEL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search_next", "Ctrl-G"); text = _("Search sel. &forward")+TABS(key)+_("Search forward for selected text.")+PARS(key); mc = new FXMenuCommand(searchmenu, text, searchnexticon, this, WriteWindow::ID_SEARCH_FORW_SEL); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Preferences menu key = getApp()->reg().readStringEntry("KEYBINDINGS", "word_wrap", "Ctrl-K"); text = _("&Word wrap")+TABS(key)+_("Toggle word wrap mode.")+PARS(key); mc = new FXMenuCheck(prefsmenu, text, this, ID_TOGGLE_WRAP); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "line_numbers", "Ctrl-T"); text = _("&Line numbers")+TABS(key)+_("Toggle line numbers mode.")+PARS(key); mc = new FXMenuCheck(prefsmenu, text, this, ID_TOGGLE_LINES_NUM); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuCheck(prefsmenu, _("&Overstrike")+TAB2+_("Toggle overstrike mode."), editor, FXText::ID_TOGGLE_OVERSTRIKE); new FXMenuSeparator(prefsmenu); new FXMenuCommand(prefsmenu, _("&Font...")+TAB2+_("Change text font."), fontsicon, this, ID_FONT); new FXMenuCommand(prefsmenu, _("&More preferences...")+TAB2+_("Change other options."), prefsicon, this, ID_PREFERENCES); // Window menu new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_1); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_2); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_3); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_4); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_5); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_6); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_7); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_8); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_9); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_10); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_11); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_12); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_13); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_14); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_15); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_16); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_17); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_18); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_19); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_20); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_21); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_22); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_23); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_24); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_25); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_26); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_27); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_28); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_29); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_30); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_31); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_32); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_33); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_34); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_35); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_36); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_37); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_38); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_39); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_40); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_41); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_42); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_43); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_44); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_45); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_46); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_47); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_48); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_49); new FXMenuRadio(windowmenu, FXString::null, this, ID_WINDOW_50); // Help Menu entries key = getApp()->reg().readStringEntry("KEYBINDINGS", "help", "F1"); text = _("&About X File Write")+TABS(key)+_("About X File Write.")+PARS(key); mc = new FXMenuCommand(helpmenu, text, NULL, this, ID_ABOUT, 0); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Dialogs printdialog = NULL; prefsdialog = NULL; searchdialog = NULL; replacedialog = NULL; // Recent files mrufiles.setTarget(this); mrufiles.setSelector(ID_OPEN_RECENT); // Initialize file name filename = file; filenameset = false; filetime = 0; // Initialize other stuff stripcr = false; linesnum = false; undolist.mark(); undoredoblock = NULL; smoothscroll = true; // Initialize window position and size fromreg = true; ww = 0; hh = 0; xx = 0; yy = 0; } // Create and show window void WriteWindow::create() { loadConfig(); FXMainWindow::create(); dragshell->create(); filemenu->create(); editmenu->create(); searchmenu->create(); prefsmenu->create(); viewmenu->create(); windowmenu->create(); helpmenu->create(); popupmenu->create(); if (!urilistType) { urilistType = getApp()->registerDragType(urilistTypeName); } show(PLACEMENT_DEFAULT); editor->setFocus(); #ifdef STARTUP_NOTIFICATION startup_completed(); #endif } // Detach window void WriteWindow::detach() { FXMainWindow::detach(); dragshell->detach(); urilistType = 0; } // Clean up WriteWindow::~WriteWindow() { getApp()->windowlist.remove(this); delete font; delete toolbar; delete menubar; delete dragshell; delete filemenu; delete editmenu; delete searchmenu; delete prefsmenu; delete viewmenu; delete windowmenu; delete helpmenu; delete popupmenu; delete editor; delete printdialog; delete prefsdialog; delete searchdialog; delete replacedialog; } // Is it modified FXbool WriteWindow::isModified() const { return(!undolist.marked()); } // Load file FXbool WriteWindow::loadFile(const FXString& file) { FXFile textfile(file, FXFile::Reading); int size, n, i, j, c; char* text; // Opened file? if (!textfile.isOpen()) { MessageBox::error(this, BOX_OK, _("Error Loading File"), _("Unable to open file: %s"), file.text()); return(false); } // Get file size size = textfile.size(); // Make buffer to load file if (!FXMALLOC(&text, char, size)) { MessageBox::error(this, BOX_OK, _("Error Loading File"), _("File is too big: %s (%d bytes)"), file.text(), size); return(false); } // Set wait cursor getApp()->beginWaitCursor(); // Read the file n = textfile.readBlock(text, size); if (n < 0) { FXFREE(&text); MessageBox::error(this, BOX_OK, _("Error Loading File"), _("Unable to read file: %s"), file.text()); getApp()->endWaitCursor(); return(false); } // Strip carriage returns if (stripcr) { for (i = j = 0; j < n; j++) { c = text[j]; if (c != '\r') { text[i++] = c; } } n = i; } // Set text editor->setText(text, n); FXFREE(&text); // Lines numbering if (linesnum) { FXuint size = editor->getNumRows(); FXuint cols = (FXuint)ceil(log10(size)); editor->setBarColumns(cols); } else { editor->setBarColumns(0); } // Kill wait cursor getApp()->endWaitCursor(); mrufiles.appendFile(file); filetime = FXStat::modified(file); filenameset = true; filename = file; // Clear undo records undolist.clear(); // Mark undo state as clean (saved) undolist.mark(); return(true); } // Save file FXbool WriteWindow::saveFile(const FXString& file) { FXFile textfile(file, FXFile::Writing); int size, n; char* text; // Opened file? if (!textfile.isOpen()) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("Unable to open file: %s"), file.text()); return(false); } // Get size size = editor->getLength(); // Alloc buffer if (!FXMALLOC(&text, char, size+1)) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("File is too big: %s"), file.text()); return(false); } // Set wait cursor getApp()->beginWaitCursor(); // Get text from editor editor->getText(text, size); // Write the file n = textfile.writeBlock(text, size); // Ditch buffer FXFREE(&text); // Kill wait cursor getApp()->endWaitCursor(); // Were we able to write it all? if (n != size) { MessageBox::error(this, BOX_OK, _("Error Saving File"), _("File: %s truncated."), file.text()); return(false); } mrufiles.appendFile(file); filetime = FXStat::modified(file); filenameset = true; filename = file; undolist.mark(); return(true); } // Generate unique name for a new window FXString WriteWindow::unique() const { FXString name = _("untitled"); for (int i = 1; i < 2147483647; i++) { if (!findWindow(name)) { break; } name.format(_("untitled%d"), i); } return(name); } // Find an as yet untitled, unedited window WriteWindow* WriteWindow::findUnused() const { for (int w = 0; w < getApp()->windowlist.no(); w++) { if (!getApp()->windowlist[w]->isFilenameSet() && !getApp()->windowlist[w]->isModified()) { return(getApp()->windowlist[w]); } } return(NULL); } // Find window, if any, currently editing the given file WriteWindow* WriteWindow::findWindow(const FXString& file) const { for (int w = 0; w < getApp()->windowlist.no(); w++) { if (getApp()->windowlist[w]->getFilename() == file) { return(getApp()->windowlist[w]); } } return(NULL); } // Visit given line void WriteWindow::visitLine(int line) { int pos = editor->nextLine(0, line-1); editor->setCursorPos(pos); editor->setCenterLine(pos); } // Read configuration from registry void WriteWindow::loadConfig() { FXColor textback, textfore, textselback, textselfore, textcursor, texthilitefore, texthiliteback; FXColor textbar, textnumber; int wrapping, wrapcols, tabcols; int hidestatus, hidetoolbar, hilitematchtime; FXString fontspec; // Text colors textback = getApp()->reg().readColorEntry("OPTIONS", "textbackground", editor->getBackColor()); textfore = getApp()->reg().readColorEntry("OPTIONS", "textforeground", editor->getTextColor()); textselback = getApp()->reg().readColorEntry("OPTIONS", "textselbackground", editor->getSelBackColor()); textselfore = getApp()->reg().readColorEntry("OPTIONS", "textselforeground", editor->getSelTextColor()); textcursor = getApp()->reg().readColorEntry("OPTIONS", "textcursor", editor->getCursorColor()); texthiliteback = getApp()->reg().readColorEntry("OPTIONS", "texthilitebackground", editor->getHiliteBackColor()); texthilitefore = getApp()->reg().readColorEntry("OPTIONS", "texthiliteforeground", editor->getHiliteTextColor()); textbar = getApp()->reg().readColorEntry("OPTIONS", "textnumberbackground", editor->getBarColor()); textnumber = getApp()->reg().readColorEntry("OPTIONS", "textnumberforeground", editor->getNumberColor()); // Font fontspec = getApp()->reg().readStringEntry("OPTIONS", "textfont", ""); if (!fontspec.empty()) { font = new FXFont(getApp(), fontspec); font->create(); editor->setFont(font); } // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(XFEAPPNAME, ""); reg_xfe->read(); // Get value of the retain window position flag save_win_pos = reg_xfe->readUnsignedEntry("SETTINGS", "save_win_pos", false); delete reg_xfe; // Get size and position from registry if (fromreg) { ww = getApp()->reg().readUnsignedEntry("OPTIONS", "width", DEFAULT_WINDOW_WIDTH); hh = getApp()->reg().readUnsignedEntry("OPTIONS", "height", DEFAULT_WINDOW_HEIGHT); } // Showing the status line? hidestatus = getApp()->reg().readIntEntry("OPTIONS", "hidestatus", false); // Showing the tool bar? hidetoolbar = getApp()->reg().readIntEntry("OPTIONS", "hidetoolbar", false); // Highlight match time hilitematchtime = getApp()->reg().readIntEntry("OPTIONS", "hilitematchtime", 3000); // Word wrapping wrapping = getApp()->reg().readIntEntry("OPTIONS", "wordwrap", 0); wrapcols = getApp()->reg().readIntEntry("OPTIONS", "wrapcols", 80); // Tab settings tabcols = getApp()->reg().readIntEntry("OPTIONS", "tabcols", 8); // Various flags stripcr = getApp()->reg().readIntEntry("OPTIONS", "stripreturn", false); linesnum = getApp()->reg().readIntEntry("OPTIONS", "linesnum", false); // Change the colors editor->setTextColor(textfore); editor->setBackColor(textback); editor->setSelBackColor(textselback); editor->setSelTextColor(textselfore); editor->setCursorColor(textcursor); editor->setHiliteBackColor(texthiliteback); editor->setHiliteTextColor(texthilitefore); editor->setBarColor(textbar); editor->setNumberColor(textnumber); // Hide statusline if (hidestatus) { statusbar->hide(); } // Hide toolbar if (hidetoolbar) { toolbar->hide(); } // Wrap mode if (wrapping) { editor->setTextStyle(editor->getTextStyle()|TEXT_WORDWRAP); } else { editor->setTextStyle(editor->getTextStyle()&~TEXT_WORDWRAP); } // Wrap and tab columns editor->setWrapColumns(wrapcols); editor->setTabColumns(tabcols); // Highlight match time editor->setHiliteMatchTime(hilitematchtime); // Get position and position window if (save_win_pos && fromreg) { int xpos = getApp()->reg().readIntEntry("OPTIONS", "xpos", DEFAULT_WINDOW_XPOS); int ypos = getApp()->reg().readIntEntry("OPTIONS", "ypos", DEFAULT_WINDOW_YPOS); position(xpos, ypos, ww, hh); } else { position(getX(), getY(), ww, hh); } } // Save configuration to registry void WriteWindow::saveConfig() { FXString fontspec; // Colors of text getApp()->reg().writeColorEntry("OPTIONS", "textbackground", editor->getBackColor()); getApp()->reg().writeColorEntry("OPTIONS", "textforeground", editor->getTextColor()); getApp()->reg().writeColorEntry("OPTIONS", "textselbackground", editor->getSelBackColor()); getApp()->reg().writeColorEntry("OPTIONS", "textselforeground", editor->getSelTextColor()); getApp()->reg().writeColorEntry("OPTIONS", "textcursor", editor->getCursorColor()); getApp()->reg().writeColorEntry("OPTIONS", "texthilitebackground", editor->getHiliteBackColor()); getApp()->reg().writeColorEntry("OPTIONS", "texthiliteforeground", editor->getHiliteTextColor()); getApp()->reg().writeColorEntry("OPTIONS", "textnumberbackground", editor->getBarColor()); getApp()->reg().writeColorEntry("OPTIONS", "textnumberforeground", editor->getNumberColor()); // Write new window size back to registry getApp()->reg().writeUnsignedEntry("OPTIONS", "width", getWidth()); getApp()->reg().writeUnsignedEntry("OPTIONS", "height", getHeight()); if (save_win_pos) { // Account for the Window Manager border size XWindowAttributes xwattr; if (XGetWindowAttributes((Display*)getApp()->getDisplay(), this->id(), &xwattr)) { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()-xwattr.x); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()-xwattr.y); } else { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()); } } // Was status line shown getApp()->reg().writeIntEntry("OPTIONS", "hidestatus", !statusbar->shown()); // Was toolbar shown getApp()->reg().writeIntEntry("OPTIONS", "hidetoolbar", !toolbar->shown()); // Highlight match time getApp()->reg().writeIntEntry("OPTIONS", "hilitematchtime", editor->getHiliteMatchTime()); // Wrap mode getApp()->reg().writeIntEntry("OPTIONS", "wordwrap", (editor->getTextStyle()&TEXT_WORDWRAP) != 0); getApp()->reg().writeIntEntry("OPTIONS", "wrapcols", editor->getWrapColumns()); // Tab settings getApp()->reg().writeIntEntry("OPTIONS", "tabcols", editor->getTabColumns()); // Strip returns getApp()->reg().writeIntEntry("OPTIONS", "stripreturn", stripcr); getApp()->reg().writeIntEntry("OPTIONS", "linesnum", linesnum); // Search path getApp()->reg().writeStringEntry("OPTIONS", "searchpath", searchpath.text()); // Font fontspec = editor->getFont()->getFont(); getApp()->reg().writeStringEntry("OPTIONS", "textfont", fontspec.text()); // Write registry options getApp()->reg().write(); } // Harvest the zombies long WriteWindow::onSigHarvest(FXObject*, FXSelector, void*) { while (waitpid(-1, NULL, WNOHANG) > 0) { } return(1); } // About box long WriteWindow::onCmdAbout(FXObject*, FXSelector, void*) { FXString msg; msg.format(_("X File Write Version %s is a simple text editor.\n\n"), VERSION); msg += COPYRIGHT; MessageBox about(this, _("About X File Write"), msg.text(), xfwicon, BOX_OK|DECOR_TITLE|DECOR_BORDER, JUSTIFY_CENTER_X|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); about.execute(PLACEMENT_OWNER); return(1); } // Show preferences dialog long WriteWindow::onCmdMorePrefs(FXObject*, FXSelector, void*) { if (prefsdialog == NULL) { prefsdialog = new Preferences(this); } prefsdialog->execute(PLACEMENT_OWNER); return(1); } // Change text font long WriteWindow::onCmdFont(FXObject*, FXSelector, void*) { FontDialog fontdlg(this, _("Change Font"), DECOR_BORDER|DECOR_TITLE); FXFontDesc fontdesc; editor->getFont()->getFontDesc(fontdesc); fontdlg.setFontSelection(fontdesc); if (fontdlg.execute()) { FXFont* oldfont = font; fontdlg.getFontSelection(fontdesc); font = new FXFont(getApp(), fontdesc); font->create(); editor->setFont(font); delete oldfont; } saveConfig(); return(1); } // New long WriteWindow::onCmdNew(FXObject*, FXSelector, void*) { WriteWindow* window = new WriteWindow(getApp(), unique(), readonly); // Smooth scrolling window->setSmoothScroll(smoothscroll); window->create(); window->raise(); window->setFocus(); return(1); } // Open long WriteWindow::onCmdOpen(FXObject*, FXSelector, void*) { const char* patterns[] = { _("All Files"), "*", _("Text Files"), "*.txt", _("C Source Files"), "*.c", _("C++ Source Files"), "*.cpp", _("C++ Source Files"), "*.cc", _("C++ Source Files"), "*.cxx", _("C/C++ Header Files"), "*.h", _("HTML Files"), "*.html", _("HTML Files"), "*.htm", _("PHP Files"), "*.php", NULL }; FileDialog opendialog(this, _("Open Document")); opendialog.setSelectMode(SELECTFILE_MULTIPLE); opendialog.setPatternList(patterns); opendialog.setDirectory(FXPath::directory(filename)); if (opendialog.execute()) { FXString* files = opendialog.getFilenames(); FXuint i = 0; while (files[i] != FXString::null) { WriteWindow* window = findWindow(files[i]); if (!window) { window = findUnused(); if (!window) { // New window window = new WriteWindow(getApp(), unique(), readonly); // Smooth scrolling window->setSmoothScroll(smoothscroll); // Set the size and position of the new window window->fromreg = false; window->ww = getWidth(); window->hh = getHeight(); window->xx = getX(); window->yy = getY(); // Create window window->create(); } window->loadFile(files[i]); } window->raise(); window->setFocus(); i++; } delete[] files; } return(1); } // Open recent file long WriteWindow::onCmdOpenRecent(FXObject*, FXSelector, void* ptr) { FXString file = (const char*)ptr; WriteWindow* window = findWindow(file); if (!window) { window = findUnused(); if (!window) { window = new WriteWindow(getApp(), unique(), readonly); // Smooth scrolling window->setSmoothScroll(smoothscroll); window->create(); } window->loadFile(file); } window->raise(); window->setFocus(); return(1); } // See if we can get it as a filename long WriteWindow::onEditDNDDrop(FXObject*, FXSelector, void*) { char* data; FXuint len; if (getDNDData(FROM_DRAGNDROP, urilistType, (FXuchar*&)data, len)) { FXString urilist(data, len); FXString file = FXURL::fileFromURL(urilist.before('\r')); FXFREE(&data); if (file.empty()) { return(1); } if (!saveChanges()) { return(1); } loadFile(file); return(1); } return(0); } // See if a filename is being dragged over the window long WriteWindow::onEditDNDMotion(FXObject*, FXSelector, void*) { if (offeredDNDType(FROM_DRAGNDROP, urilistType)) { acceptDrop(DRAG_COPY); return(1); } return(0); } // Save changes, prompt for new filename FXbool WriteWindow::saveChanges() { FXuint answer; FXString file; if (isModified()) { answer = MessageBox::question(this, BOX_YES_NO_CANCEL, _("Unsaved Document"), _("Save %s to file?"), FXPath::name(filename).text()); if (answer == BOX_CLICKED_CANCEL) { return(false); } if (answer == BOX_CLICKED_YES) { file = filename; if (!filenameset) { FileDialog savedialog(this, _("Save Document")); savedialog.setSelectMode(SELECTFILE_ANY); savedialog.setFilename(file); if (!savedialog.execute()) { return(false); } file = savedialog.getFilename(); if (FXStat::exists(file)) { if (BOX_CLICKED_NO == MessageBox::question(this, BOX_YES_NO, _("Overwrite Document"), _("Overwrite existing document: %s?"), file.text())) { return(false); } } } saveFile(file); } } return(true); } // Save long WriteWindow::onCmdSave(FXObject* sender, FXSelector sel, void* ptr) { if (!filenameset) { return(onCmdSaveAs(sender, sel, ptr)); } saveFile(filename); return(1); } // Save Update long WriteWindow::onUpdSave(FXObject* sender, FXSelector, void*) { sender->handle(this, isModified() ? FXSEL(SEL_COMMAND, ID_ENABLE) : FXSEL(SEL_COMMAND, ID_DISABLE), NULL); return(1); } // Disable menus and buttons when read only long WriteWindow::onUpdReadOnly(FXObject* sender, FXSelector, void*) { sender->handle(this, readonly ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE), NULL); // Disable cut and paste commands // (note: it seems that the context menu commands can't be disabled) paste->disable(); pastemc->disable(); cut->disable(); cutmc->disable(); return(1); } // Save As long WriteWindow::onCmdSaveAs(FXObject*, FXSelector, void*) { FileDialog savedialog(this, _("Save Document")); FXString file = filename; savedialog.setSelectMode(SELECTFILE_ANY); savedialog.setFilename(file); if (savedialog.execute()) { file = savedialog.getFilename(); if (FXStat::exists(file)) { if (BOX_CLICKED_NO == MessageBox::question(this, BOX_YES_NO, _("Overwrite Document"), _("Overwrite existing document: %s?"), file.text())) { return(1); } } saveFile(file); } return(1); } // Close window FXbool WriteWindow::close(FXbool notify) { // Prompt to save changes if (!saveChanges()) { return(false); } // Save settings saveConfig(); // Perform normal close stuff return(FXMainWindow::close(notify)); } // User clicks on one of the window menus long WriteWindow::onCmdWindow(FXObject*, FXSelector sel, void*) { int which = FXSELID(sel)-ID_WINDOW_1; if (which < getApp()->windowlist.no()) { getApp()->windowlist[which]->raise(); getApp()->windowlist[which]->setFocus(); } return(1); } // Update handler for window menus long WriteWindow::onUpdWindow(FXObject* sender, FXSelector sel, void*) { int which = FXSELID(sel)-ID_WINDOW_1; if (which < getApp()->windowlist.no()) { WriteWindow* window = getApp()->windowlist[which]; FXString string; if (which < 49) { string.format("&%d %s", which+1, window->getTitle().text()); } else { string.format("5&0 %s", window->getTitle().text()); } sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SETSTRINGVALUE), (void*)&string); if (window == getApp()->getActiveWindow()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_UNCHECK), NULL); } sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SHOW), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_HIDE), NULL); } return(1); } // Update title from current filename long WriteWindow::onUpdateTitle(FXObject* sender, FXSelector sel, void* ptr) { FXMainWindow::onUpdate(sender, sel, ptr); FXString title = FXPath::name(getFilename()); if (isModified()) { title += _(" (changed)"); } FXString directory = FXPath::directory(getFilename()); if (!directory.empty()) { title += " - " + directory; } if (readonly) { title += _(" (read only)"); } setTitle(title); return(1); } // Print the text long WriteWindow::onCmdPrint(FXObject*, FXSelector, void*) { // Read the current print command from the registry FXString printcommand, command; printcommand = getApp()->reg().readStringEntry("OPTIONS", "print_command", "lpr -P printer"); // Open print dialog filled with the current print command int rc = 1; if (printdialog == NULL) { printdialog = new InputDialog(this, printcommand, _("Print command: \n(ex: lpr -P )"), _("Print"), "", printbigicon); } printdialog->setText(printcommand); printdialog->CursorEnd(); rc = printdialog->execute(PLACEMENT_CURSOR); printcommand = printdialog->getText(); // If cancel was pressed, exit if (!rc) { return(0); } // Write the new print command to the registry getApp()->reg().writeStringEntry("OPTIONS", "print_command", printcommand.text()); // Perform the print command command = "cat " + filename + " |" + printcommand + " &"; int ret = system(command.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), command.text()); return(0); } return(1); } // Toggle wrap mode long WriteWindow::onCmdWrap(FXObject*, FXSelector, void*) { editor->setTextStyle(editor->getTextStyle()^TEXT_WORDWRAP); return(1); } // Update toggle wrap mode long WriteWindow::onUpdWrap(FXObject* sender, FXSelector, void*) { if (editor->getTextStyle()&TEXT_WORDWRAP) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Toggle lines numbering long WriteWindow::onCmdLinesNum(FXObject*, FXSelector, void*) { linesnum = !linesnum; if (linesnum) { FXuint size = editor->getNumRows(); FXuint cols = (FXuint)ceil(log10(size)); editor->setBarColumns(cols); } else { editor->setBarColumns(0); } return(1); } // Update toggle line numbers long WriteWindow::onUpdLinesNum(FXObject* sender, FXSelector, void*) { if (linesnum) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Update box for overstrike mode display long WriteWindow::onUpdOverstrike(FXObject* sender, FXSelector, void*) { if (readonly) { FXString mode(_("READ ONLY")); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETSTRINGVALUE), (void*)&mode); } else { FXString mode((editor->getTextStyle()&TEXT_OVERSTRIKE) ? _("OVR") : _("INS")); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETSTRINGVALUE), (void*)&mode); } return(1); } // Update box for size display long WriteWindow::onUpdNumRows(FXObject* sender, FXSelector, void*) { FXuint size = editor->getNumRows(); sender->handle(this, FXSEL(SEL_COMMAND, ID_SETINTVALUE), (void*)&size); return(1); } // Text inserted; callback has [pos nins] long WriteWindow::onTextInserted(FXObject*, FXSelector, void* ptr) { const FXTextChange* change = (const FXTextChange*)ptr; // Log undo record if (!undolist.busy()) { undolist.add(new FXTextInsert(editor, change->pos, change->nins, change->ins)); if (undolist.size() > MAXUNDOSIZE) { undolist.trimSize(KEEPUNDOSIZE); } } return(1); } // Text deleted; callback has [pos ndel] long WriteWindow::onTextDeleted(FXObject*, FXSelector, void* ptr) { const FXTextChange* change = (const FXTextChange*)ptr; // Log undo record if (!undolist.busy()) { undolist.add(new FXTextDelete(editor, change->pos, change->ndel, change->del)); if (undolist.size() > MAXUNDOSIZE) { undolist.trimSize(KEEPUNDOSIZE); } } return(1); } // Text replaced; callback has [pos ndel nins] long WriteWindow::onTextReplaced(FXObject*, FXSelector, void* ptr) { const FXTextChange* change = (const FXTextChange*)ptr; // Log undo record if (!undolist.busy()) { undolist.add(new FXTextReplace(editor, change->pos, change->ndel, change->nins, change->del, change->ins)); if (undolist.size() > MAXUNDOSIZE) { undolist.trimSize(KEEPUNDOSIZE); } } return(1); } // Released right button long WriteWindow::onTextRightMouse(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; if (!event->moved) { allowPopupScroll = true; // Allow keyboard scrolling popupmenu->popup(NULL, event->root_x, event->root_y); getApp()->runModalWhileShown(popupmenu); allowPopupScroll = false; } return(1); } // Check file when focus moves in long WriteWindow::onFocusIn(FXObject* sender, FXSelector sel, void* ptr) { register FXTime t; FXMainWindow::onFocusIn(sender, sel, ptr); if (filetime != 0) { t = FXStat::modified(filename); if (t && (t != filetime)) { filetime = t; if (BOX_CLICKED_OK == MessageBox::warning(this, BOX_OK_CANCEL, _("File Was Changed"), _("%s\nwas changed by another program. Reload this file from disk?"), filename.text())) { int top = editor->getTopLine(); int pos = editor->getCursorPos(); loadFile(filename); editor->setTopLine(top); editor->setCursorPos(pos); } } } return(1); } // Search text long WriteWindow::onCmdSearch(FXObject*, FXSelector, void*) { if (searchdialog == NULL) { searchdialog = new FXSearchDialog(this, _("Search"), searchicon, options|DECOR_CLOSE); } searchdialog->setSearchMode(SEARCH_IGNORECASE); int beg[10]; int end[10]; int pos; FXuint code; FXString searchstring; FXuint searchflags; do { code = searchdialog->execute(); if (code == FXSearchDialog::DONE) { return(1); } searchstring = searchdialog->getSearchText(); searchflags = searchdialog->getSearchMode(); pos = editor->isPosSelected(editor->getCursorPos()) ? (searchflags&SEARCH_BACKWARD) ? editor->getSelStartPos()-1 : editor->getSelEndPos() : editor->getCursorPos(); if (editor->findText(searchstring, beg, end, pos, searchflags|SEARCH_WRAP, 10)) { editor->setAnchorPos(beg[0]); editor->extendSelection(end[0], SELECT_CHARS, true); editor->setCursorPos(end[0], true); editor->makePositionVisible(beg[0]); editor->makePositionVisible(end[0]); } else { getApp()->beep(); } } while (code == FXSearchDialog::SEARCH_NEXT); return(1); } // Replace text; we assume that findText has called squeezegap()! long WriteWindow::onCmdReplace(FXObject*, FXSelector, void*) { if (replacedialog == NULL) { replacedialog = new FXReplaceDialog(this, _("Replace"), replaceicon, options|DECOR_CLOSE); } replacedialog->setSearchMode(SEARCH_IGNORECASE); int beg[10], end[10], fm, to, len, pos; FXuint searchflags, code; FXString searchstring; FXString replacestring; FXString replacevalue; // Get text into buffer char* buffer; int length = editor->getLength(); FXMALLOC(&buffer, char, length); editor->getText(buffer, length); do { code = replacedialog->execute(); if (code == FXReplaceDialog::DONE) { goto ret; } searchflags = replacedialog->getSearchMode(); searchstring = replacedialog->getSearchText(); replacestring = replacedialog->getReplaceText(); replacevalue = FXString::null; fm = -1; to = -1; if (code == FXReplaceDialog::REPLACE_ALL) { searchflags &= ~SEARCH_BACKWARD; pos = 0; while (editor->findText(searchstring, beg, end, pos, searchflags, 10)) { if (0 <= fm) { replacevalue.append(&buffer[pos], beg[0]-pos); } replacevalue.append(FXRex::substitute(buffer, length, beg, end, replacestring, 10)); if (fm < 0) { fm = beg[0]; } to = end[0]; pos = end[0]; if (beg[0] == end[0]) { pos++; } } } else { pos = editor->isPosSelected(editor->getCursorPos()) ? (searchflags&SEARCH_BACKWARD) ? editor->getSelStartPos()-1 : editor->getSelEndPos() : editor->getCursorPos(); if (editor->findText(searchstring, beg, end, pos, searchflags|SEARCH_WRAP, 10)) { replacevalue = FXRex::substitute(buffer, length, beg, end, replacestring, 10); fm = beg[0]; to = end[0]; } } if (0 <= fm) { len = replacevalue.length(); editor->replaceText(fm, to-fm, replacevalue.text(), len, true); editor->setCursorPos(fm+len, true); editor->makePositionVisible(editor->getCursorPos()); editor->setModified(true); } else { getApp()->beep(); } } while (code == FXReplaceDialog::REPLACE_NEXT); ret: FXFREE(&buffer); return(1); } // Search for selected text long WriteWindow::onCmdSearchSel(FXObject*, FXSelector sel, void*) { FXString string; FXuint searchflags; FXString searchstring; int pos = editor->getCursorPos(); int beg, end; // First, try UTF-8 if (getDNDData(FROM_SELECTION, utf8Type, string)) { searchstring = string; } // Next, try UTF-16 else if (getDNDData(FROM_SELECTION, utf16Type, string)) { FXUTF16LECodec unicode; // FIXME maybe other endianness for unix searchstring = unicode.mb2utf(string); } // Finally, try good old 8859-1 else if (getDNDData(FROM_SELECTION, stringType, string)) { FX88591Codec ascii; searchstring = ascii.mb2utf(string); } // No dice! else { goto x; } // Search direction if (FXSELID(sel) == ID_SEARCH_FORW_SEL) { if (editor->isPosSelected(pos)) { pos = editor->getSelEndPos(); } searchflags = SEARCH_EXACT|SEARCH_FORWARD; } else { if (editor->isPosSelected(pos)) { pos = editor->getSelStartPos()-1; } searchflags = SEARCH_EXACT|SEARCH_BACKWARD; } // Perform search if (editor->findText(searchstring, &beg, &end, pos, searchflags|SEARCH_WRAP)) { if ((beg != editor->getSelStartPos()) || (end != editor->getSelEndPos())) { editor->setAnchorPos(beg); editor->extendSelection(end, SELECT_CHARS, true); editor->setCursorPos(end); editor->makePositionVisible(beg); editor->makePositionVisible(end); return(1); } } // Beep x: getApp()->beep(); return(1); } // Go to line number long WriteWindow::onCmdGotoLine(FXObject*, FXSelector, void*) { int row = editor->getCursorRow()+1; if (FXInputDialog::getInteger(row, this, _("Goto Line"), _("&Goto line number:"), gotobigicon, 1, 2147483647)) { update(); editor->setCursorRow(row-1, true); editor->makePositionVisible(editor->getCursorPos()); } return(1); } xfe-1.42/src/SearchWindow.cpp0000644000175100017510000011236312634015614013045 00000000000000// Search files dialog and panel #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include "icons.h" #include "xfeutils.h" #include "FileDialog.h" #include "MessageBox.h" #include "TextWindow.h" #include "SearchPanel.h" #include "SearchWindow.h" // List refresh counter limits #define REFRESH_COUNT_LIMIT 10000 #define REFRESH_COUNT_SLOW 100 #define REFRESH_COUNT_FAST 1000 // Map FXDEFMAP(SearchWindow) SearchWindowMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, SearchWindow::onKeyPress), FXMAPFUNC(SEL_IO_READ, SearchWindow::ID_READ_DATA, SearchWindow::onReadData), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_START, SearchWindow::onCmdStart), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_STOP, SearchWindow::onCmdStop), FXMAPFUNC(SEL_CLOSE, 0, SearchWindow::onCmdClose), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_CLOSE, SearchWindow::onCmdClose), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_RESET_OPTIONS, SearchWindow::onCmdResetOptions), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_BROWSE_PATH, SearchWindow::onCmdBrowsePath), FXMAPFUNC(SEL_VERIFY, SearchWindow::ID_PERM, SearchWindow::onPermVerify), FXMAPFUNC(SEL_COMMAND, SearchWindow::ID_MORE_OPTIONS, SearchWindow::onCmdMoreOptions), FXMAPFUNC(SEL_UPDATE, SearchWindow::ID_STOP, SearchWindow::onUpdStop), FXMAPFUNC(SEL_UPDATE, SearchWindow::ID_START, SearchWindow::onUpdStart), FXMAPFUNC(SEL_UPDATE, SearchWindow::ID_PERM, SearchWindow::onUpdPerm), FXMAPFUNC(SEL_UPDATE, SearchWindow::ID_SIZE, SearchWindow::onUpdSize), }; // Object implementation FXIMPLEMENT(SearchWindow, FXTopWindow, SearchWindowMap, ARRAYNUMBER(SearchWindowMap)) // Contruct free floating dialog SearchWindow::SearchWindow(FXApp* app, const FXString& name, FXuint opts, int x, int y, int w, int h, int pl, int pr, int pt, int pb, int hs, int vs) : FXTopWindow(app, name, NULL, NULL, opts, x, y, w, h, pl, pr, pt, pb, hs, vs) { setIcon(searchicon); // Vertical frame FXVerticalFrame* frame1 = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0); // Vertical frame searchframe = new FXVerticalFrame(frame1, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X); // Label and input field FXMatrix* matrix1 = new FXMatrix(searchframe, 4, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix1, _("Find files:"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); findfile = new FXTextField(matrix1, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); findigncase = new FXCheckButton(matrix1, _("Ignore case\tIgnore file name case"), NULL, 0, JUSTIFY_NORMAL|ICON_BEFORE_TEXT|LAYOUT_CENTER_Y); FXuint ignorecase = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "find_ignorecase", 0); findigncase->setCheck(ignorecase); // Hidden files findhidden = new FXCheckButton(matrix1, _("Hidden files\tShow hidden files and folders"), NULL, 0, JUSTIFY_NORMAL|ICON_BEFORE_TEXT|LAYOUT_CENTER_Y); FXuint hidden = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "find_hidden", 0); findhidden->setCheck(hidden); FXMatrix* matrix2 = new FXMatrix(searchframe, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix2, _("In folder:"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); wheredir = new FXTextField(matrix2, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); dirbutton = new FXButton(matrix2, _("\tIn folder..."), filedialogicon, this, ID_BROWSE_PATH, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); FXMatrix* matrix3 = new FXMatrix(searchframe, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix3, _("Text contains:"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); greptext = new FXTextField(matrix3, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); grepigncase = new FXCheckButton(matrix3, _("Ignore case\tIgnore text case"), NULL, 0, JUSTIFY_NORMAL|ICON_BEFORE_TEXT|LAYOUT_CENTER_Y); ignorecase = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "grep_ignorecase", 0); grepigncase->setCheck(ignorecase); // Search options moreoptions = new FXCheckButton(searchframe, _("More options"), this, ID_MORE_OPTIONS, CHECKBUTTON_PLUS|JUSTIFY_NORMAL|ICON_BEFORE_TEXT|LAYOUT_CENTER_Y); moregroup = new FXGroupBox(searchframe, _("Search options"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); resetoptions = new FXButton(moregroup, _("Reset\tReset search options"), NULL, this, SearchWindow::ID_RESET_OPTIONS, FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); FXbool moreopts = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "moreoptions", 0); if (moreopts) { moreoptions->setCheck(true); moregroup->show(); } else { moreoptions->setCheck(false); moregroup->hide(); } // File size FXMatrix* matrix4 = new FXMatrix(moregroup, 6, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 4, 4, 4, 8, 4, 8); new FXLabel(matrix4, _("Min size:"), NULL, JUSTIFY_LEFT); minsize = new FXSpinner(matrix4, 10, this, SearchWindow::ID_SIZE, SPIN_NOMAX|JUSTIFY_LEFT); minsize->setTipText(_("Filter by minimum file size (KBytes)")); new FXLabel(matrix4, _("KB"), NULL, JUSTIFY_LEFT); new FXLabel(matrix4, _("Max size:"), NULL, JUSTIFY_LEFT); maxsize = new FXSpinner(matrix4, 10, this, SearchWindow::ID_SIZE, SPIN_NOMAX|JUSTIFY_LEFT); maxsize->setTipText(_("Filter by maximum file size (KBytes)")); new FXLabel(matrix4, _("KB"), NULL, JUSTIFY_LEFT); // Modification date new FXLabel(matrix4, _("Last modified before:"), NULL, JUSTIFY_LEFT); mindays = new FXSpinner(matrix4, 10, NULL, 0, SPIN_NOMAX|JUSTIFY_LEFT); mindays->setTipText(_("Filter by maximum modification date (days)")); new FXLabel(matrix4, _("Days"), NULL, JUSTIFY_LEFT); new FXLabel(matrix4, _("Last modified after:"), NULL, JUSTIFY_LEFT); maxdays = new FXSpinner(matrix4, 10, NULL, 0, SPIN_NOMAX|JUSTIFY_LEFT); maxdays->setTipText(_("Filter by minimum modification date (days)")); new FXLabel(matrix4, _("Days"), NULL, JUSTIFY_LEFT); // User and group new FXLabel(matrix4, _("User:"), NULL, JUSTIFY_LEFT); user = new FXComboBox(matrix4, 15, NULL, 0, COMBOBOX_STATIC); user->setNumVisible(5); userbtn = new FXCheckButton(matrix4, _("\tFilter by user name"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); new FXLabel(matrix4, _("Group:"), NULL, JUSTIFY_LEFT); grp = new FXComboBox(matrix4, 15, NULL, 0, COMBOBOX_STATIC); grp->setNumVisible(5); grpbtn = new FXCheckButton(matrix4, _("\tFilter by group name"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // User names (sorted in ascending order) struct passwd* pwde; while ((pwde = getpwent())) { user->appendItem(pwde->pw_name); } endpwent(); user->setSortFunc(FXList::ascending); user->sortItems(); // Group names (sorted in ascending order) struct group* grpe; while ((grpe = getgrent())) { grp->appendItem(grpe->gr_name); } endgrent(); grp->setSortFunc(FXList::ascending); grp->sortItems(); // Set user name and group name struct stat linfo; if (lstatrep(FXSystem::getHomeDirectory().text(), &linfo) == 0) { uid = FXSystem::userName(linfo.st_uid); gid = FXSystem::groupName(linfo.st_gid); user->setText(uid); grp->setText(gid); } // File type new FXLabel(matrix4, _("File type:"), NULL, JUSTIFY_LEFT); type = new FXComboBox(matrix4, 15, NULL, 0, COMBOBOX_STATIC); type->setNumVisible(5); type->appendItem(_("File")); type->appendItem(_("Folder")); type->appendItem(_("Link")); type->appendItem(_("Socket")); type->appendItem(_("Pipe")); type->setCurrentItem(0); typebtn = new FXCheckButton(matrix4, _("\tFilter by file type"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Permissions (in octal) new FXLabel(matrix4, _("Permissions:"), NULL, JUSTIFY_LEFT); perm = new FXTextField(matrix4, 4, this, SearchWindow::ID_PERM, TEXTFIELD_INTEGER|TEXTFIELD_LIMITED|TEXTFIELD_OVERSTRIKE|FRAME_SUNKEN|FRAME_THICK); perm->setText("0644"); perm->setNumColumns(4); permbtn = new FXCheckButton(matrix4, _("\tFilter by permissions (octal)"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Empty files new FXLabel(matrix4, _("Empty files:"), NULL, JUSTIFY_LEFT); emptybtn = new FXCheckButton(matrix4, _("\tEmpty files only"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Follow symlinks new FXLabel(matrix4, "", NULL, JUSTIFY_LEFT); new FXLabel(matrix4, _("Follow symbolic links:"), NULL, JUSTIFY_LEFT); linkbtn = new FXCheckButton(matrix4, _("\tSearch while following symbolic links"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Non recursive new FXLabel(matrix4, "", NULL, JUSTIFY_LEFT); new FXLabel(matrix4, _("Non recursive:"), NULL, JUSTIFY_LEFT); norecbtn = new FXCheckButton(matrix4, _("\tDon't search folders recursively"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Don't search in other file systems new FXLabel(matrix4, "", NULL, JUSTIFY_LEFT); new FXLabel(matrix4, _("Ignore other file systems:"), NULL, JUSTIFY_LEFT); nofsbtn = new FXCheckButton(matrix4, _("\tDon't search in other file systems"), NULL, 0, JUSTIFY_LEFT|LAYOUT_CENTER_Y); // Search results FXHorizontalFrame* frame2 = new FXHorizontalFrame(frame1, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X, 0, 0, 0, 0, 0, 0, 0, 0); searchresults = new FXLabel(frame2, "", NULL, LAYOUT_CENTER_Y|LAYOUT_FILL_X); // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(frame2, PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 10, 10, 5, 5); // Start startbutton = new FXButton(buttons, _("&Start\tStart the search (F3)"), NULL, this, ID_START, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Stop stopbutton = new FXButton(buttons, _("&Stop\tStop the search (Esc)"), NULL, this, ID_STOP, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Search Panel FXColor listbackcolor = getApp()->reg().readColorEntry("SETTINGS", "listbackcolor", FXRGB(255, 255, 255)); FXColor listforecolor = getApp()->reg().readColorEntry("SETTINGS", "listforecolor", FXRGB(0, 0, 0)); searchpanel = new SearchPanel(frame1, getApp()->reg().readUnsignedEntry("SEARCH PANEL", "name_size", 200), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "dir_size", 150), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "size_size", 60), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "type_size", 100), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "ext_size", 100), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "modd_size", 150), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "user_size", 50), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "grou_size", 50), getApp()->reg().readUnsignedEntry("SEARCH PANEL", "attr_size", 100), listbackcolor, listforecolor, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Display thumbnails or not FXbool showthumbnails; showthumbnails = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "showthumbnails", 0); searchpanel->showThumbnails(showthumbnails); // Read and set sort function for file list FXString sort_func = getApp()->reg().readStringEntry("SEARCH PANEL", "sort_func", "ascendingCase"); if (sort_func == "ascendingCase") { searchpanel->setSortFunc(FileList::ascendingCase); } else if (sort_func == "ascendingCaseMix") { searchpanel->setSortFunc(FileList::ascendingCaseMix); } else if (sort_func == "descendingCase") { searchpanel->setSortFunc(FileList::descendingCase); } else if (sort_func == "descendingCaseMix") { searchpanel->setSortFunc(FileList::descendingCaseMix); } else if (sort_func == "ascending") { searchpanel->setSortFunc(FileList::ascending); } else if (sort_func == "ascendingMix") { searchpanel->setSortFunc(FileList::ascendingMix); } else if (sort_func == "descending") { searchpanel->setSortFunc(FileList::descending); } else if (sort_func == "descendingMix") { searchpanel->setSortFunc(FileList::descendingMix); } else if (sort_func == "ascendingDirCase") { searchpanel->setSortFunc(FileList::ascendingDirCase); } else if (sort_func == "ascendingDirCaseMix") { searchpanel->setSortFunc(FileList::ascendingDirCaseMix); } else if (sort_func == "descendingDirCase") { searchpanel->setSortFunc(FileList::descendingDirCase); } else if (sort_func == "descendingDirCaseMix") { searchpanel->setSortFunc(FileList::descendingDirCaseMix); } else if (sort_func == "ascendingDir") { searchpanel->setSortFunc(FileList::ascendingDir); } else if (sort_func == "ascendingDirMix") { searchpanel->setSortFunc(FileList::ascendingDirMix); } else if (sort_func == "descendingDir") { searchpanel->setSortFunc(FileList::descendingDir); } else if (sort_func == "descendingDirMix") { searchpanel->setSortFunc(FileList::descendingDirMix); } else if (sort_func == "ascendingSize") { searchpanel->setSortFunc(FileList::ascendingSize); } else if (sort_func == "ascendingSizeMix") { searchpanel->setSortFunc(FileList::ascendingSizeMix); } else if (sort_func == "descendingSize") { searchpanel->setSortFunc(FileList::descendingSize); } else if (sort_func == "descendingSizeMix") { searchpanel->setSortFunc(FileList::descendingSizeMix); } else if (sort_func == "ascendingType") { searchpanel->setSortFunc(FileList::ascendingType); } else if (sort_func == "ascendingTypeMix") { searchpanel->setSortFunc(FileList::ascendingTypeMix); } else if (sort_func == "descendingType") { searchpanel->setSortFunc(FileList::descendingType); } else if (sort_func == "descendingTypeMix") { searchpanel->setSortFunc(FileList::descendingTypeMix); } else if (sort_func == "ascendingExt") { searchpanel->setSortFunc(FileList::ascendingExt); } else if (sort_func == "ascendingExtMix") { searchpanel->setSortFunc(FileList::ascendingExtMix); } else if (sort_func == "descendingExt") { searchpanel->setSortFunc(FileList::descendingExt); } else if (sort_func == "descendingExtMix") { searchpanel->setSortFunc(FileList::descendingExtMix); } else if (sort_func == "ascendingTime") { searchpanel->setSortFunc(FileList::ascendingTime); } else if (sort_func == "ascendingTimeMix") { searchpanel->setSortFunc(FileList::ascendingTimeMix); } else if (sort_func == "descendingTime") { searchpanel->setSortFunc(FileList::descendingTime); } else if (sort_func == "descendingTimeMix") { searchpanel->setSortFunc(FileList::descendingTimeMix); } else if (sort_func == "ascendingUser") { searchpanel->setSortFunc(FileList::ascendingUser); } else if (sort_func == "ascendingUserMix") { searchpanel->setSortFunc(FileList::ascendingUserMix); } else if (sort_func == "descendingUser") { searchpanel->setSortFunc(FileList::descendingUser); } else if (sort_func == "descendingUserMix") { searchpanel->setSortFunc(FileList::descendingUserMix); } else if (sort_func == "ascendingGroup") { searchpanel->setSortFunc(FileList::ascendingGroup); } else if (sort_func == "ascendingGroupMix") { searchpanel->setSortFunc(FileList::ascendingGroupMix); } else if (sort_func == "descendingGroup") { searchpanel->setSortFunc(FileList::descendingGroup); } else if (sort_func == "descendingGroupMix") { searchpanel->setSortFunc(FileList::descendingGroupMix); } else if (sort_func == "ascendingPerm") { searchpanel->setSortFunc(FileList::ascendingPerm); } else if (sort_func == "ascendingPermMix") { searchpanel->setSortFunc(FileList::ascendingPermMix); } else if (sort_func == "descendingPerm") { searchpanel->setSortFunc(FileList::descendingPerm); } else if (sort_func == "descendingPermMix") { searchpanel->setSortFunc(FileList::descendingPermMix); } // Add some accelerators FXHotKey hotkey; FXString key; key = getApp()->reg().readStringEntry("KEYBINDINGS", "select_all", "Ctrl-A"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_SELECT_ALL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "invert_selection", "Ctrl-I"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_SELECT_INVERSE)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "deselect_all", "Ctrl-Z"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_DESELECT_ALL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rename", "F2"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_FILE_RENAME)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy_to", "F5"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_FILE_COPYTO)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to", "F6"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_FILE_MOVETO)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "symlink_to", "Ctrl-S"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_FILE_SYMLINK)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_OPEN)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "view", "Shift-F4"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_VIEW)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "edit", "F4"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_EDIT)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "compare", "F8"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, searchpanel, FXSEL(SEL_COMMAND, SearchPanel::ID_COMPARE)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, SearchWindow::ID_CLOSE)); // Warning window warnwindow = new TextWindow(this, _("Warnings"), 30, 80); // Set text font for the warning window FXString fontspec; fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (!fontspec.empty()) { FXFont* font = new FXFont(getApp(), fontspec); font->create(); warnwindow->setFont(font); } // Initialize variables application = app; count = 0; pid = -1; running = false; } // Create window void SearchWindow::create() { // Create windows FXTopWindow::create(); warnwindow->create(); } // Clean up SearchWindow::~SearchWindow() { delete searchpanel; delete warnwindow; } // Check input for permissions in octal long SearchWindow::onPermVerify(FXObject* o, FXSelector sel, void* ptr) { char* str = (char*)ptr; for (int i = 0; i < (int)strlen(str); i++) { if (str[i]-'0' > 7) { return(1); } } return(0); } // Display or hide the more options dialog long SearchWindow::onCmdMoreOptions(FXObject* o, FXSelector sel, void*) { if (moreoptions->getCheck()) { moregroup->show(); // Reset search options minsize->setValue(0); maxsize->setValue(0); mindays->setValue(0); maxdays->setValue(0); userbtn->setCheck(false); grpbtn->setCheck(false); typebtn->setCheck(false); permbtn->setCheck(false); emptybtn->setCheck(false); linkbtn->setCheck(false); perm->setText("0644"); type->setCurrentItem(0); user->setText(uid); grp->setText(gid); norecbtn->setCheck(false); nofsbtn->setCheck(false); } else { moregroup->hide(); } // Refresh layout searchframe->recalc(); return(1); } // Close window long SearchWindow::onCmdClose(FXObject*, FXSelector, void*) { ::setWaitCursor(getApp(), END_CURSOR); // Clear panel items searchpanel->clearItems(); // Reset search options minsize->setValue(0); maxsize->setValue(0); mindays->setValue(0); maxdays->setValue(0); userbtn->setCheck(false); grpbtn->setCheck(false); typebtn->setCheck(false); permbtn->setCheck(false); emptybtn->setCheck(false); linkbtn->setCheck(false); perm->setText("0644"); type->setCurrentItem(0); user->setText(uid); grp->setText(gid); norecbtn->setCheck(false); nofsbtn->setCheck(false); running = false; searchresults->setText(""); if (pid != -1) { kill((-1*pid), SIGTERM); // Kills the process group } hide(); return(1); } // Start the file search long SearchWindow::onCmdStart(FXObject*, FXSelector, void*) { // Set the search pattern from user input // Add '*' before and after the string if not present FXString searchpattern; if (findfile->getText() == "") { searchpattern = "*"; } else if (findfile->getText().contains('*')) { searchpattern = findfile->getText(); } else { searchpattern = "*" + findfile->getText() + "*"; } // Set search path in search panel searchpanel->setSearchPath(wheredir->getText()); // Compose the find and grep command according to the selected options // Follow symlinks if (linkbtn->getCheck()) { searchcommand = "find -L " + ::quote(wheredir->getText()); } else { searchcommand = "find -P " + ::quote(wheredir->getText()); } // Ignore case FXString nameoption; if (findigncase->getCheck()) { nameoption = " -iname \""; } else { nameoption = " -name \""; } // Min file size if (minsize->getValue() > 0) { searchcommand += " -size +" + FXStringVal(minsize->getValue()) + "k"; } // Max file size if (maxsize->getValue() > 0) { searchcommand += " -size -" + FXStringVal(maxsize->getValue()) + "k"; } // Date modified before if (mindays->getValue() > 0) { searchcommand += " -mtime -" + FXStringVal(mindays->getValue()); } // Date modified after if (maxdays->getValue() > 0) { searchcommand += " -mtime +" + FXStringVal(maxdays->getValue()); } // User if (userbtn->getCheck()) { searchcommand += " -user " + user->getText(); } // Group if (grpbtn->getCheck()) { searchcommand += " -group " + grp->getText(); } // Non recursive if (norecbtn->getCheck()) { searchcommand += " -maxdepth 1 "; } // Don't search other file systems if (nofsbtn->getCheck()) { searchcommand += " -mount "; } // File type if (typebtn->getCheck()) { if (type->getCurrentItem() == 0) { searchcommand += " -type f"; } else if (type->getCurrentItem() == 1) { searchcommand += " -type d"; } else if (type->getCurrentItem() == 2) { searchcommand += " -type l"; } else if (type->getCurrentItem() == 3) { searchcommand += " -type s"; } else if (type->getCurrentItem() == 4) { searchcommand += " -type p"; } } // Permissions if (permbtn->getCheck()) { searchcommand += " -perm " + perm->getText(); } // Empty files if (emptybtn->getCheck()) { searchcommand += " -empty"; } // Hidden files if (!findhidden->getCheck()) { searchcommand += " \\( ! -regex '.*/\\..*' \\)"; } // Without grep command if (greptext->getText() == "") { searchcommand += nameoption + searchpattern + "\" -print"; } // With grep command else { searchcommand += nameoption + searchpattern + "\" -exec grep -q -s "; // Ignore case if (grepigncase->getCheck()) { searchcommand += "-i "; } searchcommand += "\"" + greptext->getText() + "\" '{}' \\; -print"; } // Clear all file list items searchpanel->clearItems(); // Don't use standard cursor wait function ::setWaitCursor(getApp(), BEGIN_CURSOR); searchresults->setText(_(">>>> Search started - Please wait... <<<<")); running = true; // Execute command count = 0; strprev = ""; warnwindow->setText(""); execCmd(searchcommand.text()); return(1); } // Execute the search command and capture its output int SearchWindow::execCmd(FXString command) { // Open pipes to communicate with child process if ((pipe(in) == -1) || (pipe(out) == -1)) { return(-1); } // Create child process pid = fork(); if (pid == -1) { fprintf(stderr, _("Error: Fork failed: %s\n"), strerror(errno)); return(-1); } application->addInput(out[0], INPUT_READ, this, ID_READ_DATA); if (pid == 0) { // Here, we are running as the child process! char* args[4]; ::close(out[0]); int ret1 = ::dup2(out[1], STDOUT_FILENO); int ret2 = ::dup2(out[1], STDERR_FILENO); ::close(in[1]); int ret3 = ::dup2(in[0], STDIN_FILENO); if ((ret1 < 0) || (ret2 < 0) || (ret3 < 0)) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't duplicate pipes: %s"), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't duplicate pipes")); } return(-1); } args[0] = (char*)"sh"; // Setup arguments args[1] = (char*)"-c"; // to run command args[2] = (char*)command.text(); // in a shell in args[3] = NULL; // a new process setpgid(0, 0); // Allows to kill the whole group execvp(args[0], args); // Start a new process which will execute the command _exit(EXIT_FAILURE); // We'll get here only if an error occurred } else { // Here, we are running as the parent process! ::close(out[1]); ::close(in[0]); } return(1); } // Read data from pipe long SearchWindow::onReadData(FXObject*, FXSelector, void*) { char buf[4096]; int nread, status, beg, end; FXString strbuf, pathname; if (running) { // Stop refreshing the file list searchpanel->setAllowRefresh(false); nread = read(out[0], buf, 4095); if (nread > 0) { buf[nread] = '\0'; // Caution : string strprev is initialized in onCmdStart() strbuf = strprev + buf; // Loop over lines in strbuf for (beg = 0; beg < strbuf.length(); beg = end+1) { // If line not complete, the fragment will be used in the next line if ((end = strbuf.find("\n", beg)) < 0) { end = strbuf.length(); strprev = strbuf.mid(beg, end-beg); break; } else { strprev = ""; } pathname = strbuf.mid(beg, end-beg); // Append item to the file panel // Only process valid file paths and paths different from the search directory if ((pathname != searchcommand) && (pathname != wheredir->getText())) { if (pathname.find(PATHSEPSTRING) == 0) { if (searchpanel->appendItem(pathname)) { count++; } // Refresh file list (two speeds depending on the number of items) FXuint cnt = (count < REFRESH_COUNT_LIMIT ? count%REFRESH_COUNT_SLOW : count%REFRESH_COUNT_FAST); if (cnt == 0) { searchpanel->setCurrentItem(count-1); searchpanel->setStatusText(FXStringVal(count)+_(" items")); getApp()->forceRefresh(); getApp()->repaint(); } } else { if (!warnwindow->shown()) { warnwindow->show(PLACEMENT_OWNER); } pathname = pathname + "\n"; warnwindow->appendText(pathname.text()); warnwindow->scrollToLastLine(); } } } } // Nothing to read else if (nread == 0) { waitpid(pid, &status, 0); application->removeInput(out[0], INPUT_READ); searchresults->setText(_(">>>> Search results <<<<")); running = false; // Don't use standard cursor wait function ::setWaitCursor(getApp(), END_CURSOR); // Update item count searchpanel->setStatusText(FXStringVal(count)+_(" items")); getApp()->repaint(); // Force file list refresh searchpanel->setAllowRefresh(true); searchpanel->onCmdRefresh(0, 0, 0); } // Input / Output error else { MessageBox::error(this, BOX_OK, _("Error"), _("Input / Output error")); application->removeInput(out[0], INPUT_READ); exit(EXIT_FAILURE); } } return(1); } // Kill process when clicking on the stop button long SearchWindow::onCmdStop(FXObject*, FXSelector, void*) { if (running) { ::setWaitCursor(getApp(), END_CURSOR); running = false; searchresults->setText(_(">>>> Search stopped... <<<<")); if (pid != -1) { kill((-1*pid), SIGTERM); // Kills the process group } application->removeInput(out[0], INPUT_READ); searchpanel->setAllowRefresh(true); } return(1); } // Update stop button and other UI buttons long SearchWindow::onUpdStop(FXObject*, FXSelector, void*) { if (running) { // Enable stop button while searching files stopbutton->enable(); // Disable all other buttons searchpanel->disableButtons(); findfile->disable(); findigncase->disable(); findhidden->disable(); wheredir->disable(); dirbutton->disable(); greptext->disable(); grepigncase->disable(); moreoptions->disable(); resetoptions->disable(); minsize->disable(); maxsize->disable(); mindays->disable(); maxdays->disable(); userbtn->disable(); grpbtn->disable(); typebtn->disable(); permbtn->disable(); emptybtn->disable(); linkbtn->disable(); perm->disable(); type->disable(); user->disable(); grp->disable(); norecbtn->disable(); nofsbtn->disable(); } else { // Disable stop button while not searching files stopbutton->disable(); // Enable all other buttons searchpanel->enableButtons(); findfile->enable(); findigncase->enable(); findhidden->enable(); wheredir->enable(); dirbutton->enable(); greptext->enable(); grepigncase->enable(); moreoptions->enable(); resetoptions->enable(); minsize->enable(); maxsize->enable(); mindays->enable(); maxdays->enable(); userbtn->enable(); grpbtn->enable(); typebtn->enable(); permbtn->enable(); emptybtn->enable(); linkbtn->enable(); perm->enable(); type->enable(); user->enable(); grp->enable(); norecbtn->enable(); nofsbtn->enable(); } return(1); } // Update start button long SearchWindow::onUpdStart(FXObject*, FXSelector, void*) { if (running) { startbutton->disable(); } else { startbutton->enable(); } return(1); } // Show window such that the cursor is in it void SearchWindow::show(FXuint placement) { // Clear all file list items searchpanel->clearItems(); // Set focus on the find search field and select all chars findfile->setFocus(); findfile->selectAll(); // Pop the window FXTopWindow::show(placement); } // Keyboard press long SearchWindow::onKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; if (event->code == KEY_Escape) { // Kill process handle(this, FXSEL(SEL_COMMAND, ID_STOP), NULL); // Deselect files if any searchpanel->handle(sender, FXSEL(SEL_COMMAND, SearchPanel::ID_DESELECT_ALL), ptr); return(1); } else if ((event->code == KEY_F3) || ((searchpanel->hasFocus() == false) && (event->code == KEY_Return))) { // Start process handle(this, FXSEL(SEL_COMMAND, ID_START), NULL); return(1); } // Shift-F10 or menu was pressed : open popup menu else if ((event->state&SHIFTMASK && event->code == KEY_F10) || event->code == KEY_Menu) { searchpanel->handle(sender, FXSEL(SEL_COMMAND, SearchPanel::ID_POPUP_MENU), ptr); return(1); } // Any other key was pressed : handle the pressed key in the usual way else { if (FXTopWindow::onKeyPress(sender, sel, ptr)) { return(1); } } return(0); } // Execute dialog box modally FXuint SearchWindow::execute(FXuint placement) { create(); show(placement); getApp()->refresh(); return(getApp()->runModalFor(this)); } // Browse the file system long SearchWindow::onCmdBrowsePath(FXObject* o, FXSelector s, void* p) { FileDialog browse(this, _("Select path"), 0, 0, 0, 650, 480); const char* patterns[] = { _("All Files"), "*", NULL }; browse.setFilename(wheredir->getText()); browse.setPatternList(patterns); // Browse files in mixed mode browse.setSelectMode(SELECT_FILE_DIRECTORY); if (browse.execute()) { FXString path = browse.getFilename(); wheredir->setText(path); } return(1); } // Update permission string long SearchWindow::onUpdPerm(FXObject* sender, FXSelector, void*) { int len = perm->getText().length(); if (len < 4) { FXString str; if (len == 0) { perm->setText("0644"); } else if (len == 1) { str = "000" + perm->getText(); } else if (len == 2) { str = "00" + perm->getText(); } else { str = "0" + perm->getText(); } perm->setText(str); } return(1); } // Update size buttons long SearchWindow::onUpdSize(FXObject* sender, FXSelector, void*) { // Disable or enable size buttons if (emptybtn->getCheck()) { minsize->setValue(0); maxsize->setValue(0); minsize->disable(); maxsize->disable(); } else { minsize->enable(); maxsize->enable(); } return(1); } // Reset search options long SearchWindow::onCmdResetOptions(FXObject* o, FXSelector sel, void*) { minsize->setValue(0); maxsize->setValue(0); mindays->setValue(0); maxdays->setValue(0); userbtn->setCheck(false); grpbtn->setCheck(false); typebtn->setCheck(false); permbtn->setCheck(false); emptybtn->setCheck(false); linkbtn->setCheck(false); perm->setText("0644"); type->setCurrentItem(0); user->setText(uid); grp->setText(gid); norecbtn->setCheck(false); nofsbtn->setCheck(false); return(1); } xfe-1.42/src/InputDialog.cpp0000644000175100017510000000516212625057511012667 00000000000000// Simple input dialog (without history) #include "config.h" #include "i18n.h" #include #include #include "xfeutils.h" #include "InputDialog.h" FXDEFMAP(InputDialog) InputDialogMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, InputDialog::onCmdKeyPress), }; // Object implementation FXIMPLEMENT(InputDialog, DialogBox, InputDialogMap, ARRAYNUMBER(InputDialogMap)) // Construct a dialog box InputDialog::InputDialog(FXWindow* win, FXString inp, FXString message, FXString title, FXString label, FXIcon* icon, FXbool option, FXString optiontext) : DialogBox(win, title, DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE) { // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, PACK_UNIFORM_WIDTH|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Accept new FXButton(buttons, _("&Accept"), NULL, this, ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Optional check box checkbutton = new FXHorizontalFrame(this, JUSTIFY_RIGHT|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 0, 0); if (option) { new FXCheckButton(checkbutton, optiontext, this, ID_TOGGLE_OPTION); } // Vertical frame FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Icon and message line FXMatrix* matrix = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, "", icon, LAYOUT_LEFT); msg = new FXLabel(matrix,"",NULL,JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); msg->setText(message); // Label and input field new FXLabel(matrix, label, NULL, LAYOUT_RIGHT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); input = new FXTextField(matrix, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); input->setText(inp); } void InputDialog::create() { DialogBox::create(); input->setFocus(); } long InputDialog::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } xfe-1.42/src/HistInputDialog.cpp0000644000175100017510000001263112746102230013507 00000000000000// Input dialog with history list and an optional check box #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "FileDialog.h" #include "HistInputDialog.h" extern FXString homedir; // Object implementation FXIMPLEMENT(ComboBox, FXComboBox, NULL, 0) ComboBox::ComboBox(FXComposite* p, int cols, FXObject* tgt, FXSelector sel, FXuint opts) : FXComboBox(p, cols, tgt, sel, opts) { } void ComboBox::create() { FXComboBox::create(); setFocus(); } FXDEFMAP(HistInputDialog) HistInputDialogMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, HistInputDialog::onCmdKeyPress), FXMAPFUNC(SEL_COMMAND, HistInputDialog::ID_BROWSE_PATH, HistInputDialog::onCmdBrowsePath), }; // Object implementation FXIMPLEMENT(HistInputDialog, DialogBox, HistInputDialogMap, ARRAYNUMBER(HistInputDialogMap)) // Construct a dialog box with an optional check box HistInputDialog::HistInputDialog(FXWindow* w, FXString inp, FXString message, FXString title, FXString label, FXIcon* ic, FXuint browse, FXbool option, FXString optiontext) : DialogBox(w, title, DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE) { // Browse type flag browsetype = browse; // Buttons buttons = new FXHorizontalFrame(this, PACK_UNIFORM_WIDTH|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Accept new FXButton(buttons, _("&Accept"), NULL, this, ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Optional check box checkbutton = new FXHorizontalFrame(this, JUSTIFY_RIGHT|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 0, 0); if (option) { new FXCheckButton(checkbutton, optiontext, this, ID_TOGGLE_OPTION); } // Vertical frame FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Icon and first line FXMatrix* matrix1 = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix1, "", ic, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); new FXLabel(matrix1, message, NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW|FRAME_NONE); // Label and input field (combo box) FXMatrix* matrix2 = new FXMatrix(contents, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix2, label, NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); input = new ComboBox(matrix2, 40, NULL, 0, COMBOBOX_INSERT_LAST|LAYOUT_CENTER_Y|LAYOUT_CENTER_X|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); input->setNumVisible(8); input->setText(inp); new FXButton(matrix2, _("\tSelect destination..."), filedialogicon, this, ID_BROWSE_PATH, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); if (!isUtf8(message.text(), message.length())) { new FXLabel(contents, _("=> Warning: file name is not UTF-8 encoded!"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); } // Initial directory for browsing initialdir = homedir; } void HistInputDialog::create() { DialogBox::create(); input->setFocus(); } void HistInputDialog::CursorEnd() { input->CursorEnd(); input->setFocus(); } void HistInputDialog::selectAll() { input->onFwdToText(this, FXSEL(SEL_FOCUSIN, 0), NULL); input->onFwdToText(this, FXSEL(SEL_COMMAND, FXTextField::ID_SELECT_ALL), NULL); } long HistInputDialog::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } long HistInputDialog::onCmdBrowsePath(FXObject* o, FXSelector s, void* p) { FXString title; if (browsetype == HIST_INPUT_FOLDER) { title = _("Select a destination folder"); } else if (browsetype == HIST_INPUT_FILE) { title = _("Select a file"); } else if (browsetype == HIST_INPUT_EXECUTABLE_FILE) { title = _("Select an executable file"); } else { title = _("Select a file or a destination folder"); } // File dialog FileDialog browse(this, title); const char* patterns[] = { _("All Files"), "*", NULL }; browse.setDirectory(initialdir); browse.setPatternList(patterns); // Browse files in directory, or existing, or mixed mode depending on the flag if (browsetype == HIST_INPUT_FOLDER) { browse.setSelectMode(SELECT_FILE_DIRECTORY); } else if (browsetype == HIST_INPUT_FILE) { browse.setSelectMode(SELECT_FILE_EXISTING); } else if (browsetype == HIST_INPUT_EXECUTABLE_FILE) { browse.setSelectMode(SELECT_FILE_EXISTING); } else { browse.setSelectMode(SELECT_FILE_MIXED); } if (browse.execute()) { FXString path = browse.getFilename(); input->setText(path); } return(1); } // Set initial directory void HistInputDialog::setDirectory(const FXString& path) { initialdir = path; } xfe-1.42/src/xfeutils.cpp0000644000175100017510000011725412746072032012320 00000000000000// Helper functions for various purposes // Some helper functions are also added to get large files support // Also supports a timeout on the stat and lstat function (this is the reason // why some standard FOX function cannot be used and are rewritten here) #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "../st/st.h" // Decode filename to get original again FXString FXPath::dequote(const FXString& file) { FXString result(file); if (0 < result.length()) { register int e = result.length(); register int b = 0; register int r = 0; register int q = 0; // Trim tail while (0 < e && Ascii::isSpace(result[e-1])) { --e; } // Trim head while (b < e && Ascii::isSpace(result[b])) { ++b; } // Dequote the rest while (b < e) { if (result[b] == '\'') { q = !q; b++; continue; } if ((result[b] == '\\') && (result[b+1] == '\'') && !q) { b++; } result[r++] = result[b++]; } // Trunc to size result.trunc(r); } return(result); } // Note : the original function from FXAccelTable is buggy!! // Parse accelerator from string FXHotKey _parseAccel(const FXString& string) { register FXuint code = 0, mods = 0; register int pos = 0; // Parse leading space while (pos < string.length() && Ascii::isSpace(string[pos])) { pos++; } // Parse modifiers while (pos < string.length()) { // Modifier if (comparecase(&string[pos], "ctl", 3) == 0) { mods |= CONTROLMASK; pos += 3; } else if (comparecase(&string[pos], "ctrl", 4) == 0) { mods |= CONTROLMASK; pos += 4; } else if (comparecase(&string[pos], "alt", 3) == 0) { mods |= ALTMASK; pos += 3; } else if (comparecase(&string[pos], "meta", 4) == 0) { mods |= METAMASK; pos += 4; } else if (comparecase(&string[pos], "shift", 5) == 0) { mods |= SHIFTMASK; pos += 5; } else { break; } // Separator if ((string[pos] == '+') || (string[pos] == '-') || Ascii::isSpace(string[pos])) { pos++; } } // Test for some special keys if (comparecase(&string[pos], "home", 4) == 0) { code = KEY_Home; } else if (comparecase(&string[pos], "end", 3) == 0) { code = KEY_End; } else if (comparecase(&string[pos], "pgup", 4) == 0) { code = KEY_Page_Up; } else if (comparecase(&string[pos], "pgdn", 4) == 0) { code = KEY_Page_Down; } else if (comparecase(&string[pos], "left", 4) == 0) { code = KEY_Left; } else if (comparecase(&string[pos], "right", 5) == 0) { code = KEY_Right; } else if (comparecase(&string[pos], "up", 2) == 0) { code = KEY_Up; } else if (comparecase(&string[pos], "down", 4) == 0) { code = KEY_Down; } else if (comparecase(&string[pos], "ins", 3) == 0) { code = KEY_Insert; } else if (comparecase(&string[pos], "del", 3) == 0) { code = KEY_Delete; } else if (comparecase(&string[pos], "esc", 3) == 0) { code = KEY_Escape; } else if (comparecase(&string[pos], "tab", 3) == 0) { code = KEY_Tab; } else if (comparecase(&string[pos], "return", 6) == 0) { code = KEY_Return; } else if (comparecase(&string[pos], "enter", 5) == 0) { code = KEY_Return; } else if (comparecase(&string[pos], "back", 4) == 0) { code = KEY_BackSpace; } else if (comparecase(&string[pos], "spc", 3) == 0) { code = KEY_space; } else if (comparecase(&string[pos], "space", 5) == 0) { code = KEY_space; } // Test for function keys else if ((Ascii::toLower(string[pos]) == 'f') && Ascii::isDigit(string[pos+1])) { if (Ascii::isDigit(string[pos+2])) { // !!!! Hack to fix a bug in FOX !!!! code = KEY_F1+10*(string[pos+1]-'0')+(string[pos+2]-'0')-1; // !!!! End of hack !!!! } else { code = KEY_F1+string[pos+1]-'1'; } } // Test if hexadecimal code designator else if (string[pos] == '#') { code = strtoul(&string[pos+1], NULL, 16); } // Test if its a single character accelerator else if (Ascii::isPrint(string[pos])) { if (mods&SHIFTMASK) { code = Ascii::toUpper(string[pos])+KEY_space-' '; } else { code = Ascii::toLower(string[pos])+KEY_space-' '; } } return(MKUINT(code, mods)); } // Find if the specified command exists FXbool existCommand(const FXString cmd) { struct stat linfo; // Command file path FXString cmdpath = cmd.before(' '); // If first character is '/' then cmdpath is an absolute path if (cmdpath[0] == PATHSEPCHAR) { // Check if command file name exists and is not a directory if (!cmdpath.empty() && (lstatrep(cmdpath.text(), &linfo) == 0) && !S_ISDIR(linfo.st_mode)) { return(true); } } // If first character is '~' then cmdpath is a path relative to home directory else if (cmdpath[0] == '~') { // Form command absolute path cmdpath = FXSystem::getHomeDirectory() + cmdpath.after('~'); // Check if command file name exists and is not a directory if (!cmdpath.empty() && (lstatrep(cmdpath.text(), &linfo) == 0) && !S_ISDIR(linfo.st_mode)) { return(true); } } // Simple command name or path relative to the exec path else { // Get exec path FXString execpath = FXSystem::getExecPath(); if (execpath != "") { // Number of delimiters int nbseps = execpath.contains(':'); // Loop over path components for (int i = 0; i <= nbseps; i++) { // Obtain path component FXString path = execpath.section(':', i); // Form command absolute path path += PATHSEPSTRING + cmdpath; // Check if command file name exists and is not a directory if (!path.empty() && (lstatrep(path.text(), &linfo) == 0) && !S_ISDIR(linfo.st_mode)) { return(true); } } } } return(false); } // Get key binding string from user input // Code adapted from FXAccelTable::unparseAccel() and modified to get strings like 'Ctrl-A' instead of 'ctrl+a' FXString getKeybinding(FXEvent* event) { // Get modifiers and key int mods = event->state; int code = event->code; char buffer[64]; FXString s; // Handle modifier keys if (mods&CONTROLMASK) { s += "Ctrl-"; } if (mods&ALTMASK) { s += "Alt-"; } if (mods&SHIFTMASK) { s += "Shift-"; } if (mods&METAMASK) { s += "Meta-"; } // Handle some special keys switch (code) { case KEY_Home: s += "Home"; break; case KEY_End: s += "End"; break; case KEY_Page_Up: s += "PgUp"; break; case KEY_Page_Down: s += "PgDn"; break; case KEY_Left: s += "Left"; break; case KEY_Right: s += "Right"; break; case KEY_Up: s += "Up"; break; case KEY_Down: s += "Down"; break; case KEY_Insert: s += "Ins"; break; case KEY_Delete: s += "Del"; break; case KEY_Escape: s += "Esc"; break; case KEY_Tab: s += "Tab"; break; case KEY_Return: s += "Return"; break; case KEY_BackSpace: s += "Back"; break; case KEY_space: s += "Space"; break; case KEY_F1: case KEY_F2: case KEY_F3: case KEY_F4: case KEY_F5: case KEY_F6: case KEY_F7: case KEY_F8: case KEY_F9: case KEY_F10: case KEY_F11: case KEY_F12: case KEY_F13: case KEY_F14: case KEY_F15: case KEY_F16: case KEY_F17: case KEY_F18: case KEY_F19: case KEY_F20: case KEY_F21: case KEY_F22: case KEY_F23: case KEY_F24: case KEY_F25: case KEY_F26: case KEY_F27: case KEY_F28: case KEY_F29: case KEY_F30: case KEY_F31: case KEY_F32: case KEY_F33: case KEY_F34: case KEY_F35: snprintf(buffer, sizeof(buffer)-1, "F%d", code-KEY_F1+1); s += buffer; break; default: if (Ascii::isPrint(code)) { s += Ascii::toUpper(code); } else { s = ""; // Invalid case } break; } return(s); } // Create a directory with its path, like 'mkdir -p' // Return 0 if success or -1 if fail // Original author : Niall O'Higgins */ // http://niallohiggins.com/2009/01/08/mkpath-mkdir-p-alike-in-c-for-unix int mkpath(const char* s, mode_t mode) { char* q, *r = NULL, *path = NULL, *up = NULL; int rv; rv = -1; if ((strcmp(s, ".") == 0) || (strcmp(s, "/") == 0)) { return(0); } if ((path = strdup(s)) == NULL) { exit(EXIT_FAILURE); } if ((q = strdup(s)) == NULL) { exit(EXIT_FAILURE); } if ((r = (char*)dirname(q)) == NULL) { goto out; } if ((up = strdup(r)) == NULL) { exit(EXIT_FAILURE); } if ((mkpath(up, mode) == -1) && (errno != EEXIST)) { goto out; } if ((mkdir(path, mode) == -1) && (errno != EEXIST)) { rv = -1; } else { rv = 0; } out: if (up != NULL) { free(up); } free(q); free(path); return(rv); } // Obtain a unique trash files path name based on the file path name FXString createTrashpathname(FXString pathname, FXString trashfileslocation) { // Initial trash files path name FXString trashpathname = trashfileslocation+PATHSEPSTRING+FXPath::name(pathname); // Eventually modify the trash files path name by adding a suffix like '_1', '_2', etc., // if the file already exists in the trash can files directory for (int i = 1; ; i++) { if (::exists(trashpathname)) { char suffix[32]; snprintf(suffix, sizeof(suffix)-1, "_%d", i); FXString prefix = trashpathname.rbefore('_'); if (prefix == "") { prefix = trashpathname; } trashpathname = prefix+suffix; } else { break; } } return(trashpathname); } // Create trashinfo file based on the pathname and the trashpathname int createTrashinfo(FXString pathname, FXString trashpathname, FXString trashfileslocation, FXString trashinfolocation) { // Create trash can files if it doesn't exist if (!exists(trashfileslocation)) { int mask = umask(0); umask(mask); int ret = mkpath(trashfileslocation.text(), 511 & ~mask); return(ret); } // Create trash can info if it doesn't exist if (!exists(trashinfolocation)) { int mask = umask(0); umask(mask); int ret = mkpath(trashinfolocation.text(), 511 & ~mask); return(ret); } // Deletion date struct timeval tv; gettimeofday(&tv, NULL); FXString deldate = FXSystem::time("%FT%T", tv.tv_sec); // Trash info path name FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(trashpathname)+".trashinfo"; // Create trash info file FILE* fp; int ret; if ((fp = fopen(trashinfopathname.text(), "w")) != NULL) { fprintf(fp, "[Trash Info]\n"); fprintf(fp, "Path=%s\n", pathname.text()); fprintf(fp, "DeletionDate=%s\n", deldate.text()); fclose(fp); ret = 0; } else { ret = -1; } return(ret); } // Return mime type of a file // Makes use of the Unix file command, thus this function may be slow FXString mimetype(FXString pathname) { FXString cmd = "/usr/bin/file -b -i " + pathname; FILE* filecmd = popen(cmd.text(), "r"); if (!filecmd) { perror("popen"); exit(EXIT_FAILURE); } char text[128] = { 0 }; FXString buf; while (fgets(text, sizeof(text), filecmd)) { buf += text; } pclose(filecmd); return(buf.rbefore('\n')); } // Quote a filename against shell substitutions // Thanks to Glynn Clements FXString quote(FXString str) { FXString result = "'"; const char* p; for (p = str.text(); *p; p++) { if (*p == '\'') { result += "'\\''"; } else { result += *p; } } result += '\''; return(result); } // Test if a string is encoded in UTF-8 // "length" is the number of bytes of the string to consider // Taken from the weechat project. Original author FlashCode FXbool isUtf8(const char* string, FXuint length) { FXuint n = 0; while (n < length) { // UTF-8, 2 bytes, should be: 110vvvvv 10vvvvvv if (((FXuchar)(string[0]) & 0xE0) == 0xC0) { if (!string[1] || (((FXuchar)(string[1]) & 0xC0) != 0x80)) { return(false); } string += 2; n += 2; } // UTF-8, 3 bytes, should be: 1110vvvv 10vvvvvv 10vvvvvv else if (((FXuchar)(string[0]) & 0xF0) == 0xE0) { if (!string[1] || !string[2] || (((FXuchar)(string[1]) & 0xC0) != 0x80) || (((FXuchar)(string[2]) & 0xC0) != 0x80)) { return(false); } string += 3; n += 3; } // UTF-8, 4 bytes, should be: 11110vvv 10vvvvvv 10vvvvvv 10vvvvvv else if (((FXuchar)(string[0]) & 0xF8) == 0xF0) { if (!string[1] || !string[2] || !string[3] || (((FXuchar)(string[1]) & 0xC0) != 0x80) || (((FXuchar)(string[2]) & 0xC0) != 0x80) || (((FXuchar)(string[3]) & 0xC0) != 0x80)) { return(false); } string += 4; n += 4; } // UTF-8, 1 byte, should be: 0vvvvvvv else if ((FXuchar)(string[0]) >= 0x80) { return(false); } // Next byte else { string++; n++; } } return(true); } #if defined(linux) // Stat function used to test if a mount point is up or down // Actually, this is simply the lstat() function int lstatmt(const char* filename, struct stat* buf) { return(lstat(filename, buf)); } #endif #if !defined (__OpenBSD__) // Safe strcpy function (Public domain, by C.B. Falconer) // The destination string is always null terminated // Size sz must be equal to strlen(src)+1 size_t strlcpy(char* dst, const char* src, size_t sz) { const char* start = src; if (src && sz--) { while ((*dst++ = *src)) { if (sz--) { src++; } else { *(--dst) = '\0'; break; } } } if (src) { while (*src++) { continue; } return(src - start - 1); } else if (sz) { *dst = '\0'; } return(0); } // Safe strcat function (Public domain, by C.B. Falconer) // The destination string is always null terminated size_t strlcat(char* dst, const char* src, size_t sz) { char* start = dst; while (*dst++) // assumes sz >= strlen(dst) { if (sz) { sz--; // i.e. well formed string } } dst--; return(dst - start + strlcpy(dst, src, sz)); } #endif // Obtain the non recursive size of a directory FXulong dirsize(const char* path) { DIR* dp; struct dirent* dirp; struct stat statbuf; char buf[MAXPATHLEN]; FXulong dsize = 0; int ret; if ((dp = opendir(path)) == NULL) { return(0); } while ((dirp = readdir(dp))) { if (streq(dirp->d_name, ".") || streq(dirp->d_name, "..")) { continue; } if (streq(path, ROOTDIR)) { snprintf(buf, sizeof(buf)-1, "%s%s", path, dirp->d_name); } else { snprintf(buf, sizeof(buf)-1, "%s/%s", path, dirp->d_name); } #if defined(linux) // Mount points are not processed to improve performances if (mtdevices->find(buf)) { continue; } #endif ret = lstatrep(buf, &statbuf); if (ret == 0) { if (!S_ISDIR(statbuf.st_mode)) { dsize += (FXulong)statbuf.st_size; } } } if (closedir(dp) < 0) { fprintf(stderr, _("Error: Can't close folder %s\n"), path); } return(dsize); } // Obtain the recursive size of a directory // The number of files and the number of sub directories is also stored in the nbfiles and nbsubdirs pointers // Caution: this only works if nbfiles and nbsubdirs are initialized to 0 in the calling function // After that, nbfiles contains the total number of files (including the count of sub directories), // nbsubdirs contains the number of sub directories and totalsize the total directory size // The pipes are used to write partial results, for inter process communication FXulong pathsize(char* path, FXuint* nbfiles, FXuint* nbsubdirs, FXulong *totalsize, int pipes[2]) { struct stat statbuf; struct dirent* dirp; char* ptr; DIR* dp; FXulong dsize; int ret; char buf[256]; ret = lstatrep(path, &statbuf); if (ret < 0) { return(0); } dsize = (FXulong)statbuf.st_size; (*totalsize) += dsize; (*nbfiles)++; // Write to pipe, if requested if (pipes != NULL) { #if __WORDSIZE == 64 { snprintf(buf,sizeof(buf),"%lu %u %u/", *totalsize, *nbfiles, *nbsubdirs); } #else { snprintf(buf,sizeof(buf),"%llu %u %u/", *totalsize, *nbfiles, *nbsubdirs); } #endif if (write(pipes[1], buf, strlen(buf)) == -1) { perror("write"); exit(EXIT_FAILURE); }; } // Not a directory if (!S_ISDIR(statbuf.st_mode)) { return(dsize); } // Directory (*nbsubdirs)++; ptr = (char*)path + strlen(path); if (ptr[-1] != '/') { *ptr++ = '/'; *ptr = '\0'; } if ((dp = opendir(path)) == NULL) { return(0); } while ((dirp = readdir(dp))) { if (streq(dirp->d_name, ".") || streq(dirp->d_name, "..")) { continue; } strlcpy(ptr, dirp->d_name, strlen(dirp->d_name)+1); // Recursive call dsize += pathsize(path, nbfiles, nbsubdirs, totalsize, pipes); } ptr[-1] = '\0'; // ?? if (closedir(dp) < 0) { fprintf(stderr, _("Error: Can't close folder %s\n"), path); } return(dsize); } // Write the file size in human readable form (bytes or Kbytes or Mbytes) // We use a decimal basis for KB, MB, GB count FXString hSize(char* size) { int flag = 0; char suf[64]; char buf[128]; FXString hsize; FXulong lsize = strtoull(size, NULL, 10); float fsize = 0.0; strlcpy(suf, _("bytes"), sizeof(suf)); if (lsize > 1e9) { fsize = lsize/1e9; strlcpy(suf, _("GB"), sizeof(suf)); flag = 1; } else if (lsize > 1e6) { fsize = lsize/1e6; strlcpy(suf, _("MB"), sizeof(suf)); flag = 1; } else if (lsize > 1e3) { fsize = lsize/1e3; strlcpy(suf, _("KB"), sizeof(suf)); flag = 1; } if (flag) { if (fsize == (int)fsize) { snprintf(buf, sizeof(buf), "%.0f %s", fsize, suf); } else { snprintf(buf, sizeof(buf), "%.1f %s", fsize, suf); } } else #if __WORDSIZE == 64 { snprintf(buf, sizeof(buf), "%lu %s", lsize, suf); } #else { snprintf(buf, sizeof(buf), "%llu %s", lsize, suf); } #endif hsize = buf; return(hsize); } // Remove terminating '/' on a path string to simplify a file or directory path // Thus '/bla/bla////' becomes '/bla/bla' // Special case : '/' stays to '/' FXString cleanPath(const FXString path) { FXString in = path, out = path; while (1) { if ((in[in.length()-1] == '/') && (in.length() != 1)) { out = in.trunc(in.length()-1); in = out; } else { break; } } return(out); } // Return the absolute path, based on the current directory path // Remove terminating '/' on a path string to simplify a file or directory path // Thus '/bla/bla////' becomes '/bla/bla' // Special case : '/' stays to '/' FXString filePath(const FXString path) { FXString in = path, out = path; while (1) { if ((in[in.length()-1] == '/') && (in.length() != 1)) { out = in.trunc(in.length()-1); in = out; } else { break; } } FXString dir = FXSystem::getCurrentDirectory(); // If absolute path if (ISPATHSEP(out[0])) { return(out); } else { return(dir+PATHSEPSTRING+out); } } // Return the absolute path, based on the specified directory path // Remove terminating '/' on a path string to simplify a file or directory path // Thus '/bla/bla////' becomes '/bla/bla' // Special case : '/' stays to '/' FXString filePath(const FXString path, const FXString dir) { FXString in = path, out = path; while (1) { if ((in[in.length()-1] == '/') && (in.length() != 1)) { out = in.trunc(in.length()-1); in = out; } else { break; } } // If absolute path if (ISPATHSEP(out[0])) { return(out); } else { return(dir+PATHSEPSTRING+out); } } // Obtain file path from URI specified as file:///bla/bla/bla... // If no 'file:' prefix is found, return the input string as is FXString fileFromURI(FXString uri) { if (comparecase("file:", uri, 5) == 0) { if ((uri[5] == PATHSEPCHAR) && (uri[6] == PATHSEPCHAR)) { return(uri.mid(7, uri.length()-7)); } return(uri.mid(5, uri.length()-5)); } return(uri); } // Return URI of filename FXString fileToURI(const FXString& file) { return("file://"+file); } // Construct a target name by adding a suffix that tells it's a copy of the original target file name FXString buildCopyName(const FXString& target) { const FXString suffix = _("copy"); FXString copytarget; FXString copystr = " (" + suffix; FXString name = FXPath::name(target); // Get file extensions FXString ext1 = name.rafter('.', 1); FXString ext2 = name.rafter('.', 2); FXString ext3 = ext2.before('.'); // Handle the special case of compressed tar archive names if (ext3.lower() == "tar") { FXString basename = target.rbefore('.', 2); int pos = basename.rfind(copystr); if (pos < 0) { copytarget = basename + copystr + ")." + ext2; } else { // Add a number if it's not the first copy FXString strnum = target.mid(pos+copystr.length(), target.length()-pos-copystr.length()-ext2.length()-1); FXuint num = FXUIntVal(strnum); num = (num == 0 ? num +2 : num +1); copytarget = target.left(pos) + copystr + " " + FXStringVal(num) + ")." + ext2; } } // Other cases else { // File name has no extension if (ext1 == name) { int pos = target.rfind(copystr); // First copy if (pos < 0) { copytarget = target + copystr + ")"; } // Add a number to the suffix for next copies else { FXString strnum = target.mid(pos+copystr.length(), target.length()-pos-copystr.length()); FXuint num = FXUIntVal(strnum); num = (num == 0 ? num +2 : num +1); copytarget = target.left(pos) + copystr + " " + FXStringVal(num) + ")"; } } // File name has an extension else { FXString basename = target.rbefore('.', 1); int pos = basename.rfind(copystr); // First copy if (pos < 0) { copytarget = basename + copystr + ")." + ext1; } // Add a number to the suffix for next copies else { FXString strnum = target.mid(pos+copystr.length(), target.length()-pos-copystr.length()-ext1.length()-1); FXuint num = FXUIntVal(strnum); num = (num == 0 ? 2 : num +1); copytarget = target.left(pos) + copystr + " " + FXStringVal(num) + ")." + ext1; } } } // Recursive call to avoid existing file names if (::exists(copytarget)) { copytarget = buildCopyName(copytarget); } return(copytarget); } // Convert the deletion date to the number of seconds since the epoch // The string representing the deletion date must be in the format YYYY-MM-DDThh:mm:ss FXlong deltime(FXString delstr) { // Decompose the date into year, month, day, hour, minutes and seconds FXString year = delstr.mid(0, 4); FXString mon = delstr.mid(5, 2); FXString mday = delstr.mid(8, 2); FXString hour = delstr.mid(11, 2); FXString min = delstr.mid(14, 2); FXString sec = delstr.mid(17, 2); // Convert date using mktime() tm tmval; tmval.tm_sec = atoi(sec.text()); tmval.tm_min = atoi(min.text()); tmval.tm_hour = atoi(hour.text())-1; tmval.tm_mday = atoi(mday.text()); tmval.tm_mon = atoi(mon.text())-1; tmval.tm_year = atoi(year.text())-1900; tmval.tm_isdst = 0; FXlong t = (FXlong)mktime(&tmval); // If conversion failed, return 0 if (t < 0) { t = 0; } return(t); } // Test if a directory is empty // Return -1 if not a directory, 1 if empty and 0 if not empty int isEmptyDir(const FXString directory) { int ret = -1; DIR* dir; struct dirent* entry; int n = 0; if ((dir = opendir(directory.text())) != NULL) { // Skip . and .. and read the third entry while (n < 3) { entry = readdir(dir); n++; } if (entry == NULL) { ret = 1; } else { ret = 0; } } if (dir) { closedir(dir); } return(ret); } // Test if a directory has sub-directories // Return -1 if not a directory, 1 if has sub-directories, 0 if does not have int hasSubDirs(const FXString directory) { int ret = -1; DIR* dir; struct dirent* entry; if ((dir = opendir(directory.text())) != NULL) { ret = 0; // Process directory entries while (1) { entry = readdir(dir); // No more entries if (entry == NULL) { break; } // Entry is . or .. else if ((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0)) { continue; } // Regular entry // We don't use dirent.d_type anymore because of portability issues // (e.g. reiserfs don't know dirent.d_type) else { // Stat entry struct stat entrystat; FXString entrypath = directory + PATHSEPSTRING + entry->d_name; if (statrep(entrypath.text(), &entrystat) != 0) { continue; } // If directory if (S_ISDIR(entrystat.st_mode)) { ret = 1; break; } } } } if (dir) { closedir(dir); } return(ret); } // Check if file exists FXbool exists(const FXString& file) { struct stat linfo; return(!file.empty() && (lstatrep(file.text(), &linfo) == 0)); } // Check if the file represents a directory FXbool isDirectory(const FXString& file) { struct stat info; return(!file.empty() && (statrep(file.text(), &info) == 0) && S_ISDIR(info.st_mode)); } // Check if file represents a file FXbool isFile(const FXString& file) { struct stat info; return(!file.empty() && (statrep(file.text(), &info) == 0) && S_ISREG(info.st_mode)); } // Check if current user is member of gid // (thanks to Armin Buehler ) FXbool isGroupMember(gid_t gid) { static int ngroups = 0; static gid_t* gids = NULL; int i; int ret; // First call : initialization of the number of supplementary groups and the group list if (ngroups == 0) { ngroups = getgroups(0, gids); if (ngroups < 0) { goto err; } else { gids = new gid_t[ngroups]; ret = getgroups(ngroups, gids); if (ret < 0) { goto err; } } } if (ngroups == 0) { return(false); } // Check if the group id is contained within the group list i = ngroups; while (i--) { if (gid == gids[i]) { return(true); } } err: int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't read group list: %s"), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't read group list")); } return(false); } // Check if the file or the link refered file is readable AND executable // Function used to test if we can enter a directory // Uses the access() system function FXbool isReadExecutable(const FXString& file) { struct stat info; // File exists and can be stated if (!file.empty() && (statrep(file.text(), &info) == 0)) { int ret = access(file.text(), R_OK|X_OK); if (ret == 0) { return(true); } else { return(false); } } // File doesn't exist else { return(false); } } // Check if file is readable FXbool isReadable(const FXString& file) { struct stat info; // File exists and can be stated if (!file.empty() && (statrep(file.text(), &info) == 0)) { int ret = access(file.text(), R_OK); if (ret == 0) { return(true); } else { return(false); } } // File doesn't exist else { return(false); } } // Check if file is writable FXbool isWritable(const FXString& file) { struct stat info; // File exists and can be stated if (!file.empty() && (statrep(file.text(), &info) == 0)) { int ret = access(file.text(), W_OK); if (ret == 0) { return(true); } else { return(false); } } // File doesn't exist else { return(false); } } // Check if file represents a link FXbool isLink(const FXString& file) { struct stat linfo; return(!file.empty() && (lstatrep(file.text(), &linfo) == 0) && S_ISLNK(linfo.st_mode)); } // Get file info (file or link refered file) FXbool info(const FXString& file, struct stat& inf) { return(!file.empty() && (statrep(file.text(), &inf) == 0)); } // Return permissions string // (the FOX function FXSystem::modeString() seems to use another format for the mode field) FXString permissions(FXuint mode) { char result[11]; result[0] = S_ISLNK(mode) ? 'l' : S_ISREG(mode) ? '-' : S_ISDIR(mode) ? 'd' : S_ISCHR(mode) ? 'c' : S_ISBLK(mode) ? 'b' : S_ISFIFO(mode) ? 'p' : S_ISSOCK(mode) ? 's' : '?'; result[1] = (mode&S_IRUSR) ? 'r' : '-'; result[2] = (mode&S_IWUSR) ? 'w' : '-'; result[3] = (mode&S_ISUID) ? 's' : (mode&S_IXUSR) ? 'x' : '-'; result[4] = (mode&S_IRGRP) ? 'r' : '-'; result[5] = (mode&S_IWGRP) ? 'w' : '-'; result[6] = (mode&S_ISGID) ? 's' : (mode&S_IXGRP) ? 'x' : '-'; result[7] = (mode&S_IROTH) ? 'r' : '-'; result[8] = (mode&S_IWOTH) ? 'w' : '-'; result[9] = (mode&S_ISVTX) ? 't' : (mode&S_IXOTH) ? 'x' : '-'; result[10] = 0; return(result); } // Read symbolic link FXString readLink(const FXString& file) { char lnk[MAXPATHLEN+1]; int len = readlink(file.text(), lnk, MAXPATHLEN); if (0 <= len) { return(FXString(lnk, len)); } else { return(FXString::null); } } // Return true if files are identical // Compare file names and inodes for case insensitive filesystems FXbool identical(const FXString& file1, const FXString& file2) { if (file1 != file2) { struct stat linfo1, linfo2; return(!::lstatrep(file1.text(), &linfo1) && !::lstatrep(file2.text(), &linfo2) && linfo1.st_ino == linfo2.st_ino && linfo1.st_dev == linfo2.st_dev); } return(true); } // Start or stop wait cursor (start if type is BEGIN_CURSOR, stop if type is END_CURSOR) // Do nothing if type is QUERY_CURSOR or anything different from BEGIN_CURSOR and END_CURSOR) // Return wait cursor count (0 means wait cursor is not set) int setWaitCursor(FXApp* app, FXuint type) { static int waitcount = 0; // Begin wait cursor if (type == BEGIN_CURSOR) { app->beginWaitCursor(); waitcount++; } // End wait cursor else if (type == END_CURSOR) { app->endWaitCursor(); if (waitcount >= 1) { waitcount--; } else { waitcount = 0; } } // Other cases : do nothing else { } return(waitcount); } // Run a command in an internal st terminal // Return 0 if success, -1 else // N.B.: zombie process should be dealt with in the main application class int runst(FXString cmd) { FXString str1, str2; int nbargs, i, j; // First pass to find the number of commmand arguments nbargs = 0; i = 0; j = 1; while (1) { str1 = cmd.section(' ', i); if (str1[0] == '\'') // If a ' is found, ignore the spaces till the next ' { str2 = cmd.section('\'', j); j += 2; i += str2.contains(' '); nbargs++; } else { nbargs++; } if (streq(str1.text(), "")) { break; } i++; } nbargs--; // Second pass to allocate the argument strings char** args = (char**)malloc((nbargs + 1)*sizeof(char*)); nbargs = 0; i = 0; j = 1; while (1) { str1 = cmd.section(' ', i); if (str1[0] == '\'') { str2 = cmd.section('\'', j); j += 2; i += str2.contains(' '); args[nbargs] = (char*)malloc(str2.length()+1); strlcpy(args[nbargs], str2.text(), str2.length()+1); nbargs++; } else { args[nbargs] = (char*)malloc(str1.length()+1); strlcpy(args[nbargs], str1.text(), str1.length()+1); nbargs++; } if (streq(str1.text(), "")) { break; } i++; } nbargs--; args[nbargs] = NULL; // Launch the command in an internal st terminal int res; static pid_t childpid = 0; childpid = fork(); // Fork succeeded if (childpid >= 0) { if (childpid == 0) // Child { st(nbargs, args); exit(EXIT_SUCCESS); } else // Parent { // Non blocking wait for child if (waitpid(childpid, NULL, WNOHANG) < 0) { res = -1; } else { res = 0; } } } // Fork failed else { fprintf(stderr, _("Error: Fork failed: %s\n"), strerror(errno)); res = -1; } // Free allocated strings for (int i = 0; i < nbargs; i++) { free(args[i]); } free(args); return(res); } // Get the output of a Unix command // Return the command output or the error message id any FXString getCommandOutput(FXString cmd) { FXString data; FILE* stream; const int max_buffer = 1024; char buffer[max_buffer]; cmd += " 2>&1"; stream = popen(cmd.text(), "r"); if (stream) { while (!feof(stream)) { if (fgets(buffer, max_buffer, stream) != NULL) { data += buffer; } } pclose(stream); } return(data); } // Load a PNG icon from a file in the icon path FXIcon* loadiconfile(FXApp* app, const FXString iconpath, const FXString iconname) { // Icon name is empty if (iconname.length() == 0) { return(NULL); } // New PNG icon FXIcon* icon = NULL; icon = new FXPNGIcon(app); if (icon) { // Find icon in the icon directory FXString iconfile = FXPath::search(iconpath, iconname.text()); if (!iconfile.empty()) { FXFileStream str; // Try open the file if (str.open(iconfile, FXStreamLoad)) { // Load it icon->loadPixels(str); // Create it icon->create(); // Done str.close(); return(icon); } } // Failed, delete the icon delete icon; } return(NULL); } // Truncate a string to the specified number of UTF-8 characters // and adds "..." to the end FXString truncLine(FXString str, FXuint maxlinesize) { if (str.count() <= (int)maxlinesize) { return(str); } return(str.trunc(str.validate(maxlinesize)) + "..."); } // Insert line breaks as needed to allow displaying string using lines // of specified maximum number of UTF-8 characters FXString multiLines(FXString str, FXuint maxlinesize) { int pos1 = 0; int pos2; while (1) { // No more line breaks found pos2 = str.find('\n', pos1); if (pos2 < 0) { int nbc = str.count(pos1, str.length()); if (nbc > (int)maxlinesize) { int nbl = nbc/maxlinesize; for (int n = 1; n <= nbl; n++) { str.insert(str.validate(pos1+n*maxlinesize), '\n'); // Use a valid UTF-8 position } } break; } // Line break found else { int nbc = str.count(pos1, pos2); if (nbc > (int)maxlinesize) { int nbl = nbc/maxlinesize; for (int n = 1; n <= nbl; n++) { str.insert(str.validate(pos1+n*maxlinesize), '\n'); // Use a valid UTF-8 position pos2++; } } pos1 = pos2 + 1; } } return(str); } xfe-1.42/src/icons.h0000644000175100017510000001132712625057514011233 00000000000000#ifndef ICONS_H #define ICONS_H // Prototypes FXbool loadAppIcons(FXApp* app); // Icons (global variables) extern FXIcon* archaddicon; extern FXIcon* archexticon; extern FXIcon* attribicon; extern FXIcon* bigattribicon; extern FXIcon* bigblockdevicon; extern FXIcon* bigbrokenlinkicon; extern FXIcon* bigcdromicon; extern FXIcon* bigchardevicon; extern FXIcon* bigcompareicon; extern FXIcon* bigdocicon; extern FXIcon* bigexecicon; extern FXIcon* bigfileopenicon; extern FXIcon* bigfiltericon; extern FXIcon* bigfloppyicon; extern FXIcon* bigfolderlockedicon; extern FXIcon* bigfolderopenicon; extern FXIcon* bigfoldericon; extern FXIcon* bigfolderupicon; extern FXIcon* bigharddiskicon; extern FXIcon* bigiconsicon; extern FXIcon* biglinkicon; extern FXIcon* bignewfileicon; extern FXIcon* bignewfoldericon; extern FXIcon* bignewlinkicon; extern FXIcon* bignfsdriveicon; extern FXIcon* bignfsdriveumticon; extern FXIcon* bigpipeicon; extern FXIcon* bigsocketicon; extern FXIcon* bigzipicon; extern FXIcon* cdromicon; extern FXIcon* charticon; extern FXIcon* closefileicon; extern FXIcon* clrbookicon; extern FXIcon* colltreeicon; extern FXIcon* copy_bigicon; extern FXIcon* copy_clpicon; extern FXIcon* cut_clpicon; extern FXIcon* delete_big_permicon; extern FXIcon* delete_bigicon; extern FXIcon* deselicon; extern FXIcon* detailsicon; extern FXIcon* dirupicon; extern FXIcon* editicon; extern FXIcon* entericon; extern FXIcon* errorbigicon; extern FXIcon* exptreeicon; extern FXIcon* filedelete_permicon; extern FXIcon* filedeleteicon; extern FXIcon* fileopenicon; extern FXIcon* viewicon; extern FXIcon* filtericon; extern FXIcon* compareicon; extern FXIcon* find_againicon; extern FXIcon* fliplricon; extern FXIcon* flipudicon; extern FXIcon* floppyicon; extern FXIcon* fontsicon; extern FXIcon* gotobigicon; extern FXIcon* gotodiricon; extern FXIcon* gotolineicon; extern FXIcon* harddiskicon; extern FXIcon* helpicon; extern FXIcon* hidehiddenicon; extern FXIcon* hidenumbersicon; extern FXIcon* hidethumbicon; extern FXIcon* homeicon; extern FXIcon* infobigicon; extern FXIcon* invselicon; extern FXIcon* link_bigicon; extern FXIcon* locationicon; extern FXIcon* lowercaseicon; extern FXIcon* maphosticon; extern FXIcon* miniappicon; extern FXIcon* miniblockdevicon; extern FXIcon* minibrokenlinkicon; extern FXIcon* minichardevicon; extern FXIcon* minidocicon; extern FXIcon* miniexecicon; extern FXIcon* minifolderclosedicon; extern FXIcon* minifolderlockedicon; extern FXIcon* minifolderopenicon; extern FXIcon* minifoldericon; extern FXIcon* minifolderupicon; extern FXIcon* minilinkicon; extern FXIcon* minipipeicon; extern FXIcon* minishellicon; extern FXIcon* minisocketicon; extern FXIcon* move_bigicon; extern FXIcon* moveiticon; extern FXIcon* newfileicon; extern FXIcon* newfoldericon; extern FXIcon* nfsdriveicon; extern FXIcon* nfsdriveumticon; extern FXIcon* onepanelicon; extern FXIcon* packageicon; extern FXIcon* paste_clpicon; extern FXIcon* prefsicon; extern FXIcon* printbigicon; extern FXIcon* printicon; extern FXIcon* questionbigicon; extern FXIcon* quiticon; extern FXIcon* redoicon; extern FXIcon* reloadicon; extern FXIcon* renameiticon; extern FXIcon* replaceicon; extern FXIcon* reverticon; extern FXIcon* rotatelefticon; extern FXIcon* rotaterighticon; extern FXIcon* runicon; extern FXIcon* saveasicon; extern FXIcon* savefileicon; extern FXIcon* searchnexticon; extern FXIcon* searchicon; extern FXIcon* searchprevicon; extern FXIcon* selallicon; extern FXIcon* setbookicon; extern FXIcon* shellicon; extern FXIcon* showhiddenicon; extern FXIcon* shownumbersicon; extern FXIcon* showthumbicon; extern FXIcon* smalliconsicon; extern FXIcon* trash_full_bigicon; extern FXIcon* trash_fullicon; extern FXIcon* treeonepanelicon; extern FXIcon* treetwopanelsicon; extern FXIcon* twopanelsicon; extern FXIcon* undoicon; extern FXIcon* unmaphosticon; extern FXIcon* uppercaseicon; extern FXIcon* warningbigicon; extern FXIcon* workicon; extern FXIcon* wrapofficon; extern FXIcon* wraponicon; extern FXIcon* xfeicon; extern FXIcon* xfiicon; extern FXIcon* xfpicon; extern FXIcon* xfwicon; extern FXIcon* zipicon; extern FXIcon* zoom100icon; extern FXIcon* zoominicon; extern FXIcon* zoomouticon; extern FXIcon* zoomwinicon; extern FXIcon* totrashicon; extern FXIcon* dirbackicon; extern FXIcon* dirforwardicon; extern FXIcon* minixferooticon; extern FXIcon* minixfeicon; extern FXIcon* filedialogicon; extern FXIcon* bigarchaddicon; extern FXIcon* switchpanelsicon; extern FXIcon* syncpanelsicon; extern FXIcon* newlinkicon; extern FXIcon* greenbuttonicon; extern FXIcon* graybuttonicon; extern FXIcon* keybindingsicon; extern FXIcon* minikeybindingsicon; extern FXIcon* filerestoreicon; extern FXIcon* restore_bigicon; extern FXIcon* horzpanelsicon; extern FXIcon* vertpanelsicon; #endif xfe-1.42/src/IconList.h0000644000175100017510000005712712625057514011654 00000000000000#ifndef _ICONLIST_H #define _ICONLIST_H #ifndef FXSCROLLAREA_H #include "FXScrollArea.h" #endif class IconList; class FileList; // Icon List options (prefixed with an underscore to avoid conflict with the FOX library) enum { _ICONLIST_EXTENDEDSELECT = 0, // Extended selection mode _ICONLIST_SINGLESELECT = 0x00100000, // At most one selected item _ICONLIST_BROWSESELECT = 0x00200000, // Always exactly one selected item _ICONLIST_MULTIPLESELECT = 0x00300000, // Multiple selection mode _ICONLIST_AUTOSIZE = 0x00400000, // Automatically size item spacing _ICONLIST_DETAILED = 0, // List mode _ICONLIST_MINI_ICONS = 0x00800000, // Mini Icon mode _ICONLIST_BIG_ICONS = 0x01000000, // Big Icon mode _ICONLIST_ROWS = 0, // Row-wise mode _ICONLIST_COLUMNS = 0x02000000, // Column-wise mode _ICONLIST_SEARCH = 0x10000000, // Icon list is a search list (must be the same value as in FileList) _ICONLIST_STANDARD = 0x20000000, // Icon list is a not a file list and not a search list _ICONLIST_NORMAL = _ICONLIST_EXTENDEDSELECT }; // Icon item class FXAPI IconItem : public FXObject { FXDECLARE(IconItem) friend class IconList; protected: FXString label; // Text of item FXIcon* bigIcon; // Icon of item FXIcon* miniIcon; // Icon of item void* data; // Item user data pointer FXuint state; // Item state flags private: IconItem(const IconItem&); IconItem& operator=(const IconItem&); protected: IconItem() : bigIcon(NULL), miniIcon(NULL), data(NULL), state(0) {} virtual void draw(IconList* list, FXDC& dc, int x, int y, int w, int h) const; virtual int hitItem(const IconList* list, int rx, int ry, int rw = 1, int rh = 1) const; protected: virtual void drawBigIcon(const IconList* list, FXDC& dc, int x, int y, int w, int h) const; virtual void drawMiniIcon(const IconList* list, FXDC& dc, int x, int y, int w, int h) const; FXbool isOdd(int i) const; virtual void drawDetails(IconList* list, FXDC& dc, int x, int y, int w, int h) const; public: enum { SELECTED = 1, // Selected FOCUS = 2, // Focus DISABLED = 4, // Disabled DRAGGABLE = 8, // Draggable BIGICONOWNED = 16, // Big icon owned by item MINIICONOWNED = 32 // Mini icon owned by item }; public: // Construct new item with given text, icons, and user-data IconItem(const FXString& text, FXIcon* bi = NULL, FXIcon* mi = NULL, void* ptr = NULL) : label(text), bigIcon(bi), miniIcon(mi), data(ptr), state(0) {} // Change item's text label virtual void setText(const FXString& txt); // Return item's text label const FXString& getText() const { return(label); } // Change item's big icon, deleting the old icon if it was owned virtual void setBigIcon(FXIcon* icn, FXbool owned = false); // Return item's big icon FXIcon* getBigIcon() const { return(bigIcon); } // Change item's mini icon, deleting the old icon if it was owned virtual void setMiniIcon(FXIcon* icn, FXbool owned = false); // Return item's mini icon FXIcon* getMiniIcon() const { return(miniIcon); } // Change item's user data void setData(void* ptr) { data = ptr; } // Get item's user data void* getData() const { return(data); } // Make item draw as focused virtual void setFocus(FXbool focus); // Return true if item has focus FXbool hasFocus() const { return((state&FOCUS) != 0); } // Select item virtual void setSelected(FXbool selected); // Return true if this item is selected FXbool isSelected() const { return((state&SELECTED) != 0); } // Enable or disable item virtual void setEnabled(FXbool enabled); // Return true if this item is enabled FXbool isEnabled() const { return((state&DISABLED) == 0); } // Make item draggable virtual void setDraggable(FXbool draggable); // Return true if this item is draggable FXbool isDraggable() const { return((state&DRAGGABLE) != 0); } // Return width of item as drawn in list virtual int getWidth(const IconList* list) const; // Return height of item as drawn in list virtual int getHeight(const IconList* list) const; // Create server-side resources virtual void create(); // Detach server-side resources virtual void detach(); // Destroy server-side resources virtual void destroy(); // Save to stream virtual void save(FXStream& store) const; // Load from stream virtual void load(FXStream& store); // Destroy item and free icons if owned virtual ~IconItem(); }; // Icon item collate function typedef int (*IconListSortFunc)(const IconItem*, const IconItem*); // List of IconItem's typedef FXObjectListOf IconItemList; // A Icon List Widget displays a list of items, each with a text and // optional icon. Icon List can display its items in essentially three // different ways; in big-icon mode, the bigger of the two icons is used // for each item, and the text is placed underneath the icon. In mini- // icon mode, the icons are listed in rows and columns, with the smaller // icon preceding the text. Finally, in detail mode the icons are listed // in a single column, and all fields of the text are shown under a // header control with one button for each subfield. // When an item's selected state changes, the icon list sends // a SEL_SELECTED or SEL_DESELECTED message. A change of the current // item is signified by the SEL_CHANGED message. // The icon list sends SEL_COMMAND messages when the user clicks on an item, // and SEL_CLICKED, SEL_DOUBLECLICKED, and SEL_TRIPLECLICKED when the user // clicks once, twice, or thrice, respectively. // When items are added, replaced, or removed, the icon list sends messages // of the type SEL_INSERTED, SEL_REPLACED, or SEL_DELETED. // In each of these cases, the index to the item, if any, is passed in the // 3rd argument of the message. class FXAPI IconList : public FXScrollArea { FXDECLARE(IconList) protected: FXHeader* header; // Header control IconItemList items; // Item list int nrows; // Number of rows int ncols; // Number of columns int anchor; // Anchor item int current; // Current item int extent; // Extent item int cursor; // Cursor item int viewable; // Visible item FXFont* font; // Font IconListSortFunc sortfunc; // Item sort function FXColor textColor; // Text color FXColor selbackColor; // Selected back color FXColor seltextColor; // Selected text color FXColor highlightColor; // Highlight color FXColor sortColor; // Sort color FXColor highlightSortColor; // Highlight sort color int itemWidth; // Item width int itemHeight; // Item height int itemSpace; // Space for item label int anchorx; // Rectangular selection int anchory; int currentx; int currenty; int grabx; // Grab point x int graby; // Grab point y FXString lookup; // Lookup string FXString help; // Help text FXbool state; // State of item FXbool allowTooltip; // Allow tooltip in single click mode FXuint numsortheader; // Index of the sorted column double headerpct[10]; // Header sizes, relatively to the list width (in percent) int count; // Counter used to properly initialize the relative header sizes FXbool ignorecase; // Case sensitivity for file name sorting FXbool initheaderpct; // Indicates we have to initialize the headerpct for the deletion columns protected: IconList() : header(NULL), nrows(0), ncols(0), anchor(0), current(0), extent(0), cursor(0), viewable(0), font(NULL), sortfunc(NULL), textColor(FXRGB(0, 0, 0)), selbackColor(FXRGB(0, 0, 0)), seltextColor(FXRGB(0, 0, 0)), highlightColor(FXRGB(0, 0, 0)), sortColor(FXRGB(0, 0, 0)), highlightSortColor(FXRGB(0, 0, 0)), itemWidth(0), itemHeight(0), itemSpace(0), anchorx(0), anchory(0), currentx(0), currenty(0), grabx(0), graby(0), state(false), allowTooltip(false), numsortheader(0), count(0), ignorecase(false), initheaderpct(false) {} void recompute(); void getrowscols(int& nr, int& nc, int w, int h) const; void drawLasso(int x0, int y0, int x1, int y1); void lassoChanged(int ox, int oy, int ow, int oh, int nx, int ny, int nw, int nh, FXbool notify); virtual void moveContents(int x, int y); virtual IconItem* createItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr); static int compareSection(const char* p, const char* q, int s); static int compareSectionCase(const char* p, const char* q, int s); private: IconList(const IconList&); IconList& operator=(const IconList&); public: long onConfigure(FXObject*, FXSelector, void*); long onPaint(FXObject*, FXSelector, void*); long onEnter(FXObject*, FXSelector, void*); long onLeave(FXObject*, FXSelector, void*); long onUngrabbed(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); long onLeftBtnPress(FXObject*, FXSelector, void*); long onLeftBtnRelease(FXObject*, FXSelector, void*); long onRightBtnPress(FXObject*, FXSelector, void*); long onRightBtnRelease(FXObject*, FXSelector, void*); long onMotion(FXObject*, FXSelector, void*); long onQueryTip(FXObject*, FXSelector, void*); long onQueryHelp(FXObject*, FXSelector, void*); long onTipTimer(FXObject*, FXSelector, void*); long onCmdselectAll(FXObject*, FXSelector, void*); long onCmdDeselectAll(FXObject*, FXSelector, void*); long onCmdSelectInverse(FXObject*, FXSelector, void*); long onCmdArrangeByRows(FXObject*, FXSelector, void*); long onUpdArrangeByRows(FXObject*, FXSelector, void*); long onCmdArrangeByColumns(FXObject*, FXSelector, void*); long onUpdArrangeByColumns(FXObject*, FXSelector, void*); long onCmdShowDetails(FXObject*, FXSelector, void*); long onUpdShowDetails(FXObject*, FXSelector, void*); long onCmdShowBigIcons(FXObject*, FXSelector, void*); long onUpdShowBigIcons(FXObject*, FXSelector, void*); long onCmdShowMiniIcons(FXObject*, FXSelector, void*); long onUpdShowMiniIcons(FXObject*, FXSelector, void*); long onHeaderChanged(FXObject*, FXSelector, void*); long onHeaderResize(FXObject*, FXSelector, void*); long onFocusIn(FXObject*, FXSelector, void*); long onFocusOut(FXObject*, FXSelector, void*); long onClicked(FXObject*, FXSelector, void*); long onDoubleClicked(FXObject*, FXSelector, void*); long onTripleClicked(FXObject*, FXSelector, void*); long onCommand(FXObject*, FXSelector, void*); long onAutoScroll(FXObject*, FXSelector, void*); long onLookupTimer(FXObject*, FXSelector, void*); long onCmdSetValue(FXObject*, FXSelector, void*); long onCmdGetIntValue(FXObject*, FXSelector, void*); long onCmdSetIntValue(FXObject*, FXSelector, void*); long onCmdToggleAutosize(FXObject*, FXSelector, void*); long onUpdToggleAutosize(FXObject*, FXSelector, void*); long onCmdHeaderClicked(FXObject*, FXSelector, void*); public: static int ascending(const IconItem* a, const IconItem* b); static int descending(const IconItem* a, const IconItem* b); static int ascendingCase(const IconItem* a, const IconItem* b); static int descendingCase(const IconItem* a, const IconItem* b); public: enum { ID_SHOW_DETAILS=FXScrollArea::ID_LAST, ID_SHOW_MINI_ICONS, ID_SHOW_BIG_ICONS, ID_ARRANGE_BY_ROWS, ID_ARRANGE_BY_COLUMNS, ID_HEADER_CHANGE, ID_LOOKUPTIMER, ID_SELECT_ALL, ID_DESELECT_ALL, ID_SELECT_INVERSE, ID_AUTOSIZE, ID_LAST }; public: // Construct icon list with no items in it initially IconList(FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = _ICONLIST_NORMAL, int x = 0, int y = 0, int w = 0, int h = 0); // Create server-side resources virtual void create(); // Detach server-side resources virtual void detach(); // Recalculate layout virtual void recalc(); // Perform layout virtual void layout(); // Compute and return content width virtual int getContentWidth(); // Return content height virtual int getContentHeight(); // Icon list can receive focus virtual bool canFocus() const; // Move the focus to this window virtual void setFocus(); // Remove the focus from this window virtual void killFocus(); // Return viewport size virtual int getViewportHeight(); // Resize this window to the specified width and height virtual void resize(int w, int h); // Move and resize this window in the parent's coordinates virtual void position(int x, int y, int w, int h); // Return ignore case flag FXbool getIgnoreCase() const { return(ignorecase); } // Set ignore case flag void setIgnoreCase(const FXbool); // Return number of items int getNumItems() const { return(items.no()); } // Return number of rows int getNumRows() const { return(nrows); } // Return number of columns int getNumCols() const { return(ncols); } // Return header control FXHeader* getHeader() const { return(header); } // Set headers from array of strings void setHeaders(const char** strings, int size = 1); // Set headers from newline separated strings void setHeaders(const FXString& strings, int size = 1); // Append header with given text and optional icon void appendHeader(const FXString& text, FXIcon* icon = NULL, int size = 1); // Remove header at index void removeHeader(int index); // Change text of header at index void setHeaderText(int index, const FXString& text); // Return text of header at index FXString getHeaderText(int index) const; // Change icon of header at index void setHeaderIcon(int index, FXIcon* icon); // Return icon of header at index FXIcon* getHeaderIcon(int index) const; // Change size of header at index void setHeaderSize(int index, int size); // Return width of header at index int getHeaderSize(int index) const; // Return number of headers int getNumHeaders() const; // Return the item at the given index IconItem* getItem(int index) const; // Replace the item with a [possibly subclassed] item int setItem(int index, IconItem* item, FXbool notify = false); // Replace items text, icons, and user-data pointer int setItem(int index, const FXString& text, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Fill list by appending items from array of strings int fillItems(const char** strings, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Fill list by appending items from newline separated strings int fillItems(const FXString& strings, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Insert a new [possibly subclassed] item at the give index int insertItem(int index, IconItem* item, FXbool notify = false); // Insert item at index with given text, icons, and user-data pointer int insertItem(int index, const FXString& text, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Append a [possibly subclassed] item to the end of the list int appendItem(IconItem* item, FXbool notify = false); // Append new item with given text and optional icons, and user-data pointer int appendItem(const FXString& text, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Prepend a [possibly subclassed] item to the end of the list int prependItem(IconItem* item, FXbool notify = false); // Prepend new item with given text and optional icons, and user-data pointer int prependItem(const FXString& text, FXIcon* big = NULL, FXIcon* mini = NULL, void* ptr = NULL, FXbool notify = false); // Move item from oldindex to newindex int moveItem(int newindex, int oldindex, FXbool notify = false); // Extract item from list IconItem* extractItem(int index, FXbool notify = false); // Remove item from list void removeItem(int index, FXbool notify = false); // Remove all items from list void clearItems(FXbool notify = false); // Return item width int getItemWidth() const { return(itemWidth); } // Return item height int getItemHeight() const { return(itemHeight); } // Return index of item at x,y, or -1 if none virtual int getItemAt(int x, int y); // Search items by name, beginning from item start. If the start // item is -1 the search will start at the first item in the list. // Flags may be SEARCH_FORWARD or SEARCH_BACKWARD to control the // search direction; this can be combined with SEARCH_NOWRAP or SEARCH_WRAP // to control whether the search wraps at the start or end of the list. // The option SEARCH_IGNORECASE causes a case-insensitive match. Finally, // passing SEARCH_PREFIX causes searching for a prefix of the item name. // Return -1 if no matching item is found. int findItem(const FXString& text, int start = -1, FXuint flags = SEARCH_FORWARD|SEARCH_WRAP) const; // Search items by associated user data, beginning from item start. If the // start item is -1 the search will start at the first item in the list. // Flags may be SEARCH_FORWARD or SEARCH_BACKWARD to control the // search direction; this can be combined with SEARCH_NOWRAP or SEARCH_WRAP // to control whether the search wraps at the start or end of the list. int findItemByData(const void* ptr, int start = -1, FXuint flags = SEARCH_FORWARD|SEARCH_WRAP) const; // Scroll to make item at index visible virtual void makeItemVisible(int index); // Change item text void setItemText(int index, const FXString& text); // Return item text FXString getItemText(int index) const; // Change item big icon void setItemBigIcon(int index, FXIcon* icon, FXbool owned = false); // Return big icon of item at index FXIcon* getItemBigIcon(int index) const; // Change item mini icon void setItemMiniIcon(int index, FXIcon* icon, FXbool owned = false); // Return mini icon of item at index FXIcon* getItemMiniIcon(int index) const; // Change item user-data pointer void setItemData(int index, void* ptr); // Return item user-data pointer void* getItemData(int index) const; // Return true if item is selected FXbool isItemSelected(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fxerror("%s::isItemSelected: index out of range.\n", getClassName()); } return(items[index]->isSelected()); } // Return true if item at index is current FXbool isItemCurrent(int index) const; // Return true if item at index is visible FXbool isItemVisible(int index) const; // Return true if item at index is enabled FXbool isItemEnabled(int index) const; // Return item hit code: 0 outside, 1 icon, 2 text int hitItem(int index, int x, int y, int ww = 1, int hh = 1) const; // Repaint item at index void updateItem(int index) const; // Enable item at index virtual FXbool enableItem(int index); // Disable item at index virtual FXbool disableItem(int index); // Select item at index virtual FXbool selectItem(int index, FXbool notify = false); // Deselect item at index virtual FXbool deselectItem(int index, FXbool notify = false); // Toggle item at index virtual FXbool toggleItem(int index, FXbool notify = false); // Select items in rectangle virtual FXbool selectInRectangle(int x, int y, int w, int h, FXbool notify = false); // Extend selection from anchor index to index virtual FXbool extendSelection(int index, FXbool notify = false); // Deselect all items virtual FXbool killSelection(FXbool notify = false); // Change current item index virtual void setCurrentItem(int index, FXbool notify = false); // Return current item index, or -1 if none int getCurrentItem() const { return(current); } // Change anchor item index void setAnchorItem(int index); // Return anchor item index, or -1 if none int getAnchorItem() const { return(anchor); } // Return index of item under cursor, or -1 if none int getCursorItem() const { return(cursor); } // Sort items void sortItems(); // Return sort function IconListSortFunc getSortFunc() const { return(sortfunc); } // Change sort function void setSortFunc(IconListSortFunc func) { sortfunc = func; } // Set sort header void setSortHeader(const FXuint num) { numsortheader = num; } // Get sort header FXuint getSortHeader() { return(numsortheader); } // Change text font void setFont(FXFont* fnt); // Return text font FXFont* getFont() const { return(font); } // Return normal text color FXColor getTextColor() const { return(textColor); } // Change normal text color void setTextColor(FXColor clr); // Return selected text background FXColor getSelBackColor() const { return(selbackColor); } // Change selected text background void setSelBackColor(FXColor clr); // Return selected text color FXColor getSelTextColor() const { return(seltextColor); } // Return highlight color FXColor getHighlightColor() const { return(highlightColor); } // Return sort color FXColor getSortColor() const { return(sortColor); } // Return highlight sort color FXColor getHighlightSortColor() const { return(highlightSortColor); } // Change selected text color void setSelTextColor(FXColor clr); // Change maximum item space for each item void setItemSpace(int s); // Return maximum item space int getItemSpace() const { return(itemSpace); } // Get the current icon list style FXuint getListStyle() const; // Set the current icon list style. void setListStyle(FXuint style); // Set the status line help text for this widget void setHelpText(const FXString& text); // Get the status line help text for this widget const FXString& getHelpText() const { return(help); } // Save list to a stream virtual void save(FXStream& store) const; // Load list from a stream virtual void load(FXStream& store); // Destructor virtual ~IconList(); }; #endif xfe-1.42/src/XFileImage.cpp0000644000175100017510000026166712634015547012443 00000000000000// This code is adapted from 'imageviewer', a demo image viewer found // in the FOX library and written by Jeroen van der Zijp. #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "FileDialog.h" #include "InputDialog.h" #include "DirHistBox.h" #include "MessageBox.h" #include "FileList.h" #include "XFileImage.h" // Add FOX hacks #include "foxhacks.cpp" #include "clearlooks.cpp" // Global variables char** args; FXColor listbackcolor, listforecolor; FXColor highlightcolor; FXbool allowPopupScroll = false; FXuint single_click; FXbool file_tooltips; FXbool relative_resize; FXbool show_pathlink; FXbool save_win_pos; FXString homedir; FXString xdgconfighome; FXString xdgdatahome; FXbool xim_used = false; // Hand cursor replacement #define hand_width 32 #define hand_height 32 #define hand_x_hot 6 #define hand_y_hot 1 static const FXuchar hand_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x90, 0x07, 0x00, 0x00, 0x97, 0x1a, 0x00, 0x00, 0x99, 0x2a, 0x00, 0x00, 0x11, 0x28, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static const FXuchar hand_mask_bits[] = { 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf7, 0x1f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0xf8, 0x0f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // Predefined zoom factors #define NB_ZOOM 24 double zoomtab[NB_ZOOM] = { 0.01, 0.025, 0.05, 0.075, 0.10, 0.15, 0.20, 0.30, 0.50, 0.75, 1, \ 1.5, 2, 3, 4, 5, 7.5, 10, 15, 20, 30, 50, 75, 100 }; #define ZOOM_100 10 // Maximum image size (in pixels) for zooming in #define MAX_IMGSIZE 5120 // Patterns for supported image formats const char* patterns[] = { _("All Files"), "*", _("GIF Image"), "*.gif", _("BMP Image"), "*.bmp", _("XPM Image"), "*.xpm", _("PCX Image"), "*.pcx", _("ICO Image"), "*.ico", _("RGB Image"), "*.rgb", _("XBM Image"), "*.xbm", _("TARGA Image"), "*.tga", _("PPM Image"), "*.ppm", _("PNG Image"), "*.png", _("JPEG Image"), "*.jpg", _("JPEG Image"), "*.jpeg", _("TIFF Image"), "*.tif", _("TIFF Image"), "*.tiff", NULL }; const FXString imgpatterns = "*.gif,*.bmp,*.xpm,*.pcx,*.ico,*.rgb,*.xbm,*.tga,*.ppm,*.png,*.jpg,*.jpeg,*.tif,*.tiff"; // Helper function to draw a toolbar separator void toolbarSeparator(FXToolBar* tb) { #define SEP_SPACE_TB 1 new FXFrame(tb, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE_TB); new FXVerticalSeparator(tb, LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|SEPARATOR_GROOVE|LAYOUT_FILL_Y); new FXFrame(tb, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE_TB); } // Helper function to draw a separator in an horizontal frame void hframeSeparator(FXHorizontalFrame* hframe) { #define SEP_SPACE_HF 5 new FXFrame(hframe, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE_HF); new FXVerticalSeparator(hframe, LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|SEPARATOR_GROOVE|LAYOUT_FILL_Y); new FXFrame(hframe, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE_HF); } // Map FXDEFMAP(XFileImage) XFileImageMap[] = { FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ABOUT, XFileImage::onCmdAbout), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_OPEN, XFileImage::onCmdOpen), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TITLE, XFileImage::onUpdTitle), FXMAPFUNC(SEL_SIGNAL, XFileImage::ID_HARVEST, XFileImage::onSigHarvest), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_QUIT, XFileImage::onCmdQuit), FXMAPFUNC(SEL_SIGNAL, XFileImage::ID_QUIT, XFileImage::onCmdQuit), FXMAPFUNC(SEL_CLOSE, XFileImage::ID_TITLE, XFileImage::onCmdQuit), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_RESTART, XFileImage::onCmdRestart), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_TOGGLE_FILELIST_BEFORE, XFileImage::onCmdToggleFileListBefore), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_HORZ_PANELS, XFileImage::onCmdHorzVertPanels), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_VERT_PANELS, XFileImage::onCmdHorzVertPanels), FXMAPFUNC(SEL_DOUBLECLICKED, XFileImage::ID_FILELIST, XFileImage::onCmdItemDoubleClicked), FXMAPFUNC(SEL_CLICKED, XFileImage::ID_FILELIST, XFileImage::onCmdItemClicked), FXMAPFUNC(SEL_KEYPRESS, 0, XFileImage::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, XFileImage::onKeyRelease), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_RECENTFILE, XFileImage::onCmdRecentFile), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_TOGGLE_HIDDEN, XFileImage::onCmdToggleHidden), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_TOGGLE_THUMBNAILS, XFileImage::onCmdToggleThumbnails), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_SHOW_DETAILS, XFileImage::onCmdShowDetails), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_SHOW_MINI_ICONS, XFileImage::onCmdShowMini), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_SHOW_BIG_ICONS, XFileImage::onCmdShowBig), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ROTATE_90, XFileImage::onCmdRotate), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ROTATE_270, XFileImage::onCmdRotate), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_MIRROR_HOR, XFileImage::onCmdMirror), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_MIRROR_VER, XFileImage::onCmdMirror), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ZOOM_IN, XFileImage::onCmdZoomIn), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ZOOM_OUT, XFileImage::onCmdZoomOut), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ZOOM_100, XFileImage::onCmdZoom100), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_ZOOM_WIN, XFileImage::onCmdZoomWin), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_PRINT, XFileImage::onCmdPrint), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_DIR_UP, XFileImage::onCmdDirUp), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_DIR_UP, XFileImage::onUpdDirUp), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_DIR_BACK, XFileImage::onCmdDirBack), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_DIR_BACK, XFileImage::onUpdDirBack), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_DIR_FORWARD, XFileImage::onCmdDirForward), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_DIR_FORWARD, XFileImage::onUpdDirForward), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_DIR_BACK_HIST, XFileImage::onCmdDirBackHist), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_DIR_BACK_HIST, XFileImage::onUpdDirBackHist), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_DIR_FORWARD_HIST, XFileImage::onCmdDirForwardHist), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_DIR_FORWARD_HIST, XFileImage::onUpdDirForwardHist), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_GO_HOME, XFileImage::onCmdHome), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_PRINT, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ROTATE_90, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ROTATE_270, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_MIRROR_HOR, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_MIRROR_VER, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ZOOM_IN, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ZOOM_OUT, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ZOOM_100, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_ZOOM_WIN, XFileImage::onUpdImage), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_SHOW_BIG_ICONS, XFileImage::onUpdFileView), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_SHOW_MINI_ICONS, XFileImage::onUpdFileView), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_SHOW_DETAILS, XFileImage::onUpdFileView), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TOGGLE_HIDDEN, XFileImage::onUpdToggleHidden), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TOGGLE_FILELIST_BEFORE, XFileImage::onUpdToggleFileListBefore), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TOGGLE_THUMBNAILS, XFileImage::onUpdToggleThumbnails), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_TOGGLE_FIT_WIN, XFileImage::onCmdToggleFitWin), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_TOGGLE_FILTER_IMAGES, XFileImage::onCmdToggleFilterImages), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TOGGLE_FIT_WIN, XFileImage::onUpdToggleFitWin), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_TOGGLE_FILTER_IMAGES, XFileImage::onUpdToggleFilterImages), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_HORZ_PANELS, XFileImage::onUpdHorzVertPanels), FXMAPFUNC(SEL_UPDATE, XFileImage::ID_VERT_PANELS, XFileImage::onUpdHorzVertPanels), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_GO_HOME, XFileImage::onCmdHome), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_GO_WORK, XFileImage::onCmdWork), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, XFileImage::ID_FILELIST, XFileImage::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, XFileImage::ID_POPUP_MENU, XFileImage::onCmdPopupMenu), }; // Object implementation FXIMPLEMENT(XFileImage, FXMainWindow, XFileImageMap, ARRAYNUMBER(XFileImageMap)) // Make some windows XFileImage::XFileImage(FXApp* a, FXbool smoothscroll) : FXMainWindow(a, "Xfi ", NULL, NULL, DECOR_ALL) { setIcon(xfiicon); FXButton* btn = NULL; FXHotKey hotkey; FXString key; setTarget(this); setSelector(ID_TITLE); // Make menu bar menubar = new FXMenuBar(this, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED); // Sites where to dock FXDockSite* topdock = new FXDockSite(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXDockSite(this, LAYOUT_SIDE_LEFT|LAYOUT_FILL_Y); new FXDockSite(this, LAYOUT_SIDE_RIGHT|LAYOUT_FILL_Y); // Tool bar FXToolBarShell* dragshell1 = new FXToolBarShell(this, FRAME_RAISED); toolbar = new FXToolBar(topdock, dragshell1, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED); new FXToolBarGrip(toolbar, toolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // File menu filemenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&File"), NULL, filemenu); // Image Menu imagemenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Image"), NULL, imagemenu); // View menu viewmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&View"), NULL, viewmenu); // Preferences Menu prefsmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Preferences"), NULL, prefsmenu); // Help menu helpmenu = new FXMenuPane(this); new FXMenuTitle(menubar, _("&Help"), NULL, helpmenu); // Splitter FXVerticalFrame* vframe = new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // Set order of the file list and image widgets filelistbefore = getApp()->reg().readUnsignedEntry("OPTIONS", "filelist_before", false); if (filelistbefore) { splitter = new FXSplitter(vframe, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING|SPLITTER_VERTICAL); filebox = new FXVerticalFrame(splitter, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); imageview = new FXImageView(splitter, NULL, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN); } else { splitter = new FXSplitter(vframe, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING|SPLITTER_VERTICAL|SPLITTER_REVERSED); imageview = new FXImageView(splitter, NULL, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN); filebox = new FXVerticalFrame(splitter, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } // Stack panels horizontally or vertically vertpanels = getApp()->reg().readUnsignedEntry("OPTIONS", "vert_panels", false); if (vertpanels) { splitter->setSplitterStyle(splitter->getSplitterStyle()&~SPLITTER_VERTICAL); } else { splitter->setSplitterStyle(splitter->getSplitterStyle()|SPLITTER_VERTICAL); } // Container for the action buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(filebox, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED, 0, 0, 0, 0, 5, 5, 5, 5, 0, 0); // Container for the path linker FXHorizontalFrame* pathframe = new FXHorizontalFrame(filebox, LAYOUT_FILL_X|FRAME_RAISED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // File list FXuint options; if (smoothscroll) { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|_ICONLIST_MINI_ICONS|_ICONLIST_BROWSESELECT; } else { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|_ICONLIST_MINI_ICONS|_ICONLIST_BROWSESELECT|SCROLLERS_DONT_TRACK; } thumbnails = getApp()->reg().readUnsignedEntry("OPTIONS", "thumbnails", 0); filelist = new FileList(this, filebox, this, ID_FILELIST, thumbnails, options); filelist->setTextColor(listforecolor); filelist->setBackColor(listbackcolor); filelist->setHeaderSize(0, getApp()->reg().readUnsignedEntry("OPTIONS", "name_size", 200)); filelist->setHeaderSize(1, getApp()->reg().readUnsignedEntry("OPTIONS", "size_size", 60)); filelist->setHeaderSize(2, getApp()->reg().readUnsignedEntry("OPTIONS", "type_size", 100)); filelist->setHeaderSize(3, getApp()->reg().readUnsignedEntry("OPTIONS", "ext_size", 100)); filelist->setHeaderSize(4, getApp()->reg().readUnsignedEntry("OPTIONS", "modd_size", 150)); filelist->setHeaderSize(5, getApp()->reg().readUnsignedEntry("OPTIONS", "user_size", 50)); filelist->setHeaderSize(6, getApp()->reg().readUnsignedEntry("OPTIONS", "grou_size", 50)); filelist->setHeaderSize(7, getApp()->reg().readUnsignedEntry("OPTIONS", "attr_size", 100)); // Action buttons new FXFrame(buttons, LAYOUT_FIX_WIDTH, 0, 0, 4, 1); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_back", "Ctrl-Backspace"); btn = new FXButton(buttons, TAB+_("Go to previous folder")+PARS(key), dirbackicon, this, ID_DIR_BACK, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnbackhist = new FXArrowButton(buttons, this, ID_DIR_BACK_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_forward", "Shift-Backspace"); btn = new FXButton(buttons, TAB+_("Go to next folder")+PARS(key), dirforwardicon, this, ID_DIR_FORWARD, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnforwardhist = new FXArrowButton(buttons, this, ID_DIR_FORWARD_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_up", "Backspace"); btn = new FXButton(buttons, TAB+_("Go to parent folder")+PARS(key), dirupicon, this, ID_DIR_UP, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Separator hframeSeparator(buttons); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); new FXButton(buttons, TAB+_("Go to home folder")+PARS(key), homeicon, this, ID_GO_HOME, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_work", "Shift-F2"); new FXButton(buttons, TAB+_("Go to working folder")+PARS(key), workicon, this, ID_GO_WORK, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Separator hframeSeparator(buttons); // Switch display modes key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); btn = new FXButton(buttons, TAB+_("Big icon list")+PARS(key), bigiconsicon, this, ID_SHOW_BIG_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); btn = new FXButton(buttons, TAB+_("Small icon list")+PARS(key), smalliconsicon, this, ID_SHOW_MINI_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); btn = new FXButton(buttons, TAB+_("Detailed file list")+PARS(key), detailsicon, this, ID_SHOW_DETAILS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Separator hframeSeparator(buttons); // Vertical panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); btn = new FXButton(buttons, TAB+_("Vertical panels")+PARS(key), vertpanelsicon, this, XFileImage::ID_VERT_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Horizontal panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); btn = new FXButton(buttons, TAB+_("Horizontal panels")+PARS(key), horzpanelsicon, this, XFileImage::ID_HORZ_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Panel title pathtext = new TextLabel(pathframe, 0, this, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y); pathtext->setBackColor(getApp()->getBaseColor()); // Path linker pathlink = new PathLinker(pathframe, filelist, NULL, LAYOUT_FILL_X); // Status bar statusbar = new FXHorizontalFrame(vframe, JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_RAISED, 0, 0, 0, 0, 3, 3, 0, 0); // Read and set sort function for file list FXString sort_func = getApp()->reg().readStringEntry("OPTIONS", "sort_func", "ascendingCase"); if (sort_func == "ascendingCase") { filelist->setSortFunc(filelist->ascendingCase); } if (sort_func == "ascendingCaseMix") { filelist->setSortFunc(filelist->ascendingCaseMix); } else if (sort_func == "descendingCase") { filelist->setSortFunc(filelist->descendingCase); } else if (sort_func == "descendingCaseMix") { filelist->setSortFunc(filelist->descendingCaseMix); } else if (sort_func == "ascending") { filelist->setSortFunc(filelist->ascending); } else if (sort_func == "ascendingMix") { filelist->setSortFunc(filelist->ascendingMix); } else if (sort_func == "descending") { filelist->setSortFunc(filelist->descending); } else if (sort_func == "descendingMix") { filelist->setSortFunc(filelist->descendingMix); } else if (sort_func == "ascendingSize") { filelist->setSortFunc(filelist->ascendingSize); } else if (sort_func == "ascendingSizeMix") { filelist->setSortFunc(filelist->ascendingSizeMix); } else if (sort_func == "descendingSize") { filelist->setSortFunc(filelist->descendingSize); } else if (sort_func == "descendingSizeMix") { filelist->setSortFunc(filelist->descendingSizeMix); } else if (sort_func == "ascendingType") { filelist->setSortFunc(filelist->ascendingType); } else if (sort_func == "ascendingTypeMix") { filelist->setSortFunc(filelist->ascendingTypeMix); } else if (sort_func == "descendingType") { filelist->setSortFunc(filelist->descendingType); } else if (sort_func == "descendingTypeMix") { filelist->setSortFunc(filelist->descendingTypeMix); } else if (sort_func == "ascendingExt") { filelist->setSortFunc(filelist->ascendingExt); } else if (sort_func == "ascendingExtMix") { filelist->setSortFunc(filelist->ascendingExtMix); } else if (sort_func == "descendingExt") { filelist->setSortFunc(filelist->descendingExt); } else if (sort_func == "descendingExtMix") { filelist->setSortFunc(filelist->descendingExtMix); } else if (sort_func == "ascendingTime") { filelist->setSortFunc(filelist->ascendingTime); } else if (sort_func == "ascendingTimeMix") { filelist->setSortFunc(filelist->ascendingTimeMix); } else if (sort_func == "descendingTime") { filelist->setSortFunc(filelist->descendingTime); } else if (sort_func == "descendingTimeMix") { filelist->setSortFunc(filelist->descendingTimeMix); } else if (sort_func == "ascendingUser") { filelist->setSortFunc(filelist->ascendingUser); } else if (sort_func == "ascendingUserMix") { filelist->setSortFunc(filelist->ascendingUserMix); } else if (sort_func == "descendingUser") { filelist->setSortFunc(filelist->descendingUser); } else if (sort_func == "descendingUserMix") { filelist->setSortFunc(filelist->descendingUserMix); } else if (sort_func == "ascendingGroup") { filelist->setSortFunc(filelist->ascendingGroup); } else if (sort_func == "ascendingGroupMix") { filelist->setSortFunc(filelist->ascendingGroupMix); } else if (sort_func == "descendingGroup") { filelist->setSortFunc(filelist->descendingGroup); } else if (sort_func == "descendingGroupMix") { filelist->setSortFunc(filelist->descendingGroupMix); } else if (sort_func == "ascendingPerm") { filelist->setSortFunc(filelist->ascendingPerm); } else if (sort_func == "ascendingPermMix") { filelist->setSortFunc(filelist->ascendingPermMix); } else if (sort_func == "descendingPerm") { filelist->setSortFunc(filelist->descendingPerm); } else if (sort_func == "descendingPermMix") { filelist->setSortFunc(filelist->descendingPermMix); } // Single click navigation if (single_click == SINGLE_CLICK_DIR_FILE) { filelist->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } // Status bar buttons key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); new FXToggleButton(statusbar, TAB+_("Show hidden files")+PARS(key), TAB+_("Hide hidden files")+PARS(key), showhiddenicon, hidehiddenicon, this->filelist, FileList::ID_TOGGLE_HIDDEN, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); new FXToggleButton(statusbar, TAB+_("Show thumbnails")+PARS(key), TAB+_("Hide thumbnails")+PARS(key), showthumbicon, hidethumbicon, this->filelist, FileList::ID_TOGGLE_THUMBNAILS, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT); new FXStatusBar(statusbar, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); new FXDragCorner(statusbar); // Toolbar button: Open file key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); new FXButton(toolbar, TAB+_("Open")+PARS(key)+TAB+_("Open image file.")+PARS(key), fileopenicon, this, ID_OPEN, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Toolbar button: Print key = getApp()->reg().readStringEntry("KEYBINDINGS", "print", "Ctrl-P"); new FXButton(toolbar, TAB+_("Print")+PARS(key)+TAB+_("Print image file.")+PARS(key), printicon, this, ID_PRINT, BUTTON_TOOLBAR|FRAME_RAISED); // Separator toolbarSeparator(toolbar); // Note : Ctrl+ and Ctrl- cannot be changed from the registry! // Toolbar button: Zoom in btn = new FXButton(toolbar, TAB+_("Zoom in")+PARS("Ctrl+")+TAB+_("Zoom in image.")+PARS("Ctrl+"), zoominicon, this, ID_ZOOM_IN, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); hotkey = (CONTROLMASK<<16) | KEY_KP_Add; btn->addHotKey(hotkey); // Toolbar button: Zoom out btn = new FXButton(toolbar, TAB+_("Zoom out")+PARS("Ctrl-")+TAB+_("Zoom out image.")+PARS("Ctrl-"), zoomouticon, this, ID_ZOOM_OUT, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); hotkey = (CONTROLMASK<<16) | KEY_KP_Subtract; btn->addHotKey(hotkey); // Toolbar button: Zoom 100% key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_100", "Ctrl-I"); new FXButton(toolbar, TAB+_("Zoom 100%")+PARS(key)+TAB+_("Zoom image to 100%.")+PARS(key), zoom100icon, this, ID_ZOOM_100, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Toolbar button: Zoom to fit window key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_win", "Ctrl-F"); new FXButton(toolbar, TAB+_("Zoom to fit")+PARS(key)+TAB+_("Zoom to fit window.")+PARS(key), zoomwinicon, this, ID_ZOOM_WIN, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Separator toolbarSeparator(toolbar); // Toolbar button: Rotate left key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_left", "Ctrl-L"); new FXButton(toolbar, TAB+_("Rotate left")+PARS(key)+TAB+_("Rotate left image.")+PARS(key), rotatelefticon, this, ID_ROTATE_90, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Toolbar button: Rotate right key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_right", "Ctrl-R"); new FXButton(toolbar, TAB+_("Rotate right")+PARS(key)+TAB+_("Rotate right image.")+PARS(key), rotaterighticon, this, ID_ROTATE_270, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Toolbar button: mirror horizontally key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_horizontally", "Ctrl-Shift-H"); new FXButton(toolbar, TAB+_("Mirror horizontally")+PARS(key)+TAB+_("Mirror image horizontally.")+PARS(key), fliplricon, this, ID_MIRROR_HOR, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // Toolbar button: mirror vertically key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_vertically", "Ctrl-Shift-V"); new FXButton(toolbar, TAB+_("Mirror vertically")+PARS(key)+TAB+_("Mirror image vertically.")+PARS(key), flipudicon, this, ID_MIRROR_VER, ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED); // File Menu entries FXMenuCommand* mc = NULL; FXString text; key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); text = _("&Open...")+TABS(key)+_("Open image file.")+PARS(key); mc = new FXMenuCommand(filemenu, text, fileopenicon, this, ID_OPEN); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "print", "Ctrl-P"); text = _("&Print...")+TABS(key)+_("Print image file.")+PARS(key); mc = new FXMenuCommand(filemenu, text, printicon, this, ID_PRINT); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Recent file menu; this automatically hides if there are no files FXMenuSeparator* sep1 = new FXMenuSeparator(filemenu); sep1->setTarget(&mrufiles); sep1->setSelector(FXRecentFiles::ID_ANYFILES); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_1); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_2); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_3); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_4); new FXMenuCommand(filemenu, FXString::null, NULL, &mrufiles, FXRecentFiles::ID_FILE_5); new FXMenuCommand(filemenu, _("&Clear recent files")+TAB2+_("Clear recent file menu."), NULL, &mrufiles, FXRecentFiles::ID_CLEAR); FXMenuSeparator* sep2 = new FXMenuSeparator(filemenu); sep2->setTarget(&mrufiles); sep2->setSelector(FXRecentFiles::ID_ANYFILES); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); text = _("&Quit")+TABS(key)+_("Quit Xfi.")+PARS(key); mc = new FXMenuCommand(filemenu, text, quiticon, this, ID_QUIT); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); getAccelTable()->addAccel(KEY_Escape, this, FXSEL(SEL_COMMAND, ID_QUIT)); // Image Menu entries new FXMenuCommand(imagemenu, _("Zoom &in")+TAB+(FXString)"Ctrl+"+TAB+_("Zoom in image.")+PARS("Ctrl+"), zoominicon, this, ID_ZOOM_IN); new FXMenuCommand(imagemenu, _("Zoom &out")+TAB+(FXString)"Ctrl-"+TAB+_("Zoom out image.")+PARS("Ctrl-"), zoomouticon, this, ID_ZOOM_OUT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_100", "Ctrl-I"); text = _("Zoo&m 100%")+TABS(key)+_("Zoom image to 100%.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, zoom100icon, this, ID_ZOOM_100); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "zoom_win", "Ctrl-F"); text = _("Zoom to fit &window")+TABS(key)+_("Zoom to fit window.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, zoomwinicon, this, ID_ZOOM_WIN); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_right", "Ctrl-R"); text = _("Rotate &right")+TABS(key)+_("Rotate right.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, rotaterighticon, this, ID_ROTATE_270); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rotate_left", "Ctrl-L"); text = _("Rotate &left")+TABS(key)+_("Rotate left.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, rotatelefticon, this, ID_ROTATE_90); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_horizontally", "Ctrl-Shift-H"); text = _("Mirror &horizontally")+TABS(key)+_("Mirror horizontally.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, fliplricon, this, ID_MIRROR_HOR); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "mirror_vertically", "Ctrl-Shift-V"); text = _("Mirror &vertically")+TABS(key)+_("Mirror vertically.")+PARS(key); mc = new FXMenuCommand(imagemenu, text, flipudicon, this, ID_MIRROR_VER); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // View Menu entries key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); text = _("&Hidden files")+TABS(key)+_("Show hidden files and folders.")+PARS(key); mc = new FXMenuCheck(viewmenu, text, this, ID_TOGGLE_HIDDEN); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); text = _("&Thumbnails")+TABS(key)+_("Show image thumbnails.")+PARS(key); mc = new FXMenuCheck(viewmenu, text, this, ID_TOGGLE_THUMBNAILS); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(viewmenu); key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); text = _("&Big icons")+TABS(key)+_("Display folders with big icons.")+PARS(key); mc = new FXMenuRadio(viewmenu, text, this, ID_SHOW_BIG_ICONS); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); text = _("&Small icons")+TABS(key)+_("Display folders with small icons.")+PARS(key); mc = new FXMenuRadio(viewmenu, text, this, ID_SHOW_MINI_ICONS); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); text = _("&Detailed file list")+TABS(key)+_("Display detailed folder listing.")+PARS(key); mc = new FXMenuRadio(viewmenu, text, this, ID_SHOW_DETAILS); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(viewmenu); mc = new FXMenuRadio(viewmenu, _("&Vertical panels"), this, XFileImage::ID_VERT_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); mc->setAccelText(key); mc = new FXMenuRadio(viewmenu, _("&Horizontal panels"), this, XFileImage::ID_HORZ_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); mc->setAccelText(key); new FXMenuSeparator(viewmenu); new FXMenuRadio(viewmenu, _("&Rows")+TAB2+_("View icons row-wise."), filelist, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(viewmenu, _("&Columns")+TAB2+_("View icons column-wise."), filelist, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(viewmenu, _("&Autosize")+TAB2+_("Autosize icon names."), filelist, FileList::ID_AUTOSIZE); // Preferences menu new FXMenuCheck(prefsmenu, _("&Toolbar")+TAB2+_("Display toolbar."), toolbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(prefsmenu, _("&File list")+TAB2+_("Display file list."), filebox, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(prefsmenu, _("File list &before")+TAB2+_("Display file list before image window."), this, ID_TOGGLE_FILELIST_BEFORE); new FXMenuCheck(prefsmenu, _("&Filter images")+TAB2+_("List only image files."), this, ID_TOGGLE_FILTER_IMAGES); new FXMenuCheck(prefsmenu, _("Fit &window when opening")+TAB2+_("Zoom to fit window when opening an image."), this, ID_TOGGLE_FIT_WIN); // Help Menu entries key = getApp()->reg().readStringEntry("KEYBINDINGS", "help", "F1"); text = _("&About X File Image")+TABS(key)+_("About X File Image.")+PARS(key); mc = new FXMenuCommand(helpmenu, text, NULL, this, ID_ABOUT, 0); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); // Close accelerator key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, XFileImage::ID_QUIT)); // Make a tool tip new FXToolTip(getApp(), TOOLTIP_NORMAL); // Images img = NULL; tmpimg = NULL; // Dialogs printdialog = NULL; // Recent files mrufiles.setTarget(this); mrufiles.setSelector(ID_RECENTFILE); // Initialize file name filename = ""; // Initialize some flags fileview = ID_SHOW_MINI_ICONS; hiddenfiles = false; // Initialize zoom to 100% indZoom = ZOOM_100; zoomval = zoomtab[indZoom]; fitwin = false; filterimgs = false; // Initialize previous window width / height prev_width = getWidth(); prev_height = getHeight(); } // Clean up XFileImage::~XFileImage() { delete toolbar; delete menubar; delete statusbar; delete filemenu; delete imagemenu; delete helpmenu; delete prefsmenu; delete viewmenu; delete dragshell1; delete pathlink; delete pathtext; delete filelist; delete img; delete tmpimg; delete printdialog; delete btnbackhist; delete btnforwardhist; } long XFileImage::onCmdPopupMenu(FXObject* o, FXSelector s, void* p) { // Popup menu pane FXMenuPane menu(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); new FXMenuCommand(&menu, _("Go ho&me"), homeicon, this, ID_GO_HOME); new FXMenuCommand(&menu, _("Go &work"), workicon, this, ID_GO_WORK); new FXMenuSeparator(&menu); new FXMenuCheck(&menu, _("&Hidden files"), this, ID_TOGGLE_HIDDEN); new FXMenuCheck(&menu, _("Thum&bnails"), this, ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("B&ig icons"), this, ID_SHOW_BIG_ICONS); new FXMenuRadio(&menu, _("&Small icons"), this, ID_SHOW_MINI_ICONS); new FXMenuRadio(&menu, _("Fu&ll file list"), this, ID_SHOW_DETAILS); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("&Rows"), filelist, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(&menu, _("&Columns"), filelist, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(&menu, _("Autosize"), filelist, FileList::ID_AUTOSIZE); new FXMenuSeparator(&menu); new FXMenuRadio(&menu, _("&Name"), filelist, FileList::ID_SORT_BY_NAME); new FXMenuRadio(&menu, _("Si&ze"), filelist, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(&menu, _("&Type"), filelist, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(&menu, _("E&xtension"), filelist, FileList::ID_SORT_BY_EXT); new FXMenuRadio(&menu, _("&Date"), filelist, FileList::ID_SORT_BY_TIME); new FXMenuRadio(&menu, _("&User"), filelist, FileList::ID_SORT_BY_USER); new FXMenuRadio(&menu, _("&Group"), filelist, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(&menu, _("&Permissions"), filelist, FileList::ID_SORT_BY_PERM); new FXMenuSeparator(&menu); new FXMenuCheck(&menu, _("Ignore c&ase"), filelist, FileList::ID_SORT_CASE); new FXMenuCheck(&menu, _("Fold&ers first"), filelist, FileList::ID_DIRS_FIRST); new FXMenuCheck(&menu, _("Re&verse order"), filelist, FileList::ID_SORT_REVERSE); menu.create(); allowPopupScroll = true; // Allow keyboard scrolling menu.popup(NULL, x, y); getApp()->runModalWhileShown(&menu); allowPopupScroll = false; return(1); } // If Shift-F10 or Menu is pressed, opens the popup menu long XFileImage::onKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; // Shift-F10 or Menu was pressed : open popup menu if ((event->state&SHIFTMASK && event->code == KEY_F10) || event->code == KEY_Menu) { this->handle(sender, FXSEL(SEL_COMMAND, XFileImage::ID_POPUP_MENU), ptr); return(1); } // Any other key was pressed : handle the pressed key in the usual way else { if (FXTopWindow::onKeyPress(sender, sel, ptr)) { return(1); } } return(0); } long XFileImage::onKeyRelease(FXObject* sender, FXSelector sel, void* ptr) { if (FXTopWindow::onKeyRelease(sender, sel, ptr)) { return(1); } return(0); } // User clicked up directory button long XFileImage::onCmdDirUp(FXObject*, FXSelector, void*) { filelist->setDirectory(FXPath::upLevel(filelist->getDirectory())); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); filelist->setFocus(); return(1); } // Can we still go up long XFileImage::onUpdDirUp(FXObject* sender, FXSelector, void*) { if (FXPath::isTopDirectory(filelist->getDirectory())) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), NULL); } return(1); } // Directory back long XFileImage::onCmdDirBack(FXObject*, FXSelector s, void* p) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = filelist->backhist; forwardhist = filelist->forwardhist; // Get the previous directory item = backhist->getFirst(); if (item) { pathname = backhist->getString(item); } // Update the history backhist->removeFirstItem(); forwardhist->insertFirstItem(filelist->getDirectory()); // Go to to the previous directory filelist->setDirectory(pathname, false); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); filelist->setFocus(); return(1); } // Update directory back long XFileImage::onUpdDirBack(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist; FXString pathname; // Get the filelist history backhist = filelist->backhist; // Gray out the button if no item in history if (backhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward long XFileImage::onCmdDirForward(FXObject*, FXSelector s, void* p) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = filelist->backhist; forwardhist = filelist->forwardhist; // Get the next directory item = forwardhist->getFirst(); if (item) { pathname = forwardhist->getString(item); } // Update the history forwardhist->removeFirstItem(); backhist->insertFirstItem(filelist->getDirectory()); // Go to to the previous directory filelist->setDirectory(pathname, false); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); filelist->setFocus(); return(1); } // Update directory forward long XFileImage::onUpdDirForward(FXObject* sender, FXSelector sel, void* ptr) { StringList* forwardhist; FXString pathname; // Get the filelist history forwardhist = filelist->forwardhist; // Gray out the button if no item in history if (forwardhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory back history long XFileImage::onCmdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = filelist->backhist; forwardhist = filelist->forwardhist; // Get all string items and display them in a list box int num = backhist->getNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = backhist->getFirst(); for (int i = 0; i <= num-1; i++) { if (item) { FXString str = backhist->getString(item); dirs[i] = str; strlist = strlist+str+"\n"; item = backhist->getNext(item); } } // Display list box int pos = DirHistBox::box(btnbackhist, DECOR_NONE, strlist, this->getX()+245, this->getY()+37); // If an item was selected if (pos != -1) { // Update back history if (pos == num-1) { backhist->removeAllItems(); } else { item = backhist->getItemAtPos(pos+1); backhist->removeAllItemsBefore(item); } // Update forward history forwardhist->insertFirstItem(filelist->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { forwardhist->insertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; filelist->setDirectory(pathname, false); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); } delete[]dirs; } return(1); } // Update directory back long XFileImage::onUpdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist; FXString pathname; // Get the filelist history backhist = filelist->backhist; // Gray out the button if no item in history if (backhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward history long XFileImage::onCmdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* backhist, *forwardhist; StringItem* item; FXString pathname; // Get the filelist history backhist = filelist->backhist; forwardhist = filelist->forwardhist; // Get all string items and display them in a list box int num = forwardhist->getNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = forwardhist->getFirst(); for (int i = 0; i <= num-1; i++) { if (item) { FXString str = forwardhist->getString(item); dirs[i] = str; strlist = strlist+str+"\n"; item = forwardhist->getNext(item); } } // Display list box int pos = DirHistBox::box(btnforwardhist, DECOR_NONE, strlist, this->getX()+285, this->getY()+37); // If an item was selected if (pos != -1) { // Update forward history if (pos == num-1) { forwardhist->removeAllItems(); } else { item = forwardhist->getItemAtPos(pos+1); forwardhist->removeAllItemsBefore(item); } // Update back history backhist->insertFirstItem(filelist->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { backhist->insertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; filelist->setDirectory(pathname, false); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); } delete[]dirs; } return(1); } // Update directory forward long XFileImage::onUpdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { StringList* forwardhist; FXString pathname; // Get the filelist history forwardhist = filelist->forwardhist; // Gray out the button if no item in history if (forwardhist->getNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Back to home directory long XFileImage::onCmdHome(FXObject*, FXSelector, void*) { filelist->setDirectory(FXSystem::getHomeDirectory()); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); filelist->setFocus(); return(1); } // Back to current working directory long XFileImage::onCmdWork(FXObject*, FXSelector, void*) { filelist->setDirectory(FXSystem::getCurrentDirectory()); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); filelist->setFocus(); return(1); } // About box long XFileImage::onCmdAbout(FXObject*, FXSelector, void*) { FXString msg; msg.format(_("X File Image Version %s is a simple image viewer.\n\n"), VERSION); msg += COPYRIGHT; MessageBox about(this, _("About X File Image"), msg.text(), xfiicon, BOX_OK|DECOR_TITLE|DECOR_BORDER, JUSTIFY_CENTER_X|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); about.execute(PLACEMENT_OWNER); filelist->setFocus(); return(1); } // Load file FXbool XFileImage::loadimage(const FXString& file) { FXString ext = FXPath::extension(file); FILE* fp = fopen(file.text(), "r"); if (!fp) { MessageBox::error(this, BOX_OK, _("Error Loading File"), _("Unable to open file: %s"), file.text()); return(false); } else { fclose(fp); } // Free old image if any, before loading a new one if (img) { delete img; img = NULL; } if (tmpimg) { delete tmpimg; tmpimg = NULL; } if (comparecase(ext, "gif") == 0) { img = new FXGIFImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXGIFImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "bmp") == 0) { img = new FXBMPImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXBMPImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "xpm") == 0) { img = new FXXPMImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXXPMImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "pcx") == 0) { img = new FXPCXImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXPCXImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if ((comparecase(ext, "ico") == 0) || (comparecase(ext, "cur") == 0)) { img = new FXICOImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXICOImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "tga") == 0) { img = new FXTGAImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXTGAImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "rgb") == 0) { img = new FXRGBImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "xbm") == 0) { img = new FXXBMImage(getApp(), NULL, NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXXBMImage(getApp(), NULL, NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "ppm") == 0) { img = new FXPPMImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXPPMImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if (comparecase(ext, "png") == 0) { img = new FXPNGImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXPNGImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if ((comparecase(ext, "jpg") == 0) || (comparecase(ext, "jpeg") == 0)) { img = new FXJPGImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXJPGImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else if ((comparecase(ext, "tif") == 0) || (comparecase(ext, "tiff") == 0)) { img = new FXTIFImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); tmpimg = new FXTIFImage(getApp(), NULL, IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP); } else { img = NULL; tmpimg = NULL; } // Perhaps failed if (img == NULL) { MessageBox::error(this, BOX_OK, _("Error Loading Image"), _("Unsupported type: %s"), ext.text()); return(false); } if (tmpimg == NULL) { MessageBox::error(this, BOX_OK, _("Error Loading Image"), _("Unsupported type: %s"), ext.text()); return(false); } // Load it FXFileStream stream; if (stream.open(file, FXStreamLoad)) { getApp()->beginWaitCursor(); FXbool res = img->loadPixels(stream); stream.close(); // If failed if (!res) { MessageBox::error(this, BOX_OK, _("Error Loading Image"), _("Unable to load image, the file may be corrupted")); getApp()->endWaitCursor(); return(false); } if (!FXMEMDUP(&tmpdata, img->getData(), FXColor, img->getWidth()*img->getHeight())) { throw FXMemoryException(_("Unable to load image")); } tmpimg->setData(tmpdata, IMAGE_OWNED, img->getWidth(), img->getHeight()); img->create(); tmpimg->create(); imageview->setImage(tmpimg); // Initial zoom and image format indZoom = ZOOM_100; zoomval = zoomtab[indZoom]; getApp()->endWaitCursor(); // Zoom to fit window if asked if (fitwin) { handle(this, FXSEL(SEL_COMMAND, ID_ZOOM_WIN), NULL); } } filelist->setDirectory(FXPath::directory(file)); pathlink->setPath(filelist->getDirectory()); pathtext->setText(filelist->getDirectory()); return(true); } // Toggle file list before image long XFileImage::onCmdToggleFileListBefore(FXObject* sender, FXSelector, void*) { filelistbefore = !filelistbefore; if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Change will be taken into account after restart.\nRestart X File Image now?"))) { this->handle(this, FXSEL(SEL_COMMAND, XFileImage::ID_RESTART), NULL); } return(1); } // Update file list before image long XFileImage::onUpdToggleFileListBefore(FXObject* sender, FXSelector, void*) { if (filebox->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), NULL); if (filelistbefore) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), NULL); } return(1); } // Toggle zoom to fit window on startup long XFileImage::onCmdToggleFitWin(FXObject*, FXSelector, void*) { fitwin = !fitwin; filelist->setFocus(); return(1); } // Update toggle wrap mode long XFileImage::onUpdToggleFitWin(FXObject* sender, FXSelector, void*) { if (fitwin) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Toggle filter image files long XFileImage::onCmdToggleFilterImages(FXObject*, FXSelector, void*) { filterimgs = !filterimgs; if (filterimgs) { filelist->setPattern(imgpatterns); } else { filelist->setPattern("*"); } filelist->setFocus(); return(1); } // Update filter image files long XFileImage::onUpdToggleFilterImages(FXObject* sender, FXSelector, void*) { // Disable menu item if the file list is not shown if (filebox->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); // Update menu item if (filterimgs) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); // Update menu item if (filterimgs) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } } return(1); } // Open long XFileImage::onCmdOpen(FXObject*, FXSelector, void*) { FileDialog opendialog(this, _("Open Image")); opendialog.setSelectMode(SELECTFILE_EXISTING); opendialog.setPatternList(patterns); opendialog.setDirectory(filelist->getDirectory()); if (opendialog.execute()) { filename = opendialog.getFilename(); filelist->setCurrentFile(filename); mrufiles.appendFile(filename); loadimage(filename); } return(1); } // Print the text long XFileImage::onCmdPrint(FXObject*, FXSelector, void*) { // Read the current print command from the registry FXString printcommand, command; printcommand = getApp()->reg().readStringEntry("OPTIONS", "print_command", "lpr -P printer"); // Open print dialog filled with the current print command int rc = 1; if (printdialog == NULL) { printdialog = new InputDialog(this, printcommand, _("Print command: \n(ex: lpr -P )"), _("Print"), "", printbigicon); } printdialog->setText(printcommand); printdialog->CursorEnd(); rc = printdialog->execute(PLACEMENT_CURSOR); printcommand = printdialog->getText(); // If cancel was pressed, exit if (!rc) { return(0); } // Write the new print command to the registry getApp()->reg().writeStringEntry("OPTIONS", "print_command", printcommand.text()); // Perform the print command command = "cat " + filename + " |" + printcommand + " &"; int ret = system(command.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), command.text()); return(0); } return(1); } // Handle toggle hidden command long XFileImage::onCmdToggleHidden(FXObject* sender, FXSelector sel, void* ptr) { filelist->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_TOGGLE_HIDDEN), ptr); filelist->setFocus(); return(1); } // Update toggle hidden command long XFileImage::onUpdToggleHidden(FXObject* sender, FXSelector sel, void* ptr) { FXuint msg = FXWindow::ID_UNCHECK; hiddenfiles = filelist->shownHiddenFiles(); if (hiddenfiles == true) { msg = FXWindow::ID_CHECK; } sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); // Disable menu item if the file list is not shown if (filebox->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Handle toggle hidden command long XFileImage::onCmdToggleThumbnails(FXObject* sender, FXSelector sel, void* ptr) { filelist->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_TOGGLE_THUMBNAILS), ptr); filelist->setFocus(); return(1); } // Update toggle hidden command long XFileImage::onUpdToggleThumbnails(FXObject* sender, FXSelector sel, void* ptr) { FXuint msg = FXWindow::ID_UNCHECK; thumbnails = filelist->shownThumbnails(); if (thumbnails == true) { msg = FXWindow::ID_CHECK; } sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); // Disable menu item if the file list is not shown if (filebox->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Show mini icons in file list long XFileImage::onCmdShowMini(FXObject*, FXSelector, void*) { fileview = ID_SHOW_MINI_ICONS; filelist->handle(this, FXSEL(SEL_COMMAND, FileList::ID_SHOW_MINI_ICONS), NULL); filelist->setFocus(); return(1); } // Show big icons in file list long XFileImage::onCmdShowBig(FXObject*, FXSelector, void*) { fileview = ID_SHOW_BIG_ICONS; filelist->handle(this, FXSEL(SEL_COMMAND, FileList::ID_SHOW_BIG_ICONS), NULL); filelist->setFocus(); return(1); } // Show details in file list long XFileImage::onCmdShowDetails(FXObject*, FXSelector, void*) { fileview = ID_SHOW_DETAILS; filelist->handle(this, FXSEL(SEL_COMMAND, FileList::ID_SHOW_DETAILS), NULL); filelist->setFocus(); return(1); } // Update filelist long XFileImage::onUpdFileView(FXObject* sender, FXSelector sel, void* ptr) { // Keep the filebox width / height relative to the window width / height // Get the current width and height int width = getWidth(); int height = getHeight(); // Panel stacked horizontally if (vertpanels) { if (relative_resize && (prev_width != width)) { // File box shown if (filebox->shown()) { filebox->setWidth((int)round(filewidth_pct*width)); } } // Update the relative width (only if window width is sufficient) prev_width = width; if (getWidth() > 10) { filewidth_pct = (double)(filebox->getWidth())/(double)(getWidth()); } } // Panel stacked vertically else { if (relative_resize && (prev_height != height)) { // File box shown if (filebox->shown()) { filebox->setHeight((int)round(fileheight_pct*height)); } } // Update the relative height (only if window height is sufficient) prev_height = height; if (getHeight() > 10) { fileheight_pct = (double)(filebox->getHeight())/(double)(getHeight()); } } // Update radio buttons FXuint msg = FXWindow::ID_UNCHECK; switch (FXSELID(sel)) { case ID_SHOW_MINI_ICONS: if (fileview == ID_SHOW_MINI_ICONS) { msg = FXWindow::ID_CHECK; } break; case ID_SHOW_BIG_ICONS: if (fileview == ID_SHOW_BIG_ICONS) { msg = FXWindow::ID_CHECK; } break; case ID_SHOW_DETAILS: if (fileview == ID_SHOW_DETAILS) { msg = FXWindow::ID_CHECK; } break; } sender->handle(this, FXSEL(SEL_COMMAND, msg), NULL); // Disable menus items if the file list is not shown if (filebox->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Harvest the zombies long XFileImage::onSigHarvest(FXObject*, FXSelector, void*) { while (waitpid(-1, NULL, WNOHANG) > 0) { } return(1); } // Quit long XFileImage::onCmdQuit(FXObject*, FXSelector, void*) { // Save settings saveConfig(); // Quit getApp()->exit(EXIT_SUCCESS); return(1); } // Update title (display image size and actual zoom) long XFileImage::onUpdTitle(FXObject* sender, FXSelector, void*) { FXString title = "Xfi " + filename; FXImage* image = imageview->getImage(); if (image && (img != NULL)) { title += " (" + FXStringVal(img->getWidth()) + "x" + FXStringVal(img->getHeight()) + " - " + FXStringVal(zoomval*100) + "%" ")"; } sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SETSTRINGVALUE), (void*)&title); return(1); } // Open recent file long XFileImage::onCmdRecentFile(FXObject*, FXSelector, void* ptr) { filename = (char*)ptr; filelist->setCurrentFile(filename); loadimage(filename); return(1); } // Double clicked in the file list long XFileImage::onCmdItemDoubleClicked(FXObject*, FXSelector, void* ptr) { int index = (int)(FXival)ptr; if (0 <= index) { if (filelist->isItemDirectory(index)) { FXString pathname = filelist->getItemPathname(index); // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK, _("Error"), _(" Permission to: %s denied."), pathname.text()); return(0); } filelist->setDirectory(pathname); pathlink->setPath(pathname); pathtext->setText(pathname); } else if (filelist->isItemFile(index)) { filename = filelist->getItemPathname(index); mrufiles.appendFile(filename); loadimage(filename); filelist->setCurrentItem(index); } } return(1); } // Single clicked in the file list long XFileImage::onCmdItemClicked(FXObject* sender, FXSelector sel, void* ptr) { if (single_click != SINGLE_CLICK_NONE) { // In detailed mode, avoid single click when cursor is not over the first column int x, y; FXuint state; filelist->getCursorPosition(x, y, state); FXbool allow = true; if (!(filelist->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-filelist->getXPosition()) > filelist->getHeaderSize(0))) { allow = false; } int index = (int)(FXival)ptr; if (0 <= index) { if ((single_click != SINGLE_CLICK_NONE) && filelist->isItemDirectory(index) && allow) { FXString pathname = filelist->getItemPathname(index); // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK, _("Error"), _(" Permission to: %s denied."), pathname.text()); return(0); } filelist->setDirectory(pathname); pathlink->setPath(pathname); pathtext->setText(pathname); } else if ((single_click == SINGLE_CLICK_DIR_FILE) && filelist->isItemFile(index) && allow) { filename = filelist->getItemPathname(index); mrufiles.appendFile(filename); loadimage(filename); filelist->setCurrentItem(index); } } } return(1); } // Rotate image long XFileImage::onCmdRotate(FXObject*, FXSelector sel, void*) { getApp()->beginWaitCursor(); FXImage* image = imageview->getImage(); switch (FXSELID(sel)) { case ID_ROTATE_90: // Rotate the actual image image->rotate(90); // Need to also rotate the original image only if the actual size is different if ((image->getWidth() != img->getWidth()) || (image->getHeight() != img->getHeight())) { img->rotate(90); } break; case ID_ROTATE_270: // Rotate the actual image image->rotate(270); // Need to also rotate the original image only if the actual size is different if ((image->getWidth() != img->getWidth()) || (image->getHeight() != img->getHeight())) { img->rotate(270); } break; } imageview->setImage(image); filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Update image long XFileImage::onUpdImage(FXObject* sender, FXSelector, void*) { if (imageview->getImage()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Mirror image long XFileImage::onCmdMirror(FXObject*, FXSelector sel, void*) { getApp()->beginWaitCursor(); FXImage* image = imageview->getImage(); switch (FXSELID(sel)) { case ID_MIRROR_HOR: // Mirror the actual image image->mirror(true, false); // Need to also mirror the original image only if the actual size is different if ((image->getWidth() != img->getWidth()) || (image->getHeight() != img->getHeight())) { img->mirror(true, false); } break; case ID_MIRROR_VER: // Mirror the actual image image->mirror(false, true); // Need to also mirror the original image only if the actual size is different if ((image->getWidth() != img->getWidth()) || (image->getHeight() != img->getHeight())) { img->mirror(false, true); } break; } imageview->setImage(image); filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Zoom in image long XFileImage::onCmdZoomIn(FXObject*, FXSelector, void*) { getApp()->beginWaitCursor(); // Copy the original image into the actual one if (!FXMEMDUP(&tmpdata, img->getData(), FXColor, img->getWidth()*img->getHeight())) { throw FXMemoryException(_("Unable to load image")); } tmpimg->setData(tmpdata, IMAGE_OWNED, img->getWidth(), img->getHeight()); // Resize the actual image according to the new zoom factor indZoom += 1; if (indZoom > NB_ZOOM-1) { indZoom = NB_ZOOM-1; } int sx = (int)(tmpimg->getWidth()*zoomtab[indZoom]); int sy = (int)(tmpimg->getHeight()*zoomtab[indZoom]); // Scale only if the actual image size is different if (indZoom == ZOOM_100) { imageview->setImage(img); } else { // Maximum zoom allowed if ((sx > MAX_IMGSIZE) || (sy > MAX_IMGSIZE)) { indZoom -= 1; if (indZoom < 0) { indZoom = 0; } sx = (int)(tmpimg->getWidth()*zoomtab[indZoom]); sy = (int)(tmpimg->getHeight()*zoomtab[indZoom]); } // Scale image according to the new zoom factor tmpimg->scale(sx, sy, 1); imageview->setImage(tmpimg); } // Set zoom value for window title zoomval = zoomtab[indZoom]; filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Zoom out image long XFileImage::onCmdZoomOut(FXObject*, FXSelector, void*) { getApp()->beginWaitCursor(); // Copy the original image into the actual one if (!FXMEMDUP(&tmpdata, img->getData(), FXColor, img->getWidth()*img->getHeight())) { throw FXMemoryException(_("Unable to load image")); } tmpimg->setData(tmpdata, IMAGE_OWNED, img->getWidth(), img->getHeight()); // Resize the image according to the new zoom factor indZoom -= 1; if (indZoom < 0) { indZoom = 0; } int sx = (int)(tmpimg->getWidth()*zoomtab[indZoom]); int sy = (int)(tmpimg->getHeight()*zoomtab[indZoom]); // Scale only if the actual image size is different if (indZoom == ZOOM_100) { imageview->setImage(img); } else { // Scale image according to the new zoom factor tmpimg->scale(sx, sy, 1); imageview->setImage(tmpimg); } // Set zoom value for window title zoomval = zoomtab[indZoom]; filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Zoom to 100% long XFileImage::onCmdZoom100(FXObject*, FXSelector, void*) { getApp()->beginWaitCursor(); indZoom = ZOOM_100; zoomval = zoomtab[indZoom]; imageview->setImage(img); filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Zoom to fit window long XFileImage::onCmdZoomWin(FXObject*, FXSelector, void*) { getApp()->beginWaitCursor(); // Window and image sizes int winw = imageview->getWidth(); int winh = imageview->getHeight(); int w = img->getWidth(); int h = img->getHeight(); // Compute zoom factor double fitwin; if (double(w)/double(h) > double(winw)/double(winh)) { fitwin = 0.98*(double)winw/(double)w; } else { fitwin = 0.98*(double)winh/(double)h; } // Find the most approaching predefined zoom // This is used in other zoom functions for (int k = 0; k < NB_ZOOM; k++) { if (zoomtab[k] > fitwin) { indZoom = k-1; break; } } if (indZoom < 0) { indZoom = 0; } if (indZoom >= NB_ZOOM) { indZoom = NB_ZOOM-1; } // Copy the original image into the actual one if (!FXMEMDUP(&tmpdata, img->getData(), FXColor, img->getWidth()*img->getHeight())) { throw FXMemoryException(_("Unable to load image")); } tmpimg->setData(tmpdata, IMAGE_OWNED, img->getWidth(), img->getHeight()); // Resize the image according to the new zoom factor int sx = (int)(w*fitwin); int sy = (int)(h*fitwin); // Scale image according to the new zoom factor tmpimg->scale(sx, sy, 1); imageview->setImage(tmpimg); // Set zoom value for window title zoomval = fitwin; filelist->setFocus(); getApp()->endWaitCursor(); return(1); } // Restart the application when required long XFileImage::onCmdRestart(FXObject*, FXSelector, void*) { saveConfig(); if (fork() == 0) // Child { execvp("xfi", args); } else // Parent { exit(EXIT_SUCCESS); } return(1); } // Start the ball rolling void XFileImage::start(FXString startimage) { filename = startimage; if (filename != "") { loadimage(filename); } } // Create and show window void XFileImage::create() { // Get size and position FXuint ww = getApp()->reg().readUnsignedEntry("OPTIONS", "width", DEFAULT_WINDOW_WIDTH); // Workaround for a possible bug in some WMs FXuint hh = getApp()->reg().readUnsignedEntry("OPTIONS", "height", DEFAULT_WINDOW_HEIGHT); // Workaround for a possible bug in some WMs filewidth_pct = getApp()->reg().readRealEntry("OPTIONS", "filewidth_pct", 0.25); fileheight_pct = getApp()->reg().readRealEntry("OPTIONS", "fileheight_pct", 0.25); FXuint fs = getApp()->reg().readIntEntry("OPTIONS", "filesshown", true); filelist->setDirectory(FXSystem::getCurrentDirectory()); pathlink->setPath(FXSystem::getCurrentDirectory()); pathtext->setText(FXSystem::getCurrentDirectory()); // Display or hide path linker and path text if (show_pathlink) { pathtext->hide(); pathlink->show(); } else { pathlink->hide(); pathtext->show(); } // Hide tree if asked for if (!fs) { filebox->hide(); } // Set toolbar status if (getApp()->reg().readUnsignedEntry("OPTIONS", "showtoolbar", true) == false) { toolbar->hide(); } // Set status bar status if (getApp()->reg().readUnsignedEntry("OPTIONS", "showstatusbar", true) == false) { statusbar->hide(); } // Set hidden file status hiddenfiles = getApp()->reg().readUnsignedEntry("OPTIONS", "hiddenfiles", 0); filelist->showHiddenFiles(hiddenfiles); // Set thumbnails status thumbnails = getApp()->reg().readUnsignedEntry("OPTIONS", "thumbnails", 0); filelist->showThumbnails(thumbnails); // Set list style liststyle = getApp()->reg().readUnsignedEntry("OPTIONS", "liststyle", _ICONLIST_MINI_ICONS); filelist->setListStyle(liststyle|_ICONLIST_BROWSESELECT); // Set file view fileview = getApp()->reg().readUnsignedEntry("OPTIONS", "fileview", ID_SHOW_MINI_ICONS); this->handle(this, FXSEL(SEL_COMMAND, fileview), NULL); // Set startup zoom fitwin = getApp()->reg().readUnsignedEntry("OPTIONS", "fitwin", 0); // Set filter images flag filterimgs = getApp()->reg().readUnsignedEntry("OPTIONS", "filterimgs", false); // Set position and position window if (save_win_pos) { int xpos = getApp()->reg().readIntEntry("OPTIONS", "xpos", DEFAULT_WINDOW_XPOS); int ypos = getApp()->reg().readIntEntry("OPTIONS", "ypos", DEFAULT_WINDOW_YPOS); position(xpos, ypos, ww, hh); } else { position(getX(), getY(), ww, hh); } FXMainWindow::create(); if (filterimgs) { filelist->setPattern(imgpatterns); } // Set filebox width or height if (vertpanels) { filebox->setWidth((int)round(filewidth_pct*getWidth())); } else { filebox->setHeight((int)round(fileheight_pct*getHeight())); } // Set focus on file list filelist->setFocus(); show(); #ifdef STARTUP_NOTIFICATION startup_completed(); #endif } // Switch between vertical and horizontal panels long XFileImage::onCmdHorzVertPanels(FXObject* sender, FXSelector sel, void* ptr) { switch (FXSELID(sel)) { case ID_VERT_PANELS: splitter->setSplitterStyle(splitter->getSplitterStyle()&~SPLITTER_VERTICAL); vertpanels = true; break; case ID_HORZ_PANELS: splitter->setSplitterStyle(splitter->getSplitterStyle()|SPLITTER_VERTICAL); vertpanels = false; break; } filelist->setFocus(); return(1); } // Update the horizontal / vertical panel radio menus long XFileImage::onUpdHorzVertPanels(FXObject* sender, FXSelector sel, void* ptr) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), ptr); if (vertpanels) { if (FXSELID(sel) == ID_HORZ_PANELS) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_UNCHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_CHECK), ptr); } } else { if (FXSELID(sel) == ID_VERT_PANELS) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_UNCHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_CHECK), ptr); } } return(1); } // Save configuration when quitting void XFileImage::saveConfig() { // Write new window size and position back to registry getApp()->reg().writeUnsignedEntry("OPTIONS", "width", (FXuint)getWidth()); getApp()->reg().writeUnsignedEntry("OPTIONS", "height", (FXuint)getHeight()); if (save_win_pos) { // Account for the Window Manager border size XWindowAttributes xwattr; if (XGetWindowAttributes((Display*)getApp()->getDisplay(), this->id(), &xwattr)) { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()-xwattr.x); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()-xwattr.y); } else { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()); } } // Width and height of filebox getApp()->reg().writeRealEntry("OPTIONS", "filewidth_pct", (int)(filewidth_pct*100)/100.0); getApp()->reg().writeRealEntry("OPTIONS", "fileheight_pct", (int)(fileheight_pct*100)/100.0); // Was filebox shown getApp()->reg().writeIntEntry("OPTIONS", "filesshown", filebox->shown()); // Toolbar status if (toolbar->shown()) { getApp()->reg().writeUnsignedEntry("OPTIONS", "showtoolbar", true); } else { getApp()->reg().writeUnsignedEntry("OPTIONS", "showtoolbar", false); } // Hidden files status getApp()->reg().writeUnsignedEntry("OPTIONS", "hiddenfiles", hiddenfiles); // Thumbnails status getApp()->reg().writeUnsignedEntry("OPTIONS", "thumbnails", thumbnails); // File view getApp()->reg().writeUnsignedEntry("OPTIONS", "fileview", fileview); // List style getApp()->reg().writeUnsignedEntry("OPTIONS", "liststyle", filelist->getListStyle()); // Startup zoom getApp()->reg().writeUnsignedEntry("OPTIONS", "fitwin", fitwin); // Filter images in file list getApp()->reg().writeUnsignedEntry("OPTIONS", "filterimgs", filterimgs); // Filelist columns sizes getApp()->reg().writeUnsignedEntry("OPTIONS", "name_size", filelist->getHeaderSize(0)); getApp()->reg().writeUnsignedEntry("OPTIONS", "size_size", filelist->getHeaderSize(1)); getApp()->reg().writeUnsignedEntry("OPTIONS", "type_size", filelist->getHeaderSize(2)); getApp()->reg().writeUnsignedEntry("OPTIONS", "ext_size", filelist->getHeaderSize(3)); getApp()->reg().writeUnsignedEntry("OPTIONS", "modd_size", filelist->getHeaderSize(4)); getApp()->reg().writeUnsignedEntry("OPTIONS", "user_size", filelist->getHeaderSize(5)); getApp()->reg().writeUnsignedEntry("OPTIONS", "grou_size", filelist->getHeaderSize(6)); getApp()->reg().writeUnsignedEntry("OPTIONS", "attr_size", filelist->getHeaderSize(7)); // Panel stacking getApp()->reg().writeUnsignedEntry("OPTIONS", "filelist_before", filelistbefore); getApp()->reg().writeUnsignedEntry("OPTIONS", "vert_panels", vertpanels); // Get and write sort function for search window FXString sort_func; if (filelist->getSortFunc() == filelist->ascendingCase) { sort_func = "ascendingCase"; } if (filelist->getSortFunc() == filelist->ascendingCaseMix) { sort_func = "ascendingCaseMix"; } else if (filelist->getSortFunc() == filelist->descendingCase) { sort_func = "descendingCase"; } else if (filelist->getSortFunc() == filelist->descendingCaseMix) { sort_func = "descendingCaseMix"; } else if (filelist->getSortFunc() == filelist->ascending) { sort_func = "ascending"; } else if (filelist->getSortFunc() == filelist->ascendingMix) { sort_func = "ascendingMix"; } else if (filelist->getSortFunc() == filelist->descending) { sort_func = "descending"; } else if (filelist->getSortFunc() == filelist->descendingMix) { sort_func = "descendingMix"; } else if (filelist->getSortFunc() == filelist->ascendingSize) { sort_func = "ascendingSize"; } else if (filelist->getSortFunc() == filelist->ascendingSizeMix) { sort_func = "ascendingSizeMix"; } else if (filelist->getSortFunc() == filelist->descendingSize) { sort_func = "descendingSize"; } else if (filelist->getSortFunc() == filelist->descendingSizeMix) { sort_func = "descendingSizeMix"; } else if (filelist->getSortFunc() == filelist->ascendingType) { sort_func = "ascendingType"; } else if (filelist->getSortFunc() == filelist->ascendingTypeMix) { sort_func = "ascendingTypeMix"; } else if (filelist->getSortFunc() == filelist->descendingType) { sort_func = "descendingType"; } else if (filelist->getSortFunc() == filelist->descendingTypeMix) { sort_func = "descendingTypeMix"; } else if (filelist->getSortFunc() == filelist->ascendingExt) { sort_func = "ascendingExt"; } else if (filelist->getSortFunc() == filelist->ascendingExtMix) { sort_func = "ascendingExtMix"; } else if (filelist->getSortFunc() == filelist->descendingExt) { sort_func = "descendingExt"; } else if (filelist->getSortFunc() == filelist->descendingExtMix) { sort_func = "descendingExtMix"; } else if (filelist->getSortFunc() == filelist->ascendingTime) { sort_func = "ascendingTime"; } else if (filelist->getSortFunc() == filelist->ascendingTimeMix) { sort_func = "ascendingTimeMix"; } else if (filelist->getSortFunc() == filelist->descendingTime) { sort_func = "descendingTime"; } else if (filelist->getSortFunc() == filelist->descendingTimeMix) { sort_func = "descendingTimeMix"; } else if (filelist->getSortFunc() == filelist->ascendingUser) { sort_func = "ascendingUser"; } else if (filelist->getSortFunc() == filelist->ascendingUserMix) { sort_func = "ascendingUserMix"; } else if (filelist->getSortFunc() == filelist->descendingUser) { sort_func = "descendingUser"; } else if (filelist->getSortFunc() == filelist->descendingUserMix) { sort_func = "descendingUserMix"; } else if (filelist->getSortFunc() == filelist->ascendingGroup) { sort_func = "ascendingGroup"; } else if (filelist->getSortFunc() == filelist->ascendingGroupMix) { sort_func = "ascendingGroupMix"; } else if (filelist->getSortFunc() == filelist->descendingGroup) { sort_func = "descendingGroup"; } else if (filelist->getSortFunc() == filelist->descendingGroupMix) { sort_func = "descendingGroupMix"; } else if (filelist->getSortFunc() == filelist->ascendingPerm) { sort_func = "ascendingPerm"; } else if (filelist->getSortFunc() == filelist->ascendingPermMix) { sort_func = "ascendingPermMix"; } else if (filelist->getSortFunc() == filelist->descendingPerm) { sort_func = "descendingPerm"; } else if (filelist->getSortFunc() == filelist->descendingPermMix) { sort_func = "descendingPermMix"; } else { sort_func = "ascendingCase"; } getApp()->reg().writeStringEntry("OPTIONS", "sort_func", sort_func.text()); // Write registry settings getApp()->reg().write(); } // Usage message #define USAGE_MSG _("\ \nUsage: xfi [options] [image] \n\ \n\ [options] can be any of the following:\n\ \n\ -h, --help Print (this) help screen and exit.\n\ -v, --version Print version information and exit.\n\ \n\ [image] is the path to the image file you want to open on start up.\n\ \n") // Start the whole thing int main(int argc, char* argv[]) { int i; FXString startimage = ""; const char* appname = "xfi"; const char* xfename = XFEAPPNAME; const char* vdrname = XFEVDRNAME; FXbool loadicons; FXString xmodifiers; // Get environment variables $HOME, $XDG_DATA_HOME and $XDG_CONFIG_HOME homedir = FXSystem::getHomeDirectory(); if (homedir == "") { homedir = ROOTDIR; } xdgdatahome = getenv("XDG_DATA_HOME"); if (xdgdatahome == "") { xdgdatahome = homedir + PATHSEPSTRING DATAPATH; } xdgconfighome = getenv("XDG_CONFIG_HOME"); if (xdgconfighome == "") { xdgconfighome = homedir + PATHSEPSTRING CONFIGPATH; } // Detect if an X input method is used xmodifiers = getenv("XMODIFIERS"); if ((xmodifiers == "") || (xmodifiers == "@im=none")) { xim_used = false; } else { xim_used = true; } #ifdef HAVE_SETLOCALE // Set locale via LC_ALL. setlocale(LC_ALL, ""); #endif #if ENABLE_NLS // Set the text message domain. bindtextdomain(PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "utf-8"); textdomain(PACKAGE); #endif // Parse basic arguments for (i = 1; i < argc; ++i) { if ((compare(argv[i], "-v") == 0) || (compare(argv[i], "--version") == 0)) { fprintf(stdout, "%s version %s\n", PACKAGE, VERSION); exit(EXIT_SUCCESS); } else if ((compare(argv[i], "-h") == 0) || (compare(argv[i], "--help") == 0)) { fprintf(stdout, USAGE_MSG); exit(EXIT_SUCCESS); } else { // Start image, if any startimage = argv[i]; } } args = argv; // Make application FXApp* application = new FXApp(appname, vdrname); // Open display application->init(argc, argv); // Redefine the default hand cursor FXCursor* hand = new FXCursor(application, hand_bits, hand_mask_bits, hand_width, hand_height, hand_x_hot, hand_y_hot); application->setDefaultCursor(DEF_HAND_CURSOR, hand); // Load all application icons loadicons = loadAppIcons(application); // Read the Xfe registry FXRegistry* reg_xfe = new FXRegistry(xfename, vdrname); reg_xfe->read(); // Set base color (to change the default base color at first run) FXColor basecolor = reg_xfe->readColorEntry("SETTINGS", "basecolor", FXRGB(237, 233, 227)); application->setBaseColor(basecolor); // Set Xfi normal font according to the Xfe registry FXString fontspec; fontspec = reg_xfe->readStringEntry("SETTINGS", "font", DEFAULT_NORMAL_FONT); if (!fontspec.empty()) { FXFont* normalFont = new FXFont(application, fontspec); normalFont->create(); application->setNormalFont(normalFont); } // Set Xfi file list colors according to the Xfe registry listbackcolor = reg_xfe->readColorEntry("SETTINGS", "listbackcolor", FXRGB(255, 255, 255)); listforecolor = reg_xfe->readColorEntry("SETTINGS", "listforecolor", FXRGB(0, 0, 0)); highlightcolor = reg_xfe->readColorEntry("SETTINGS", "highlightcolor", FXRGB(238, 238, 238)); // Set single click navigation according to the Xfe registry single_click = reg_xfe->readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); // Set smooth scrolling according to the Xfe registry FXbool smoothscroll = reg_xfe->readUnsignedEntry("SETTINGS", "smooth_scroll", true); // Set file list tooltip flag according to the Xfe registry file_tooltips = reg_xfe->readUnsignedEntry("SETTINGS", "file_tooltips", true); // Set relative resizing flag according to the Xfe registry relative_resize = reg_xfe->readUnsignedEntry("SETTINGS", "relative_resize", true); // Set display pathlinker flag according to the Xfe registry show_pathlink = reg_xfe->readUnsignedEntry("SETTINGS", "show_pathlinker", true); // Get value of the window position flag save_win_pos = reg_xfe->readUnsignedEntry("SETTINGS", "save_win_pos", false); // Delete the Xfe registry delete reg_xfe; // Make window XFileImage* window = new XFileImage(application, smoothscroll); // Catch SIGCHLD to harvest zombie child processes application->addSignal(SIGCHLD, window, XFileImage::ID_HARVEST, true); // Handle interrupt to save stuff nicely application->addSignal(SIGINT, window, XFileImage::ID_QUIT); // Create it application->create(); // Smooth scrolling window->setSmoothScroll(smoothscroll); if (!loadicons) { MessageBox::error(application, BOX_OK, _("Error loading icons"), _("Unable to load some icons. Please check your icons path!")); } // Tooltips setup time and duration application->setTooltipPause(TOOLTIP_PAUSE); application->setTooltipTime(TOOLTIP_TIME); // Start window->start(startimage); // Run return(application->run()); } xfe-1.42/src/startupnotification.cpp0000644000175100017510000001611012725277364014567 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include "xfedefs.h" #include "xfeutils.h" #include "startupnotification.h" #ifdef STARTUP_NOTIFICATION // Use startup notification // Indicate that launchee has completed startup void startup_completed(void) { SnLauncheeContext* launchee; Display* xdisplay; SnDisplay* display; // Open display xdisplay = XOpenDisplay(NULL); if (xdisplay != NULL) { // Create startup notification context display = sn_display_new(xdisplay, NULL, NULL); launchee = sn_launchee_context_new_from_environment(display, DefaultScreen(xdisplay)); // Indicate startup has completed and free resources if (launchee) { sn_launchee_context_complete(launchee); sn_launchee_context_unref(launchee); } sn_display_unref(display); XCloseDisplay(xdisplay); } } // Hack to obtain a timestamp for startup notification // Create a fake window and set up a property change event // Code snippet borrowed from the Internet Time gettimestamp(Display *display) { Window window; XEvent event; Atom atom_name, atom_type; window = XCreateWindow(display, DefaultRootWindow(display), 0, 0, 1, 1, 0, 0, InputOnly, 0, 0, NULL); XSelectInput(display, window, PropertyChangeMask); atom_name = XInternAtom(display, "_NET_WM_USER_TIME_WINDOW", False); atom_type = XInternAtom(display, "WINDOW", true); XChangeProperty(display, window, atom_name, atom_type, 8, PropModeReplace, (const FXuchar*)&window, 1); XNextEvent(display, &event); assert(event.type == PropertyNotify); return(((XPropertyEvent*)&event)->time); } // Launch a command and initiate a startup notification int runcmd(FXString cmd, FXString cmdname, FXString dir, FXString startdir, FXbool usesn = true, FXString snexcepts = "") { int ret; // Change to current directory ret = chdir(dir.text()); if (ret < 0) { int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't enter folder %s: %s"), dir.text(), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't enter folder %s"), dir.text()); } return(-1); } // Get rid of possible command options cmdname = cmdname.before(' '); // Check if command is in the startup notification exception list FXbool startup_notify = true; if (snexcepts != "") { FXString entry; for (int i = 0; ; i++) { entry = snexcepts.section(':', i); if (streq(entry.text(), "")) { break; } if (streq(entry.text(), cmdname.text())) { startup_notify = false; break; } } } // Run command with startup notification if (usesn && startup_notify) { Display* xdisplay; SnDisplay* display; SnLauncherContext* context; Time timestamp; // Open display xdisplay = XOpenDisplay(NULL); if (xdisplay == NULL) { fprintf(stderr, _("Error: Can't open display\n")); ret = chdir(startdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't enter folder %s: %s"), startdir.text(), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't enter folder %s"), startdir.text()); } } return(-1); } // Message displayed in the task bar (if any) FXString message; message.format(_("Start of %s"), cmdname.text()); // Initiate launcher context display = sn_display_new(xdisplay, NULL, NULL); context = sn_launcher_context_new(display, DefaultScreen(xdisplay)); sn_launcher_context_set_name(context, message.text()); sn_launcher_context_set_binary_name(context, cmdname.text()); sn_launcher_context_set_description(context, message.text()); sn_launcher_context_set_icon_name(context, cmdname.text()); timestamp = gettimestamp(xdisplay); sn_launcher_context_initiate(context, "Xfe", cmd.text(), timestamp); // Run command in background cmd += " &"; static pid_t child_pid = 0; switch ((child_pid = fork())) { case -1: fprintf(stderr, _("Error: Fork failed: %s\n"), strerror(errno)); break; case 0: // Child sn_launcher_context_setup_child_process(context); execl("/bin/sh", "sh", "-c", cmd.text(), (char*)NULL); _exit(EXIT_SUCCESS); break; } sn_launcher_context_unref(context); XCloseDisplay(xdisplay); } // Run command without startup notification else { // Run command in background cmd += " &"; ret = system(cmd.text()); if (ret < 0) { fprintf(stderr, _("Error: Can't execute command %s"), cmd.text()); return(-1); } // Just display the wait cursor during a second sleep(1); } // Go back to startup directory ret = chdir(startdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't enter folder %s: %s"), startdir.text(), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't enter folder %s"), startdir.text()); } return(-1); } return(0); } #else // Don't use startup notification // Run a command and simulate a startup time int runcmd(FXString cmd, FXString dir, FXString startdir) { int ret; // Change to current directory ret = chdir(dir.text()); if (ret < 0) { int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't enter folder %s: %s"), dir.text(), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't enter folder %s"), dir.text()); } return(-1); } // Run the command in background cmd += " &"; ret = system(cmd.text()); if (ret < 0) { fprintf(stderr, _("Error: Can't execute command %s"), cmd.text()); return(-1); } // Very ugly simulation of a startup time!!! sleep(SIMULATED_STARTUP_TIME); // Go back to startup directory ret = chdir(startdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { fprintf(stderr, _("Error: Can't enter folder %s: %s"), startdir.text(), strerror(errcode)); } else { fprintf(stderr, _("Error: Can't enter folder %s"), startdir.text()); } return(-1); } return(0); } #endif xfe-1.42/src/Bookmarks.cpp0000644000175100017510000001457112625057511012404 00000000000000// Bookmarks list. Taken from the FOX library (FXRecentFiles) and slightly modified. #include "config.h" #include "i18n.h" #include #include #include #include "MessageBox.h" #include "Bookmarks.h" // Maximum bookmarks number // If modified, also change appropriate items in BookmarksMap // and in onUpdBookmark and Bookmarks.h #define MAX_BOOKMARKS 21 // Message map FXDEFMAP(Bookmarks) BookmarksMap[] = { FXMAPFUNC(SEL_UPDATE, Bookmarks::ID_ANYBOOKMARKS, Bookmarks::onUpdAnyBookmarks), FXMAPFUNC(SEL_UPDATE, Bookmarks::ID_CLEAR, Bookmarks::onUpdAnyBookmarks), FXMAPFUNC(SEL_COMMAND, Bookmarks::ID_CLEAR, Bookmarks::onCmdClear), FXMAPFUNCS(SEL_COMMAND, Bookmarks::ID_BOOKMARK_1, Bookmarks::ID_BOOKMARK_20, Bookmarks::onCmdBookmark), FXMAPFUNCS(SEL_UPDATE, Bookmarks::ID_BOOKMARK_1, Bookmarks::ID_BOOKMARK_20, Bookmarks::onUpdBookmark), }; // Class implementation FXIMPLEMENT(Bookmarks, FXObject, BookmarksMap, ARRAYNUMBER(BookmarksMap)) // Make new Bookmarks group with default group Bookmarks::Bookmarks() : group("Bookmarks"), target(NULL), message(0), maxbookmarks(MAX_BOOKMARKS) { } // Make new Bookmarks group Bookmarks::Bookmarks(const FXString& gp, FXObject* tgt, FXSelector sel) : group(gp), target(tgt), message(sel), maxbookmarks(MAX_BOOKMARKS) { } // Obtain the bookmark at index FXString Bookmarks::getBookmark(int index) const { char key[20]; snprintf(key, sizeof(key)-1, "BOOKMARK%d", index); return(FXApp::instance()->reg().readStringEntry(group.text(), key, FXString::null)); } // Change the bookmark at index void Bookmarks::setBookmark(int index, const FXString& bookname) { char key[20]; snprintf(key, sizeof(key)-1, "BOOKMARK%d", index); FXApp::instance()->reg().writeStringEntry(group.text(), key, bookname.text()); } // Append a bookmark; its added to the top of the list, and everything else // is moved down the list one notch; the last one is dropped from the list. void Bookmarks::appendBookmark(const FXString& bookname) { FXString newname = bookname; FXString oldname; char key[20]; int i = 1, j = 1; FXApp::instance()->reg().read(); do { do { snprintf(key, sizeof(key)-1, "BOOKMARK%d", j++); oldname = FXApp::instance()->reg().readStringEntry(group.text(), key, NULL); } while (oldname == bookname); snprintf(key, sizeof(key)-1, "BOOKMARK%d", i++); FXApp::instance()->reg().writeStringEntry(group.text(), key, newname.text()); newname = oldname; if (i > MAX_BOOKMARKS) { MessageBox::warning(FXApp::instance()->getActiveWindow(), BOX_OK, _("Warning"), _("Bookmarks limit number reached. The last bookmark will be deleted...")); } } while (!oldname.empty() && i <= maxbookmarks); FXApp::instance()->reg().write(); } // Remove a bookmark void Bookmarks::removeBookmark(const FXString& bookname) { char key[20]; FXString name; int i = 1, j = 1; do { snprintf(key, sizeof(key)-1, "BOOKMARK%d", i++); name = FXApp::instance()->reg().readStringEntry(group.text(), key, NULL); FXApp::instance()->reg().deleteEntry(group.text(), key); if (name.empty()) { break; } if (name != bookname) { snprintf(key, sizeof(key)-1, "BOOKMARK%d", j++); FXApp::instance()->reg().writeStringEntry(group.text(), key, name.text()); } } while (i <= maxbookmarks); } // Remove all bookmarks from the list void Bookmarks::clear() { FXApp::instance()->reg().read(); FXApp::instance()->reg().deleteSection(group.text()); FXApp::instance()->reg().write(); } // Clear the bookmarks list long Bookmarks::onCmdClear(FXObject*, FXSelector, void*) { if (BOX_CLICKED_CANCEL == MessageBox::question(FXApp::instance()->getActiveWindow(), BOX_OK_CANCEL, _("Confirm Clear Bookmarks"), _("Do you really want to clear all your bookmarks?"))) { return(0); } else { clear(); } return(1); } // User clicks on one of the bookmark names long Bookmarks::onCmdBookmark(FXObject*, FXSelector sel, void*) { const char* bookname; char key[20]; if (target) { snprintf(key, sizeof(key)-1, "BOOKMARK%d", (FXSELID(sel)-ID_BOOKMARK_1+1)); bookname = FXApp::instance()->reg().readStringEntry(group.text(), key, NULL); if (bookname) { target->handle(this, FXSEL(SEL_COMMAND, message), (void*)bookname); } } return(1); } // Update handler for same long Bookmarks::onUpdBookmark(FXObject* sender, FXSelector sel, void*) { int which = FXSELID(sel)-ID_BOOKMARK_1+1; const char* bookname = NULL; FXString string; char key[20]; char _char[11] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' }; snprintf(key, sizeof(key)-1, "BOOKMARK%d", which); bookname = FXApp::instance()->reg().readStringEntry(group.text(), key, NULL); if (bookname) { FXString string; // Keyboard shortcut is 1, 2, 3... if (which < 10) { string.format("&%d %s", which, bookname); } // Keyboard shortcut is a, b, c... else if (which < MAX_BOOKMARKS) { string.format("&%c %s", _char[which-10], bookname); } // Should not be used else { string.format("2&0 %s", bookname); } sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SETSTRINGVALUE), (void*)&string); sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SHOW), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_HIDE), NULL); } return(1); } // Show or hide depending on whether there are any bookmarks long Bookmarks::onUpdAnyBookmarks(FXObject* sender, FXSelector, void*) { FXApp::instance()->reg().deleteSection(group.text()); FXApp::instance()->reg().read(); if (FXApp::instance()->reg().readStringEntry(group.text(), "BOOKMARK1", NULL)) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SHOW), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_HIDE), NULL); } return(1); } // Destructor Bookmarks::~Bookmarks() { target = (FXObject*)-1L; } xfe-1.42/src/XFileExplorer.h0000644000175100017510000002677112634217604012657 00000000000000#ifndef XFILEEXPLORER_H #define XFILEEXPLORER_H #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "xfeutils.h" #include "FileDict.h" #include "FilePanel.h" #include "InputDialog.h" #include "HistInputDialog.h" #include "BrowseInputDialog.h" #include "Properties.h" #include "DirPanel.h" #include "Bookmarks.h" #include "Preferences.h" #include "TextWindow.h" #include "SearchWindow.h" // Typedef for the map between program string identifiers and integer indexes typedef std::map progsmap; // Application object class XFileExplorer : public FXMainWindow { FXDECLARE(XFileExplorer) protected: enum { TREE_PANEL, ONE_PANEL, TWO_PANELS, TREE_TWO_PANELS, FILEPANEL_FOCUS, DIRPANEL_FOCUS, }; int panel_view; int RunHistSize; char RunHistory[RUN_HIST_SIZE][MAX_COMMAND_SIZE]; FXbool vertpanels; FXSplitter* panelsplit; FXMenuBar* menubar; FXMenuPane* toolsmenu; FXMenuPane* filemenu; FXMenuPane* trashmenu; FXMenuPane* editmenu; FXMenuPane* bookmarksmenu; FXMenuPane* viewmenu; FXMenuPane* lpanelmenu; FXMenuPane* rpanelmenu; FXMenuPane* helpmenu; FXMenuTitle* toolsmenutitle; FXMenuTitle* filemenutitle; FXMenuTitle* trashmenutitle; FXMenuTitle* editmenutitle; FXMenuTitle* bookmarksmenutitle; FXMenuTitle* viewmenutitle; FXMenuTitle* lpanelmenutitle; FXMenuTitle* rpanelmenutitle; FXMenuTitle* helpmenutitle; Bookmarks* bookmarks; FXToolBar* generaltoolbar; FXToolBar* toolstoolbar; FXToolBar* paneltoolbar; FXToolBar* locationbar; ComboBox* address; DirPanel* dirpanel; FilePanel* lpanel; FilePanel* rpanel; FXString trashfileslocation; FXString trashinfolocation; FXString startlocation; FXuint liststyle; FXColor listbackcolor; FXColor listforecolor; FXColor highlightcolor; FXColor pbarcolor; FXColor attentioncolor; FXColor scrollbarcolor; FXArrowButton* btnbackhist; FXArrowButton* btnforwardhist; HistInputDialog* rundialog; PreferencesBox* prefsdialog; TextWindow* helpwindow; FXString message; FXuint panelfocus; FXString startdir1; FXString startdir2; vector_FXString startURIs; FXbool starticonic; FXbool startmaximized; FXbool smoothscroll; double twopanels_lpanel_pct; // Panel sizes, relatively to the window width (in percent) double treepanel_tree_pct; double treetwopanels_tree_pct; double treetwopanels_lpanel_pct; FXString prevdir; int prev_width; FXuint search_xpos; FXuint search_ypos; FXuint search_width; FXuint search_height; SearchWindow* searchwindow; progsmap progs; // Map between program string identifiers and integer indexes FXbool winshow; // If true, do not show the Xfe window FXbool stop; // If true, stop Xfe immediately int nbstartfiles; // Number of files to open on startup public: enum { ID_ABOUT=FXMainWindow::ID_LAST, ID_HELP, ID_REFRESH, ID_EMPTY_TRASH, ID_TRASH_SIZE, ID_XTERM, ID_DIR_UP, ID_DIR_BACK, ID_DIR_FORWARD, ID_DIR_BACK_HIST, ID_DIR_FORWARD_HIST, ID_FILE_PROPERTIES, ID_FILE_COPY, ID_FILE_RENAME, ID_FILE_MOVETO, ID_FILE_COPYTO, ID_FILE_CUT, ID_FILE_PASTE, ID_FILE_SYMLINK, ID_FILE_DELETE, ID_FILE_TRASH, ID_FILE_RESTORE, ID_FILE_ASSOC, ID_FILE_SEARCH, ID_CLEAR_LOCATION, ID_GOTO_LOCATION, ID_RUN, ID_SU, ID_PREFS, ID_DIR_BOX, ID_TOGGLE_STATUS, ID_SHOW_ONE_PANEL, ID_SHOW_TWO_PANELS, ID_SHOW_TREE_PANEL, ID_SHOW_TREE_TWO_PANELS, ID_SYNCHRONIZE_PANELS, ID_SWITCH_PANELS, ID_RESTART, ID_NEW_WIN, ID_BOOKMARK, ID_ADD_BOOKMARK, ID_HARVEST, ID_QUIT, ID_FILE_ADDCOPY, ID_FILE_ADDCUT, ID_HORZ_PANELS, ID_VERT_PANELS, ID_LAST }; protected: XFileExplorer() : panel_view(0), RunHistSize(0), vertpanels(false), panelsplit(NULL), menubar(NULL), toolsmenu(NULL), filemenu(NULL), trashmenu(NULL), editmenu(NULL), bookmarksmenu(NULL), viewmenu(NULL), lpanelmenu(NULL), rpanelmenu(NULL), helpmenu(NULL), toolsmenutitle(NULL), filemenutitle(NULL), trashmenutitle(NULL), editmenutitle(NULL), bookmarksmenutitle(NULL), viewmenutitle(NULL), lpanelmenutitle(NULL), rpanelmenutitle(NULL), helpmenutitle(NULL), bookmarks(NULL), generaltoolbar(NULL), toolstoolbar(NULL), paneltoolbar(NULL), locationbar(NULL), address(NULL), dirpanel(NULL), lpanel(NULL), rpanel(NULL), liststyle(0), listbackcolor(FXRGB(0, 0, 0)), listforecolor(FXRGB(0, 0, 0)), highlightcolor(FXRGB(0, 0, 0)), pbarcolor(FXRGB(0, 0, 0)), attentioncolor(FXRGB(0, 0, 0)), scrollbarcolor(FXRGB(0, 0, 0)), btnbackhist(NULL), btnforwardhist(NULL), rundialog(NULL), prefsdialog(NULL), helpwindow(NULL), panelfocus(0), starticonic(false), startmaximized(false), smoothscroll(false), twopanels_lpanel_pct(0.0), treepanel_tree_pct(0.0), treetwopanels_tree_pct(0.0), treetwopanels_lpanel_pct(0.0), prev_width(0), search_xpos(0), search_ypos(0), search_width(0), search_height(0), searchwindow(NULL), winshow(false), stop(false), nbstartfiles(0) {} public: XFileExplorer(FXApp* app, vector_FXString URIs, const FXbool iconic = false, const FXbool maximized = false, const char* title = "X File Explorer", FXIcon* bigicon = NULL, FXIcon* miniicon = NULL); virtual void create(); ~XFileExplorer(); void saveConfig(); void openFiles(vector_FXString); long onSigHarvest(FXObject*, FXSelector, void*); long onQuit(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); long onCmdHelp(FXObject*, FXSelector, void*); long onCmdAbout(FXObject*, FXSelector, void*); long onCmdFileAssoc(FXObject*, FXSelector, void*); long onCmdRefresh(FXObject*, FXSelector, void*); long onCmdToggleStatus(FXObject*, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onCmdPrefs(FXObject*, FXSelector, void*); long onCmdRun(FXObject*, FXSelector, void*); long onCmdSu(FXObject*, FXSelector, void*); long onCmdXTerm(FXObject*, FXSelector, void*); long onCmdEmptyTrash(FXObject*, FXSelector, void*); long onCmdTrashSize(FXObject*, FXSelector, void*); long onCmdHorzVertPanels(FXObject*, FXSelector, void*); long onCmdShowPanels(FXObject*, FXSelector, void*); long onCmdRestart(FXObject*, FXSelector, void*); long onCmdNewWindow(FXObject*, FXSelector, void*); long onCmdBookmark(FXObject*, FXSelector, void*); long onCmdGotoLocation(FXObject*, FXSelector, void*); long onCmdClearLocation(FXObject*, FXSelector, void*); long onUpdToggleStatus(FXObject*, FXSelector, void*); long onUpdHorzVertPanels(FXObject*, FXSelector, void*); long onUpdShowPanels(FXObject*, FXSelector, void*); long onUpdFileLocation(FXObject*, FXSelector, void*); long onUpdEmptyTrash(FXObject*, FXSelector, void*); long onUpdTrashSize(FXObject*, FXSelector, void*); long onCmdFileDelete(FXObject*, FXSelector, void*); long onCmdFileTrash(FXObject*, FXSelector, void*); long onCmdFileRestore(FXObject*, FXSelector, void*); long onUpdFileDelete(FXObject*, FXSelector, void*); long onUpdFileTrash(FXObject*, FXSelector, void*); long onUpdFileRestore(FXObject*, FXSelector, void*); long onCmdFileSearch(FXObject*, FXSelector sel, void*); long onCmdDirUp(FXObject*, FXSelector, void*); long onCmdDirBack(FXObject*, FXSelector, void*); long onUpdDirBack(FXObject*, FXSelector, void*); long onCmdDirForward(FXObject*, FXSelector, void*); long onUpdDirForward(FXObject*, FXSelector, void*); long onCmdDirBackHist(FXObject*, FXSelector, void*); long onUpdDirBackHist(FXObject*, FXSelector, void*); long onCmdDirForwardHist(FXObject*, FXSelector, void*); long onUpdDirForwardHist(FXObject*, FXSelector, void*); long onCmdFileCopyClp(FXObject*, FXSelector, void*); long onCmdFileCutClp(FXObject*, FXSelector, void*); long onCmdFileAddCopyClp(FXObject*, FXSelector, void*); long onCmdFileAddCutClp(FXObject*, FXSelector, void*); long onCmdFilePasteClp(FXObject*, FXSelector, void*); long onCmdFileRename(FXObject*, FXSelector, void*); long onCmdFileMoveto(FXObject*, FXSelector, void*); long onCmdFileCopyto(FXObject*, FXSelector, void*); long onCmdFileSymlink(FXObject*, FXSelector, void*); long onUpdFileMan(FXObject*, FXSelector, void*); long onUpdFilePaste(FXObject*, FXSelector, void*); long onCmdFileProperties(FXObject*, FXSelector, void*); long onUpdFileRename(FXObject*, FXSelector, void*); long onCmdSynchronizePanels(FXObject*, FXSelector, void*); long onUpdSynchronizePanels(FXObject*, FXSelector, void*); long onCmdSwitchPanels(FXObject*, FXSelector, void*); long onUpdSwitchPanels(FXObject*, FXSelector, void*); long onUpdSu(FXObject*, FXSelector, void*); long onUpdQuit(FXObject*, FXSelector, void*); long onUpdFileSearch(FXObject*, FXSelector, void*); public: // Get associations FileDict* getAssociations() { return(lpanel->getCurrent()->getAssociations()); } // Change to selected directory void setDirectory(FXString pathname) { lpanel->getCurrent()->setDirectory(pathname, false); lpanel->getCurrent()->updatePath(); dirpanel->setDirectory(pathname, true); } // Change default cursor for file and dir panels void setDefaultCursor(FXCursor* cur) { lpanel->setDefaultCursor(cur); rpanel->setDefaultCursor(cur); dirpanel->setDefaultCursor(cur); } // Deselect all items void deselectAll(void) { lpanel->deselectAll(); rpanel->deselectAll(); if (searchwindow) { searchwindow->deselectAll(); } } // Refresh file panels void refreshPanels(void) { lpanel->onCmdRefresh(0, 0, 0); rpanel->onCmdRefresh(0, 0, 0); } // Return a pointer on the current file panel FilePanel* getCurrentPanel(void) { return(lpanel->getCurrent()); } // Return a pointer on the next file panel FilePanel* getNextPanel(void) { return(lpanel->getNext()); } // Return the address box (location bar) FXComboBox* getAddressBox(void) { return(address); } // Return a pointer on the directory panel DirPanel* getDirPanel(void) { return(dirpanel); } }; #endif xfe-1.42/src/Makefile.am0000644000175100017510000001224312634026365012001 00000000000000 bin_PROGRAMS = xfe xfp xfw xfi xfe_SOURCES = ../st/st.c \ icons.cpp \ xfeutils.cpp \ startupnotification.cpp \ StringList.cpp \ File.cpp \ FileDict.cpp \ IconList.cpp \ FileList.cpp \ FileDialog.cpp \ DirList.cpp \ DialogBox.cpp \ MessageBox.cpp \ Bookmarks.cpp \ HistInputDialog.cpp \ InputDialog.cpp \ OverwriteBox.cpp \ ExecuteBox.cpp \ TextWindow.cpp \ CommandWindow.cpp \ Properties.cpp \ Preferences.cpp \ FilePanel.cpp \ DirPanel.cpp \ DirHistBox.cpp \ PathLinker.cpp \ BrowseInputDialog.cpp \ ArchInputDialog.cpp \ FontDialog.cpp \ TextLabel.cpp \ Keybindings.cpp \ KeybindingsDialog.cpp \ SearchWindow.cpp \ SearchPanel.cpp \ XFileExplorer.cpp \ main.cpp if STARTUPNOTIFY xfe_SOURCES += ../libsn/sn-common.c \ ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c \ ../libsn/sn-list.c \ ../libsn/sn-monitor.c \ ../libsn/sn-util.c \ ../libsn/sn-xmessages.c \ ../libsn/sn-xutils.c endif xfe_LDADD = @LIBINTL@ -lutil xfp_SOURCES = ../st/st.c \ icons.cpp \ xfeutils.cpp \ startupnotification.cpp \ StringList.cpp \ CommandWindow.cpp \ InputDialog.cpp \ DialogBox.cpp \ OverwriteBox.cpp \ FileDict.cpp \ IconList.cpp \ File.cpp \ FileList.cpp \ DirList.cpp \ FileDialog.cpp \ PathLinker.cpp \ TextLabel.cpp \ MessageBox.cpp \ DirHistBox.cpp \ XFilePackage.cpp if STARTUPNOTIFY xfp_SOURCES += ../libsn/sn-common.c \ ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c \ ../libsn/sn-list.c \ ../libsn/sn-monitor.c \ ../libsn/sn-util.c \ ../libsn/sn-xmessages.c \ ../libsn/sn-xutils.c endif xfp_LDADD = @LIBINTL@ -lutil xfw_SOURCES = ../st/st.c \ icons.cpp \ xfeutils.cpp \ startupnotification.cpp \ StringList.cpp \ CommandWindow.cpp \ OverwriteBox.cpp \ MessageBox.cpp \ IconList.cpp \ File.cpp \ FileList.cpp \ DirList.cpp \ InputDialog.cpp \ DialogBox.cpp \ FileDict.cpp \ FileDialog.cpp \ PathLinker.cpp \ TextLabel.cpp \ WriteWindow.cpp \ DirHistBox.cpp \ FontDialog.cpp \ XFileWrite.cpp if STARTUPNOTIFY xfw_SOURCES += ../libsn/sn-common.c \ ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c \ ../libsn/sn-list.c \ ../libsn/sn-monitor.c \ ../libsn/sn-util.c \ ../libsn/sn-xmessages.c \ ../libsn/sn-xutils.c endif xfw_LDADD = @LIBINTL@ -lutil xfi_SOURCES = ../st/st.c \ icons.cpp \ xfeutils.cpp \ startupnotification.cpp \ StringList.cpp \ CommandWindow.cpp \ InputDialog.cpp \ DialogBox.cpp \ OverwriteBox.cpp \ FileDict.cpp \ IconList.cpp \ File.cpp \ FileList.cpp \ DirList.cpp \ FileDialog.cpp \ MessageBox.cpp \ DirHistBox.cpp \ TextLabel.cpp \ PathLinker.cpp \ XFileImage.cpp if STARTUPNOTIFY xfi_SOURCES += ../libsn/sn-common.c \ ../libsn/sn-launchee.c \ ../libsn/sn-launcher.c \ ../libsn/sn-list.c \ ../libsn/sn-monitor.c \ ../libsn/sn-util.c \ ../libsn/sn-xmessages.c \ ../libsn/sn-xutils.c endif xfi_LDADD = @LIBINTL@ -lutil localedir = $(datadir)/locale AM_CPPFLAGS = -I. -I$(top_srcdir) -I$(top_srcdir)/intl DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ EXTRA_DIST = ../libsn/sn-common.h \ ../libsn/sn-internals.h \ ../libsn/sn-launchee.h \ ../libsn/sn-launcher.h \ ../libsn/sn-list.h \ ../libsn/sn-monitor.h \ ../libsn/sn-util.h \ ../libsn/sn-xmessages.h \ ../libsn/sn-xutils.h \ ../libsn/sn.h \ ../st/config.h \ ../st/arg.h \ ../st/st.h \ xfedefs.h \ icons.h \ xfeutils.h \ help.h \ startupnotification.h \ StringList.h \ FileDialog.h \ FileDict.h \ IconList.h \ FileList.h \ DirList.h \ DirPanel.h \ Properties.h \ File.h \ DialogBox.h \ MessageBox.h \ HistInputDialog.h \ InputDialog.h \ Preferences.h \ TextWindow.h \ CommandWindow.h \ OverwriteBox.h \ ExecuteBox.h \ FilePanel.h \ Bookmarks.h \ XFileExplorer.h \ XFileImage.h \ XFilePackage.h \ WriteWindow.h \ XFileWrite.h \ DirHistBox.h \ PathLinker.h \ BrowseInputDialog.h \ ArchInputDialog.h \ FontDialog.h \ TextLabel.h \ Keybindings.h \ KeybindingsDialog.h \ SearchPanel.h \ SearchWindow.h \ foxhacks.cpp \ clearlooks.cpp xfe-1.42/src/FileDict.h0000644000175100017510000001611412625057514011602 00000000000000#ifndef FILEDICT_H #define FILEDICT_H #include "xfedefs.h" // Registers stuff to know about the extension struct FileAssoc { FXString key; // Key extension (ex: zip, cpp, ...) FXString command; // Command to execute FXString extension; // Full extension name (ex: ZIP Archive, C++ Source, ...) FXString mimetype; // Mime type name FXIcon* bigicon; // Big normal icon FXIcon* bigiconopen; // Big open icon FXIcon* miniicon; // Mini normal icon FXIcon* miniiconopen; // Mini open icon FXDragType dragtype; // Registered drag type FXuint flags; // Flags }; // Icon dictionary class FXAPI IconDict : public FXDict { FXDECLARE(IconDict) private: FXApp* app; // Application object FXIconSource* source; // Icon source FXString path; // Where to search icons protected: IconDict() : app(NULL), source(NULL) {} virtual void* createData(const void*); virtual void deleteData(void*); private: IconDict(const IconDict&); IconDict& operator=(const IconDict&); public: // Default icon search path static const char defaultIconPath[]; public: // Construct an icon dictionary, with given path IconDict(FXApp* a, const FXString& p = defaultIconPath); // Get application FXApp* getApp() const { return(app); } // Change icon source void setIconSource(FXIconSource* src) { source = src; } // Return icon source FXIconSource* getIconSource() const { return(source); } // Set icon search path void setIconPath(const FXString& p) { path = p; } // Return current icon search path FXString getIconPath() const { return(path); } // Insert unique icon loaded from filename into dictionary FXIcon* insert(const char* name) { return((FXIcon*)FXDict::insert(name, name)); } // Remove icon from dictionary FXIcon* remove (const char* name) { return((FXIcon*)FXDict::remove (name)); } // Find icon by name FXIcon* find(const char* name) { return((FXIcon*)FXDict::find(name)); } // Save to stream virtual void save(FXStream& store) const; // Load from stream virtual void load(FXStream& store); // Destructor virtual ~IconDict(); }; /* * The File Association dictionary associates a file extension * with a FileAssoc record which contains command name, mime type, * icons, and other information about the file type. * The Registry is used as source of the file bindings; an alternative * Settings database may be specified however. */ class FXAPI FileDict : public FXDict { FXDECLARE(FileDict) private: FXApp* app; // Application object FXSettings* settings; // Settings database where to get bindings IconDict* icons; // Icon table protected: FileDict() : app(NULL), settings(NULL), icons(NULL) {} virtual void* createData(const void*); virtual void deleteData(void*); private: FileDict(const FileDict&); FileDict& operator=(const FileDict&); public: // Registry key used to find fallback executable icons static const char defaultExecBinding[]; // Registry key used to find fallback directory icons static const char defaultDirBinding[]; // Registry key used to find fallback document icons static const char defaultFileBinding[]; public: /* * Construct a dictionary mapping file-extension to file associations, * using the application registry settings as a source for the bindings. */ FileDict(FXApp* a); /* * Construct a dictionary mapping file-extension to file associations, * using the specified settings database as a source for the bindings. */ FileDict(FXApp* a, FXSettings* db); // Get application FXApp* getApp() const { return(app); } // Change icon dictionary void setIconDict(IconDict* icns) { icons = icns; } // Return icon dictionary IconDict* getIconDict() const { return(icons); } // Set icon search path void setIconPath(const FXString& path); // Return current icon search path FXString getIconPath() const; /* * Replace file association. * The new association is written into the settings database under the * FILETYPES section; the format of the association is as follows: * * = " ; ; [ : ] ; [ : ] ; " * * Where is the command used to launch the application (e.g. "xv %s &"), * and is the file type string (e.g. "GIF Image"), * and are the large icons shown in "Icons" mode, * and are the small icons shown in "Details" mode, * and is the RFC2045 mime type of the file. * * For example: * * [FILETYPES] * gif="xv %s &;GIF Image;big.xpm:bigopen.xpm;mini.xpm:miniopen.xpm;image/gif" * /home/jeroen=";Home;home.xpm;minihome.xpm;application/x-folder" * */ FileAssoc* replace(const char* ext, const char* str); // Remove file association FileAssoc* remove(const char* ext); // Find file association already in dictionary FileAssoc* find(const char* ext) { return((FileAssoc*)FXDict::find(ext)); } // Find file association from registry FileAssoc* associate(const char* key); /* * Determine binding for the given file. * The default implementation tries the whole filename first, * then tries the extensions. * For example, for a file "source.tar.gz": * * "source.tar.gz", * "tar.gz", * "gz" * * are tried in succession. If no association is found the * key "defaultfilebinding" is tried as a fallback association. * A NULL is returned if no association of any kind is found. */ virtual FileAssoc* findFileBinding(const char* pathname); /* * Find directory binding from registry. * The default implementation tries the whole pathname first, * then tries successively smaller parts of the path. * For example, a pathname "/usr/people/jeroen": * * "/usr/people/jeroen" * "/people/jeroen" * "/jeroen" * * are tried in succession. If no bindings are found, the * key "defaultdirbinding" is tried as a fallback association. * A NULL is returned if no association of any kind is found. */ virtual FileAssoc* findDirBinding(const char* pathname); /* * Determine binding for the given executable. * The default implementation returns the fallback binding associated with * the key "defaultexecbinding". * A NULL is returned if no association of any kind is found. */ virtual FileAssoc* findExecBinding(const char* pathname); // Destructor virtual ~FileDict(); }; #endif xfe-1.42/src/CommandWindow.h0000644000175100017510000000275212625057514012670 00000000000000#ifndef COMMANDWINDOW_H #define COMMANDWINDOW_H #include "DialogBox.h" class CommandWindow : public DialogBox { FXDECLARE(CommandWindow) protected: int pid; // Proccess ID of child (valid if busy). int pipes[2]; // Pipes to communicate with child process. FXText* text; FXString command; // Command string FXbool killed; // True if the cancel button was pressed FXbool closed; // True if the closed button was pressed private: CommandWindow() : pid(0), text(NULL), killed(false), closed(false) {} CommandWindow(const CommandWindow&); public: enum { ID_CLOSE=DialogBox::ID_LAST, ID_WATCHPROCESS, ID_KILLPROCESS, ID_LAST }; public: long onCmdKillProcess(FXObject*, FXSelector, void*); long onUpdKillProcess(FXObject*, FXSelector, void*); long onWatchProcess(FXObject*, FXSelector, void*); long onUpdClose(FXObject* sender, FXSelector, void*); virtual void create(); virtual ~CommandWindow(); int execCmd(FXString); CommandWindow(FXWindow* owner, const FXString& name, FXString strcmd, int nblines, int nbcols); CommandWindow(FXApp* a, const FXString& name, FXString strcmd, int nblines, int nbcols); long onCmdClose(FXObject*, FXSelector, void*); void setText(const char*); void appendText(const char* str); void scrollToLastLine(void); int getLength(void); }; #endif xfe-1.42/src/StringList.cpp0000644000175100017510000001674212625057511012560 00000000000000// StringList class : implements a doubly linked list of FXString #include #include #include "StringList.h" // Insert an item before the given item void StringList::insertBeforeItem(FXString str, StringItem* item) { StringItem* newItem; newItem = new StringItem(); newItem->prev = item->prev; newItem->next = item; newItem->str = str; if (item->prev == NULL) { this->first = newItem; } if (item->next == NULL) { this->last = item; } item->prev = newItem; } // Insert an item before the first item void StringList::insertFirstItem(FXString str) { StringItem* newItem; if (this->first == NULL) { newItem = new StringItem(); this->first = newItem; this->last = newItem; newItem->prev = NULL; newItem->next = NULL; newItem->str = str; } else { insertBeforeItem(str, this->first); } } // Insert an item after the given item void StringList::insertAfterItem(FXString str, StringItem* item) { StringItem* newItem; newItem = new StringItem(); newItem->next = item->next; newItem->prev = item; newItem->str = str; if (item->next == NULL) { this->last = newItem; } item->next = newItem; } // Insert an item after the last item void StringList::insertLastItem(FXString str) { if (this->last == NULL) { insertFirstItem(str); } else { insertAfterItem(str, this->last); } } // Remove the first item void StringList::removeFirstItem(void) { removeItem(this->first); } // Remove the last item void StringList::removeLastItem(void) { removeItem(this->last); } // Remove the item before the given item void StringList::removeBeforeItem(StringItem* item) { if (item->prev == this->first) { this->first = item; this->first->prev = NULL; } else { removeItem(item->prev); } } // Remove the item after the given item void StringList::removeAfterItem(StringItem* item) { if (item->next == this->last) { this->last = item; this->last->next = NULL; } else { removeItem(item->next); } } // Number of items in the list int StringList::getNumItems(void) { StringItem* item; int num = 0; item = this->first; while (item != NULL) { item = item->next; num++; } return(num); } // Remove a particular item void StringList::removeItem(StringItem* item) { if ((item == this->first) && (item == this->last)) { this->first = NULL; this->last = NULL; } else if (item == this->first) { this->first = this->first->next; this->first->prev = NULL; } else if (item == this->last) { this->last = this->last->prev; this->last->next = NULL; } else { item->prev->next = item->next; item->next->prev = item->prev; } } // Remove all items before a given item void StringList::removeAllItemsBefore(StringItem* item) { StringItem* previtem; previtem = item->prev; if (previtem != NULL) { while (previtem != NULL) { removeItem(previtem); previtem = item->prev; } } } // Remove all items after a given item void StringList::removeAllItemsAfter(StringItem* item) { StringItem* nextitem; nextitem = item->next; if (nextitem != NULL) { while (nextitem != NULL) { removeItem(nextitem); nextitem = item->next; } } } // Remove all items void StringList::removeAllItems(void) { StringItem* item, *previtem; item = this->last; while (item != NULL) { previtem = item->prev; removeItem(item); if (previtem == NULL) { break; } item = previtem; } } // Get item based on its position (first position is 0) StringItem* StringList::getItemAtPos(const int pos) { int num = getNumItems(); if ((num == 0) || (pos < 0) || (pos > num-1)) { return(NULL); } StringItem* item; item = this->first; if (pos == 0) { return(item); } num = 0; while (item != NULL) { item = item->next; num++; if (pos == num) { break; } } return(item); } // Print the list from the first item void StringList::printFromFirst(void) { StringItem* item; item = this->first; fprintf(stdout, "\n=> printFromFirst\n"); while (item != NULL) { fprintf(stdout, "str=%s\n", item->str.text()); item = item->next; } fprintf(stdout, "<= printFromFirst\n\n"); } // Print the list from endwards void StringList::printFromLast(void) { StringItem* item; item = this->last; fprintf(stdout, "\n=> printFromLast\n"); while (item != NULL) { fprintf(stdout, "str=%s\n", item->str.text()); item = item->prev; } fprintf(stdout, "<= printFromLast\n\n"); } /* * * // To test this class * int main(void) * { * StringList *strlist ; * StringItem *item; * FXString str; * * strlist= new StringList(); * * // Insert at the end * strlist->insertLastItem("test2"); * strlist->printFromFirst(); * strlist->insertLastItem("test3"); * strlist->printFromFirst(); * strlist->insertLastItem("test4"); * strlist->printFromFirst(); * * // Insert at the beginning * strlist->insertFirstItem("test1"); * strlist->printFromFirst(); * strlist->insertFirstItem("test0"); * strlist->printFromFirst(); * * // Insert at the end * strlist->insertLastItem("test5"); * strlist->printFromFirst(); * strlist->insertLastItem("test6"); * strlist->printFromFirst(); * * // Remove the first item * strlist->removeFirstItem(); * strlist->printFromFirst(); * * // Remove the last item * strlist->removeLastItem(); * strlist->printFromFirst(); * * // Number of items * fprintf(stdout,"Number of items = %d\n\n",strlist->getNumItems()); * * // Get first item * item=strlist->getFirst(); * if (item) * { * str=strlist->getString(item); * fprintf(stdout,"str=%s\n",str.text()); * } * * // Get last item * item=strlist->getLast(); * if (item) * { * str=strlist->getString(item); * fprintf(stdout,"str=%s\n",str.text()); * } * * // Get next item * item=strlist->getNext(item); * if (item) * { * str=strlist->getString(item); * fprintf(stdout,"str=%s\n",str.text()); * } * * // Get item at some positions * item=strlist->getItemAtPos(0); * if (item) * { * str=strlist->getString(item); * fprintf(stdout,"item at position 0 : str=%s\n",str.text()); * } * item=strlist->getItemAtPos(3); * if (item) * { * str=strlist->getString(item); * fprintf(stdout,"item at position 3 : str=%s\n",str.text()); * } * * // Remove all items before position 3 * strlist->removeAllItemsBefore(item); * strlist->printFromFirst(); * * // Insert at the end * strlist->insertLastItem("test6"); * strlist->insertLastItem("test7"); * strlist->insertLastItem("test8"); * strlist->printFromFirst(); * * // Remove all items after position 3 * item=strlist->getItemAtPos(3); * strlist->removeAllItemsAfter(item); * strlist->printFromFirst(); * * // Remove all items in the list * //strlist->printFromFirst(); * //strlist->removeAllItems(); * //strlist->printFromFirst(); * * // Delete the list * delete strlist; * } */ xfe-1.42/src/clearlooks.cpp0000644000175100017510000025123412625060322012603 00000000000000// This file contains some FOX functions redefinitions (FOX hacks for the Clearlooks controls) // The Clearlooks controls try to mimic the GTK Clearlooks theme // They are optional and can be set within the Preferences dialog // The hack is done mainly by redefining the onPaint() functions of the various widgets // // Some useful functions and macros // // Draw rectangle with gradient effect // Default is vertical gradient static void drawGradientRectangle(FXDC& dc, FXColor upper, FXColor lower, int x, int y, int w, int h, FXbool vert = true) { register int rr, gg, bb, dr, dg, db, r1, g1, b1, r2, g2, b2, yl, yh, yy, dy, n, t, ww; const int MAXSTEPS = 128; if ((0 < w) && (0 < h)) { // Horizontal gradient : exchange w and h if (!vert) { ww = w; w = h; h = ww; } dc.setStipple(STIPPLE_NONE); dc.setFillStyle(FILL_SOLID); r1 = FXREDVAL(upper); r2 = FXREDVAL(lower); dr = r2-r1; g1 = FXGREENVAL(upper); g2 = FXGREENVAL(lower); dg = g2-g1; b1 = FXBLUEVAL(upper); b2 = FXBLUEVAL(lower); db = b2-b1; n = FXABS(dr); if ((t = FXABS(dg)) > n) { n = t; } if ((t = FXABS(db)) > n) { n = t; } n++; if (n > h) { n = h; } if (n > MAXSTEPS) { n = MAXSTEPS; } rr = (r1<<16)+32767; gg = (g1<<16)+32767; bb = (b1<<16)+32767; yy = 32767; dr = (dr<<16)/n; dg = (dg<<16)/n; db = (db<<16)/n; dy = (h<<16)/n; do { yl = yy>>16; yy += dy; yh = yy>>16; dc.setForeground(FXRGB(rr>>16, gg>>16, bb>>16)); // Vertical gradient if (vert) { dc.fillRectangle(x, y+yl, w, yh-yl); } // Horizontal gradient else { dc.fillRectangle(x+yl, y, yh-yl, w); } rr += dr; gg += dg; bb += db; } while (yh < h); } } // These macros are used to simplify the code // They draw a button in Standard or Clearlooks mode, in up or down state #define DRAW_CLEARLOOKS_BUTTON_UP \ dc.setForeground(backColor); \ dc.drawPoints(basebackground, 4); \ \ dc.setForeground(bordercolor); \ dc.drawRectangle(2, 0, width-5, 0); \ dc.drawRectangle(2, height-1, width-5, height-1); \ dc.drawRectangle(0, 2, 0, height-5); \ dc.drawRectangle(width-1, 2, 0, height-5); \ dc.drawPoints(bordercorners, 4); \ dc.setForeground(shadecolor); \ dc.drawPoints(bordershade, 16); \ \ drawGradientRectangle(dc, topcolor, bottomcolor, 2, 1, width-4, height-2); \ dc.setForeground(topcolor); \ dc.drawRectangle(1, 3, 0, height-7); \ dc.setForeground(bottomcolor); \ dc.drawRectangle(width-2, 3, 0, height-7); #define DRAW_CLEARLOOKS_BUTTON_DOWN \ dc.setForeground(shadecolor); \ dc.fillRectangle(0, 0, width, height); \ \ dc.setForeground(backColor); \ dc.drawPoints(basebackground, 4); \ \ dc.setForeground(bordercolor); \ dc.drawRectangle(2, 0, width-5, 0); \ dc.drawRectangle(2, height-1, width-5, height-1); \ dc.drawRectangle(0, 2, 0, height-5); \ dc.drawRectangle(width-1, 2, 0, height-5); \ dc.drawPoints(bordercorners, 4); \ dc.setForeground(shadecolor); \ dc.drawPoints(bordershade, 16); #define DRAW_STANDARD_BUTTON_UP \ dc.setForeground(backColor); \ dc.fillRectangle(border, border, width-border*2, height-border*2); \ if (options&FRAME_THICK) { \ drawDoubleRaisedRectangle(dc, 0, 0, width, height); } \ else{ \ drawRaisedRectangle(dc, 0, 0, width, height); } #define DRAW_STANDARD_BUTTON_DOWN \ dc.setForeground(hiliteColor); \ dc.fillRectangle(border, border, width-border*2, height-border*2); \ if (options&FRAME_THICK) { \ drawDoubleSunkenRectangle(dc, 0, 0, width, height); } \ else{ \ drawSunkenRectangle(dc, 0, 0, width, height); } #define INIT_CLEARLOOKS \ static FXbool init = true; \ static FXbool use_clearlooks = true; \ static FXColor topcolor, bottomcolor, shadecolor, bordercolor; \ \ FXPoint basebackground[4] = { FXPoint(0, 0), FXPoint(width-1, 0), FXPoint(0, height-1), \ FXPoint(width-1, height-1) }; \ FXPoint bordershade[16] = { FXPoint(0, 1), FXPoint(1, 0), FXPoint(1, 2), FXPoint(2, 1), \ FXPoint(width-2, 0), FXPoint(width-1, 1), FXPoint(width-3, 1), \ FXPoint(width-2, 2), FXPoint(0, height-2), FXPoint(1, height-1), \ FXPoint(1, height-3), FXPoint(2, height-2), \ FXPoint(width-1, height-2), FXPoint(width-2, height-1), \ FXPoint(width-2, height-3), FXPoint(width-3, height-2) \ }; \ FXPoint bordercorners[4] = { FXPoint(1, 1), FXPoint(1, height-2), FXPoint(width-2, 1), \ FXPoint(width-2, height-2) }; \ \ if (init) \ { \ use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); \ \ if (use_clearlooks) \ { \ FXuint r = FXREDVAL(baseColor); \ FXuint g = FXGREENVAL(baseColor); \ FXuint b = FXBLUEVAL(baseColor); \ \ topcolor = FXRGB(FXMIN(1.1*r, 255), FXMIN(1.1*g, 255), FXMIN(1.1*b, 255)); \ (void)topcolor; /* Hack to avoid unused variable compiler warning */ \ bottomcolor = FXRGB(0.9*r, 0.9*g, 0.9*b); \ (void)bottomcolor; /* Hack to avoid unused variable compiler warning */ \ shadecolor = FXRGB(0.9*r, 0.9*g, 0.9*b); \ bordercolor = FXRGB(0.5*r, 0.5*g, 0.5*b); \ } \ init = false; \ } // // Hack of FXButton (button with gradient effect and rounded corners) // Original author : Sander Jansen // // Handle repaint long FXButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks INIT_CLEARLOOKS FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); int tw = 0, th = 0, iw = 0, ih = 0, tx, ty, ix, iy; // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { // Toolbar style if (options&BUTTON_TOOLBAR) { // Enabled and cursor inside, and up if (isEnabled() && underCursor() && (state == STATE_UP)) { DRAW_CLEARLOOKS_BUTTON_UP } // Enabled and cursor inside and down else if (isEnabled() && underCursor() && (state == STATE_DOWN)) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Enabled and checked else if (isEnabled() && (state == STATE_ENGAGED)) { DRAW_CLEARLOOKS_BUTTON_UP } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw in up state if disabled or up if (!isEnabled() || (state == STATE_UP)) { DRAW_CLEARLOOKS_BUTTON_UP } // Draw in down state if enabled and either checked or pressed else { DRAW_CLEARLOOKS_BUTTON_DOWN } } } // End of gradient painting // Normal flat rectangular button else { // Got a border at all? if (options&(FRAME_RAISED|FRAME_SUNKEN)) { // Toolbar style if (options&BUTTON_TOOLBAR) { // Enabled and cursor inside, and up if (isEnabled() && underCursor() && (state == STATE_UP)) { DRAW_STANDARD_BUTTON_UP } // Enabled and cursor inside and down else if (isEnabled() && underCursor() && (state == STATE_DOWN)) { DRAW_STANDARD_BUTTON_DOWN } // Enabled and checked else if (isEnabled() && (state == STATE_ENGAGED)) { DRAW_STANDARD_BUTTON_DOWN } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw in up state if disabled or up if (!isEnabled() || (state == STATE_UP)) { DRAW_STANDARD_BUTTON_UP } // Draw sunken if enabled and either checked or pressed // Caution! This one is different! else { if (state == STATE_ENGAGED) { dc.setForeground(hiliteColor); } else { dc.setForeground(backColor); } dc.fillRectangle(border, border, width-border*2, height-border*2); if (options&FRAME_THICK) { drawDoubleSunkenRectangle(dc, 0, 0, width, height); } else { drawSunkenRectangle(dc, 0, 0, width, height); } } } } // No borders else { if (isEnabled() && (state == STATE_ENGAGED)) { dc.setForeground(hiliteColor); dc.fillRectangle(0, 0, width, height); } else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } } // End of normal painting // Place text & icon if (!label.empty()) { tw = labelWidth(label); th = labelHeight(label); } if (icon) { iw = icon->getWidth(); ih = icon->getHeight(); } just_x(tx, ix, tw, iw); just_y(ty, iy, th, ih); // Shift a bit when pressed if (state && (options&(FRAME_RAISED|FRAME_SUNKEN))) { ++tx; ++ty; ++ix; ++iy; } // Draw enabled state if (isEnabled()) { if (icon) { dc.drawIcon(icon, ix, iy); } if (!label.empty()) { dc.setFont(font); dc.setForeground(textColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } if (hasFocus()) { dc.drawFocusRectangle(border+1, border+1, width-2*border-2, height-2*border-2); } } // Draw grayed-out state else { if (icon) { dc.drawIconSunken(icon, ix, iy); } if (!label.empty()) { dc.setFont(font); dc.setForeground(hiliteColor); drawLabel(dc, label, hotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } } return(1); } // // Hack of FXCheckButton // // Handle repaint long FXCheckButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks (don't use the macro because here it's different) static FXbool init = true; static FXbool use_clearlooks = true; static FXColor shadecolor, bordercolor; if (init) { use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); if (use_clearlooks) { FXuint r = FXREDVAL(baseColor); FXuint g = FXGREENVAL(baseColor); FXuint b = FXBLUEVAL(baseColor); shadecolor = FXRGB(0.9*r, 0.9*g, 0.9*b); bordercolor = FXRGB(0.5*r, 0.5*g, 0.5*b); } init = false; } FXEvent* ev = (FXEvent*)ptr; FXint tw = 0, th = 0, tx, ty, ix, iy; FXDCWindow dc(this, ev); // Figure text size if (!label.empty()) { tw = labelWidth(label); th = labelHeight(label); } // Placement just_x(tx, ix, tw, 13); just_y(ty, iy, th, 13); // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { // Widget background dc.setForeground(backColor); dc.fillRectangle(ev->rect.x, ev->rect.y, ev->rect.w, ev->rect.h); // Check background if ((check == MAYBE) || !isEnabled()) { dc.setForeground(baseColor); } else { dc.setForeground(boxColor); } // Check border for + if (options&CHECKBUTTON_PLUS) { dc.fillRectangle(ix+2, iy+2, 9, 9); dc.setForeground(bordercolor); dc.drawRectangle(ix+2, iy+2, 8, 8); } // Check border for v else { // Check background dc.fillRectangle(ix+2, iy+2, 9, 9); // Border dc.setForeground(bordercolor); dc.drawRectangle(ix+2, iy+1, 8, 0); dc.drawRectangle(ix+2, iy+11, 8, 0); dc.drawRectangle(ix+1, iy+2, 0, 8); dc.drawRectangle(ix+11, iy+2, 0, 8); // Border corners FXPoint checkcorners[4] = { FXPoint(ix+1, iy+1), FXPoint(ix+1, iy+11), \ FXPoint(ix+11, iy+1), FXPoint(ix+11, iy+11) }; dc.setForeground(shadecolor); dc.drawPoints(checkcorners, 4); } // Check color if ((check == MAYBE) || !isEnabled()) { dc.setForeground(shadowColor); } else { dc.setForeground(checkColor); } } // Normal flat rectangular button else { // Widget background dc.setForeground(backColor); dc.fillRectangle(ev->rect.x, ev->rect.y, ev->rect.w, ev->rect.h); // Check background if ((check == MAYBE) || !isEnabled()) { dc.setForeground(baseColor); } else { dc.setForeground(boxColor); } dc.fillRectangle(ix+2, iy+2, 9, 9); // Check border for + if (options&CHECKBUTTON_PLUS) { dc.setForeground(textColor); dc.drawRectangle(ix+2, iy+2, 8, 8); } // Check border for v else { dc.setForeground(shadowColor); dc.fillRectangle(ix, iy, 12, 1); dc.fillRectangle(ix, iy, 1, 12); dc.setForeground(borderColor); dc.fillRectangle(ix+1, iy+1, 10, 1); dc.fillRectangle(ix+1, iy+1, 1, 10); dc.setForeground(hiliteColor); dc.fillRectangle(ix, iy+12, 13, 1); dc.fillRectangle(ix+12, iy, 1, 13); dc.setForeground(baseColor); dc.fillRectangle(ix+1, iy+11, 11, 1); dc.fillRectangle(ix+11, iy+1, 1, 11); } // Check color if ((check == MAYBE) || !isEnabled()) { dc.setForeground(shadowColor); } else { dc.setForeground(checkColor); } } // Show as + if (options&CHECKBUTTON_PLUS) { if (check != true) { dc.fillRectangle(ix+6, iy+4, 1, 5); } dc.fillRectangle(ix+4, iy+6, 5, 1); } // Show as v else { if (check != false) { FXSegment seg[6]; seg[0].x1 = 3+ix; seg[0].y1 = 5+iy; seg[0].x2 = 5+ix; seg[0].y2 = 7+iy; seg[1].x1 = 3+ix; seg[1].y1 = 6+iy; seg[1].x2 = 5+ix; seg[1].y2 = 8+iy; seg[2].x1 = 3+ix; seg[2].y1 = 7+iy; seg[2].x2 = 5+ix; seg[2].y2 = 9+iy; seg[3].x1 = 5+ix; seg[3].y1 = 7+iy; seg[3].x2 = 9+ix; seg[3].y2 = 3+iy; seg[4].x1 = 5+ix; seg[4].y1 = 8+iy; seg[4].x2 = 9+ix; seg[4].y2 = 4+iy; seg[5].x1 = 5+ix; seg[5].y1 = 9+iy; seg[5].x2 = 9+ix; seg[5].y2 = 5+iy; dc.drawLineSegments(seg, 6); } } // Text if (!label.empty()) { dc.setFont(font); if (isEnabled()) { dc.setForeground(textColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); if (hasFocus()) { dc.drawFocusRectangle(tx-1, ty-1, tw+2, th+2); } } else { dc.setForeground(hiliteColor); drawLabel(dc, label, hotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } } // Frame drawFrame(dc, 0, 0, width, height); return(1); } // // Hack of FXTextField // // Handle repaint long FXTextField::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks INIT_CLEARLOOKS FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); // Draw frame drawFrame(dc, 0, 0, width, height); // Draw background dc.setForeground(backColor); dc.fillRectangle(border, border, width-(border<<1), height-(border<<1)); // !!! Hack to get an optional rounded rectangle shape // only if _TEXTFIELD_NOFRAME is not specified !!! if ( (!(options&_TEXTFIELD_NOFRAME)) & use_clearlooks ) { // Outside Background dc.setForeground(baseColor); dc.fillRectangle(0, 0, width, height); dc.drawPoints(basebackground, 4); // Border dc.setForeground(bordercolor); dc.drawRectangle(2, 0, width-5, 0); dc.drawRectangle(2, height-1, width-5, height-1); dc.drawRectangle(0, 2, 0, height-5); dc.drawRectangle(width-1, 2, 0, height-5); dc.drawPoints(bordercorners, 4); dc.setForeground(shadecolor); dc.drawPoints(bordershade, 16); dc.setForeground(backColor); dc.fillRectangle(2, 1, width-4, height-2); } // !!! End of hack // Draw text, clipped against frame interior dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); drawTextRange(dc, 0, contents.length()); // Draw caret if (flags&FLAG_CARET) { int xx = coord(cursor)-1; dc.setForeground(cursorColor); dc.fillRectangle(xx, padtop+border, 1, height-padbottom-padtop-(border<<1)); dc.fillRectangle(xx-2, padtop+border, 5, 1); dc.fillRectangle(xx-2, height-border-padbottom-1, 5, 1); } return(1); } // // Hack of FXToggleButton // // Handle repaint long FXToggleButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks INIT_CLEARLOOKS int tw = 0, th = 0, iw = 0, ih = 0, tx, ty, ix, iy; FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { // Button style is toolbar if (options&TOGGLEBUTTON_TOOLBAR) { // Enabled and cursor inside and button down if (down || ((options&TOGGLEBUTTON_KEEPSTATE) && state)) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Enabled and cursor inside but button not down else if (isEnabled() && underCursor()) { DRAW_CLEARLOOKS_BUTTON_UP } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Button style is normal else { // Button down if (down || ((options&TOGGLEBUTTON_KEEPSTATE) && state)) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Button up else { DRAW_CLEARLOOKS_BUTTON_UP } } } // End of gradient painting // Normal flat rectangular button else { // Got a border at all? if (options&(FRAME_RAISED|FRAME_SUNKEN)) { // Button style is normal if (options&TOGGLEBUTTON_TOOLBAR) { // Enabled and cursor inside and down if (down || ((options&TOGGLEBUTTON_KEEPSTATE) && state)) { DRAW_STANDARD_BUTTON_DOWN } // Enabled and cursor inside, and up else if (isEnabled() && underCursor()) { DRAW_STANDARD_BUTTON_UP } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Button style is normal else { // Draw sunken if pressed if (down || ((options&TOGGLEBUTTON_KEEPSTATE) && state)) { DRAW_STANDARD_BUTTON_DOWN } // Draw raised if not currently pressed down else { DRAW_STANDARD_BUTTON_UP } } } // No borders else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // End of normal painting // Place text & icon if (state && !altlabel.empty()) { tw = labelWidth(altlabel); th = labelHeight(altlabel); } else if (!label.empty()) { tw = labelWidth(label); th = labelHeight(label); } if (state && alticon) { iw = alticon->getWidth(); ih = alticon->getHeight(); } else if (icon) { iw = icon->getWidth(); ih = icon->getHeight(); } just_x(tx, ix, tw, iw); just_y(ty, iy, th, ih); // Shift a bit when pressed if ((down || ((options&TOGGLEBUTTON_KEEPSTATE) && state)) && (options&(FRAME_RAISED|FRAME_SUNKEN))) { ++tx; ++ty; ++ix; ++iy; } // Draw enabled state if (isEnabled()) { if (state && alticon) { dc.drawIcon(alticon, ix, iy); } else if (icon) { dc.drawIcon(icon, ix, iy); } if (state && !altlabel.empty()) { dc.setFont(font); dc.setForeground(textColor); drawLabel(dc, altlabel, althotoff, tx, ty, tw, th); } else if (!label.empty()) { dc.setFont(font); dc.setForeground(textColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } if (hasFocus()) { dc.drawFocusRectangle(border+1, border+1, width-2*border-2, height-2*border-2); } } // Draw grayed-out state else { if (state && alticon) { dc.drawIconSunken(alticon, ix, iy); } else if (icon) { dc.drawIconSunken(icon, ix, iy); } if (state && !altlabel.empty()) { dc.setFont(font); dc.setForeground(hiliteColor); drawLabel(dc, altlabel, althotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, altlabel, althotoff, tx, ty, tw, th); } else if (!label.empty()) { dc.setFont(font); dc.setForeground(hiliteColor); drawLabel(dc, label, hotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } } return(1); } // // Hack of FXScrollBar // // Draw scrollbar button with gradient effect and nice grip static void drawGradientScrollButton(FXDCWindow& dc, FXColor topcolor, FXColor bottomcolor, FXColor shadecolor, FXColor lightcolor, FXuint options, int x, int y, int w, int h) { // Fill rectangle with gradient in the right direction (vertical or horizontal) FXbool vertical = ((options&SCROLLBAR_HORIZONTAL) ? true : false); drawGradientRectangle(dc, topcolor, bottomcolor, x, y, w, h, vertical); // Draw button borders dc.setForeground(lightcolor); dc.fillRectangle(x+1, y+1, w-1, 1); dc.fillRectangle(x+1, y+1, 1, h-2); dc.setForeground(shadecolor); dc.fillRectangle(x, y, w, 1); dc.fillRectangle(x, y, 1, h-1); dc.fillRectangle(x, y+h-1, w, 1); dc.fillRectangle(x+w-1, y, 1, h); // Draw grip lines for horizontal scrollbar if ((options&SCROLLBAR_HORIZONTAL)) { dc.setForeground(shadecolor); dc.fillRectangle(x+w/2-3, y+4, 1, h-7); dc.fillRectangle(x+w/2, y+4, 1, h-7); dc.fillRectangle(x+w/2+3, y+4, 1, h-7); dc.setForeground(lightcolor); dc.fillRectangle(x+w/2-2, y+4, 1, h-7); dc.fillRectangle(x+w/2+1, y+4, 1, h-7); dc.fillRectangle(x+w/2+4, y+4, 1, h-7); } // Draw grip lines for vertical scrollbar else { dc.setForeground(shadecolor); dc.fillRectangle(x+4, y+h/2-3, w-7, 1); dc.fillRectangle(x+4, y+h/2, w-7, 1); dc.fillRectangle(x+4, y+h/2+3, w-7, 1); dc.setForeground(lightcolor); dc.fillRectangle(x+4, y+h/2-2, w-7, 1); dc.fillRectangle(x+4, y+h/2+1, w-7, 1); dc.fillRectangle(x+4, y+h/2+4, w-7, 1); } } // Small hack to set the minimum length of the scrollbar button to barsize*2 instead of barsize/2 void FXScrollBar::setPosition(int p) { int total, travel, lo, hi, l, h; pos = p; if (pos < 0) { pos = 0; } if (pos > (range-page)) { pos = range-page; } lo = thumbpos; hi = thumbpos+thumbsize; if (options&SCROLLBAR_HORIZONTAL) { total = width-height-height; thumbsize = (total*page)/range; // !!! Hack to change the minimum button size !!! if (thumbsize < (barsize<<1)) { thumbsize = (barsize<<1); } // !!! End of hack !!! travel = total-thumbsize; if (range > page) { thumbpos = height+(int)((((double)pos)*travel)/(range-page)); } else { thumbpos = height; } l = thumbpos; h = thumbpos+thumbsize; if ((l != lo) || (h != hi)) { update(FXMIN(l, lo), 0, FXMAX(h, hi)-FXMIN(l, lo), height); } } else { total = height-width-width; thumbsize = (total*page)/range; // !!! Hack to change the minimum button size !!! if (thumbsize < (barsize<<1)) { thumbsize = (barsize<<1); } // !!! End of hack !!! travel = total-thumbsize; if (range > page) { thumbpos = width+(int)((((double)pos)*travel)/(range-page)); } else { thumbpos = width; } l = thumbpos; h = thumbpos+thumbsize; if ((l != lo) || (h != hi)) { update(0, FXMIN(l, lo), width, FXMAX(h, hi)-FXMIN(l, lo)); } } } // Arrow directions enum { _ARROW_LEFT, _ARROW_RIGHT, _ARROW_UP, _ARROW_DOWN }; // Draw arrow button in scrollbar with gradient effect and rounded corners (Clearlooks) static void drawGradientArrowButton(FXDCWindow& dc, FXColor backcolor, FXColor topcolor, FXColor bottomcolor, FXColor shadecolor, FXColor lightcolor, FXColor bordercolor, FXColor arrowcolor, FXuint options, int x, int y, int w, int h, FXbool down, FXuint direction) { FXPoint arrowpoints[3]; int xx, yy, ah, ab; FXPoint basebackground[2]; FXPoint bordershade[8]; FXPoint bordercorners[2]; // Rounded corner and arrow point coordinates depend on the button direction if (direction == _ARROW_UP) { // Rounded corners basebackground[0] = FXPoint(0, 0); basebackground[1] = FXPoint(w-1, 0); bordercorners[0] = FXPoint(1, 1); bordercorners[1] = FXPoint(w-2, 1); bordershade[0] = FXPoint(0, 1); bordershade[1] = FXPoint(1, 0); bordershade[2] = FXPoint(1, 2); bordershade[3] = FXPoint(2, 1); bordershade[4] = FXPoint(w-2, 0); bordershade[5] = FXPoint(w-1, 1); bordershade[6] = FXPoint(w-3, 1); bordershade[7] = FXPoint(w-2, 2); // Arrow points ab = (w-7)|1; ah = ab>>1; xx = x+((w-ab)>>1); yy = y+((h-ah)>>1); if (down) { ++xx; ++yy; } arrowpoints[0] = FXPoint(xx+(ab>>1), yy-1); arrowpoints[1] = FXPoint(xx, yy+ah); arrowpoints[2] = FXPoint(xx+ab, yy+ah); } else if (direction == _ARROW_DOWN) { // Rounded corners basebackground[0] = FXPoint(x, y+h-1); basebackground[1] = FXPoint(x+w-1, y+h-1); bordercorners[0] = FXPoint(x+1, y+h-2); bordercorners[1] = FXPoint(x+w-2, y+h-2); bordershade[0] = FXPoint(x, y+h-2); bordershade[1] = FXPoint(x+1, y+h-1); bordershade[2] = FXPoint(x+1, y+h-3); bordershade[3] = FXPoint(x+2, y+h-2); bordershade[4] = FXPoint(x+w-1, y+h-2); bordershade[5] = FXPoint(x+w-2, y+h-1); bordershade[6] = FXPoint(x+w-2, y+h-3); bordershade[7] = FXPoint(x+w-3, y+h-2); // Arrow points ab = (w-7)|1; ah = ab>>1; xx = x+((w-ab)>>1); yy = y+((h-ah)>>1); if (down) { ++xx; ++yy; } arrowpoints[0] = FXPoint(xx+1, yy); arrowpoints[1] = FXPoint(xx+ab-1, yy); arrowpoints[2] = FXPoint(xx+(ab>>1), yy+ah); } else if (direction == _ARROW_LEFT) { // Rounded corners basebackground[0] = FXPoint(0, 0); basebackground[1] = FXPoint(0, h-1); bordercorners[0] = FXPoint(1, 1); bordercorners[1] = FXPoint(1, h-2); bordershade[0] = FXPoint(0, 1); bordershade[1] = FXPoint(1, 0); bordershade[2] = FXPoint(1, 2); bordershade[3] = FXPoint(2, 1); bordershade[4] = FXPoint(0, h-2); bordershade[5] = FXPoint(1, h-1); bordershade[6] = FXPoint(1, h-3); bordershade[7] = FXPoint(2, h-2); // Arrow points ab = (h-7)|1; ah = ab>>1; xx = x+((w-ah)>>1); yy = y+((h-ab)>>1); if (down) { ++xx; ++yy; } arrowpoints[0] = FXPoint(xx+ah, yy); arrowpoints[1] = FXPoint(xx+ah, yy+ab-1); arrowpoints[2] = FXPoint(xx, yy+(ab>>1)); } else // _ARROW_RIGHT { // Rounded corners basebackground[0] = FXPoint(x+w-1, y); basebackground[1] = FXPoint(x+w-1, y+h-1); bordercorners[0] = FXPoint(x+w-2, y+1); bordercorners[1] = FXPoint(x+w-2, y+h-2); bordershade[0] = FXPoint(x+w-2, y); bordershade[1] = FXPoint(x+w-1, y+1); bordershade[2] = FXPoint(x+w-3, y+1); bordershade[3] = FXPoint(x+w-2, y+2); bordershade[4] = FXPoint(x+w-1, y+h-2); bordershade[5] = FXPoint(x+w-2, y+h-1); bordershade[6] = FXPoint(x+w-2, y+h-3); bordershade[7] = FXPoint(x+w-3, y+h-2); // Arrow points ab = (h-7)|1; ah = ab>>1; xx = x+((w-ah)>>1); yy = y+((h-ab)>>1); if (down) { ++xx; ++yy; } arrowpoints[0] = FXPoint(xx, yy); arrowpoints[1] = FXPoint(xx, yy+ab-1); arrowpoints[2] = FXPoint(xx+ah, yy+(ab>>1)); } // Draw button when up if (!down) { // Fill rectangle with gradient in the right direction (vertical or horizontal) FXbool vertical = ((options&SCROLLBAR_HORIZONTAL) ? true : false); drawGradientRectangle(dc, topcolor, bottomcolor, x, y, w, h, vertical); // Button borders dc.setForeground(lightcolor); dc.fillRectangle(x+1, y+1, w-1, 1); dc.fillRectangle(x+1, y+1, 1, h-2); dc.setForeground(shadecolor); dc.fillRectangle(x, y, w, 1); dc.fillRectangle(x, y, 1, h-1); dc.fillRectangle(x, y+h-1, w, 1); dc.fillRectangle(x+w-1, y, 1, h); // Rounded corners dc.setForeground(backcolor); dc.drawPoints(basebackground, 2); dc.setForeground(shadecolor); dc.drawPoints(bordercorners, 2); dc.setForeground(bordercolor); dc.drawPoints(bordershade, 8); // Arrow dc.setForeground(arrowcolor); dc.fillPolygon(arrowpoints, 3); } // Draw button when down (pressed) else { // Dark background dc.setForeground(bordercolor); dc.fillRectangle(x, y, w, h); // Button borders dc.setForeground(lightcolor); dc.fillRectangle(x+1, y+1, w-1, 1); dc.fillRectangle(x+1, y+1, 1, h-2); dc.setForeground(shadecolor); dc.fillRectangle(x, y, w, 1); dc.fillRectangle(x, y, 1, h-1); dc.fillRectangle(x, y+h-1, w, 1); dc.fillRectangle(x+w-1, y, 1, h); // Rounded corners dc.setForeground(backcolor); dc.drawPoints(basebackground, 2); dc.setForeground(shadecolor); dc.drawPoints(bordercorners, 2); dc.setForeground(bordercolor); dc.drawPoints(bordershade, 8); // Arrow dc.setForeground(arrowcolor); dc.fillPolygon(arrowpoints, 3); } } // Draw flat scrollbar button with selected colors static void drawFlatScrollButton(FXDCWindow& dc, FXint x, FXint y, FXint w, FXint h, FXbool down, FXColor hilitecolor, FXColor shadowcolor, FXColor bordercolor, FXColor scrollbarcolor) { dc.setForeground(scrollbarcolor); dc.fillRectangle(x+2, y+2, w-4, h-4); if (!down) { dc.setForeground(scrollbarcolor); dc.fillRectangle(x, y, w-1, 1); dc.fillRectangle(x, y, 1, h-1); dc.setForeground(hilitecolor); dc.fillRectangle(x+1, y+1, w-2, 1); dc.fillRectangle(x+1, y+1, 1, h-2); dc.setForeground(shadowcolor); dc.fillRectangle(x+1, y+h-2, w-2, 1); dc.fillRectangle(x+w-2, y+1, 1, h-2); dc.setForeground(bordercolor); dc.fillRectangle(x, y+h-1, w, 1); dc.fillRectangle(x+w-1, y, 1, h); } else { dc.setForeground(bordercolor); dc.fillRectangle(x, y, w-2, 1); dc.fillRectangle(x, y, 1, h-2); dc.setForeground(shadowcolor); dc.fillRectangle(x+1, y+1, w-3, 1); dc.fillRectangle(x+1, y+1, 1, h-3); dc.setForeground(hilitecolor); dc.fillRectangle(x, y+h-1, w-1, 1); dc.fillRectangle(x+w-1, y+1, 1, h-1); dc.setForeground(scrollbarcolor); dc.fillRectangle(x+1, y+h-2, w-1, 1); dc.fillRectangle(x+w-2, y+2, 1, h-2); } } // Handle repaint long FXScrollBar::onPaint(FXObject*, FXSelector, void* ptr) { // Caution! Don't use the macro here because it's slightly different static FXbool init = true; static FXbool use_clearlooks = true; static FXColor bg_topcolor, bg_bottomcolor, bg_shadecolor, bg_bordercolor, bg_lightcolor; static FXColor sb_topcolor, sb_bottomcolor, sb_shadecolor, sb_bordercolor, sb_lightcolor, scrollbarcolor; register FXEvent* ev = (FXEvent*)ptr; register int total; FXDCWindow dc(this, ev); // At first run, select the scrollbar style and color if (init) { use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); scrollbarcolor = getApp()->reg().readColorEntry("SETTINGS", "scrollbarcolor", FXRGB(237, 233, 227)); // Compute gradient colors from the base color if (use_clearlooks) { // Decompose the base color FXuint r = FXREDVAL(backColor); FXuint g = FXGREENVAL(backColor); FXuint b = FXBLUEVAL(backColor); // Compute the gradient colors from the base color (background) bg_topcolor = FXRGB(FXMIN(1.1*r, 255), FXMIN(1.1*g, 255), FXMIN(1.1*b, 255)); bg_bottomcolor = FXRGB(0.9*r, 0.9*g, 0.9*b); bg_shadecolor = FXRGB(0.8*r, 0.8*g, 0.8*b); bg_bordercolor = FXRGB(0.9*r, 0.9*g, 0.9*b); bg_lightcolor = FXRGB(FXMIN(1.3*r, 255), FXMIN(1.3*g, 255), FXMIN(1.3*b, 255)); // Compute the gradient colors from the base color (scrollbar) r = FXREDVAL(scrollbarcolor); g = FXGREENVAL(scrollbarcolor); b = FXBLUEVAL(scrollbarcolor); sb_topcolor = FXRGB(FXMIN(1.1*r, 255), FXMIN(1.1*g, 255), FXMIN(1.1*b, 255)); sb_bottomcolor = FXRGB(0.9*r, 0.9*g, 0.9*b); sb_shadecolor = FXRGB(0.8*r, 0.8*g, 0.8*b); sb_bordercolor = FXRGB(0.9*r, 0.9*g, 0.9*b); (void)sb_bordercolor; // Hack to avoid unused variable compiler warning sb_lightcolor = FXRGB(FXMIN(1.3*r, 255), FXMIN(1.3*g, 255), FXMIN(1.3*b, 255)); } init = false; } // Nice scrollbar with gradient and rounded corners if (use_clearlooks) { if (options&SCROLLBAR_HORIZONTAL) { total = width-height-height; if (thumbsize < total) // Scrollable { drawGradientScrollButton(dc, sb_topcolor, sb_bottomcolor, sb_shadecolor, sb_lightcolor, options, thumbpos, 0, thumbsize, height); dc.setForeground(bg_bordercolor); dc.setBackground(backColor); dc.fillRectangle(height, 0, thumbpos-height, height); dc.fillRectangle(thumbpos+thumbsize, 0, width-height-thumbpos-thumbsize, height); } else // Non-scrollable { dc.setForeground(bg_bordercolor); dc.setBackground(backColor); dc.fillRectangle(height, 0, total, height); } drawGradientArrowButton(dc, backColor, bg_topcolor, bg_bottomcolor, bg_shadecolor, bg_lightcolor, bg_bordercolor, arrowColor, options, width-height, 0, height, height, (mode == MODE_INC), _ARROW_RIGHT); drawGradientArrowButton(dc, backColor, bg_topcolor, bg_bottomcolor, bg_shadecolor, bg_lightcolor, bg_bordercolor, arrowColor, options, 0, 0, height, height, (mode == MODE_DEC), _ARROW_LEFT); } // Vertical else { total = height-width-width; if (thumbsize < total) // Scrollable { drawGradientScrollButton(dc, sb_topcolor, sb_bottomcolor, sb_shadecolor, sb_lightcolor, options, 0, thumbpos, width, thumbsize); dc.setForeground(bg_bordercolor); dc.setBackground(backColor); dc.fillRectangle(0, width, width, thumbpos-width); dc.fillRectangle(0, thumbpos+thumbsize, width, height-width-thumbpos-thumbsize); } else // Non-scrollable { dc.setForeground(bg_bordercolor); dc.setBackground(backColor); dc.fillRectangle(0, width, width, total); } drawGradientArrowButton(dc, backColor, bg_topcolor, bg_bottomcolor, bg_shadecolor, bg_lightcolor, bg_bordercolor, arrowColor, options, 0, height-width, width, width, (mode == MODE_INC), _ARROW_DOWN); drawGradientArrowButton(dc, backColor, bg_topcolor, bg_bottomcolor, bg_shadecolor, bg_lightcolor, bg_bordercolor, arrowColor, options, 0, 0, width, width, (mode == MODE_DEC), _ARROW_UP); } } // Standard (flat) scrollbar with selected color else { if (options&SCROLLBAR_HORIZONTAL) { total = width-height-height; if (thumbsize < total) // Scrollable { drawFlatScrollButton(dc, thumbpos, 0, thumbsize, height, 0, hiliteColor, shadowColor, borderColor, scrollbarcolor); dc.setStipple(STIPPLE_GRAY); dc.setFillStyle(FILL_OPAQUESTIPPLED); if (mode == MODE_PAGE_DEC) { dc.setForeground(backColor); dc.setBackground(shadowColor); } else { dc.setForeground(hiliteColor); dc.setBackground(backColor); } dc.fillRectangle(height, 0, thumbpos-height, height); if (mode == MODE_PAGE_INC) { dc.setForeground(backColor); dc.setBackground(shadowColor); } else { dc.setForeground(hiliteColor); dc.setBackground(backColor); } dc.fillRectangle(thumbpos+thumbsize, 0, width-height-thumbpos-thumbsize, height); } else // Non-scrollable { dc.setStipple(STIPPLE_GRAY); dc.setFillStyle(FILL_OPAQUESTIPPLED); dc.setForeground(hiliteColor); dc.setBackground(backColor); dc.fillRectangle(height, 0, total, height); } dc.setFillStyle(FILL_SOLID); drawButton(dc, width-height, 0, height, height, (mode == MODE_INC)); drawRightArrow(dc, width-height, 0, height, height, (mode == MODE_INC)); drawButton(dc, 0, 0, height, height, (mode == MODE_DEC)); drawLeftArrow(dc, 0, 0, height, height, (mode == MODE_DEC)); } else { total = height-width-width; if (thumbsize < total) // Scrollable { drawFlatScrollButton(dc, 0, thumbpos, width, thumbsize, 0, hiliteColor, shadowColor, borderColor, scrollbarcolor); dc.setStipple(STIPPLE_GRAY); dc.setFillStyle(FILL_OPAQUESTIPPLED); if (mode == MODE_PAGE_DEC) { dc.setForeground(backColor); dc.setBackground(shadowColor); } else { dc.setForeground(hiliteColor); dc.setBackground(backColor); } dc.fillRectangle(0, width, width, thumbpos-width); if (mode == MODE_PAGE_INC) { dc.setForeground(backColor); dc.setBackground(shadowColor); } else { dc.setForeground(hiliteColor); dc.setBackground(backColor); } dc.fillRectangle(0, thumbpos+thumbsize, width, height-width-thumbpos-thumbsize); } else // Non-scrollable { dc.setStipple(STIPPLE_GRAY); dc.setFillStyle(FILL_OPAQUESTIPPLED); dc.setForeground(hiliteColor); dc.setBackground(backColor); dc.fillRectangle(0, width, width, total); } dc.setFillStyle(FILL_SOLID); drawButton(dc, 0, height-width, width, width, (mode == MODE_INC)); drawDownArrow(dc, 0, height-width, width, width, (mode == MODE_INC)); drawButton(dc, 0, 0, width, width, (mode == MODE_DEC)); drawUpArrow(dc, 0, 0, width, width, (mode == MODE_DEC)); } } return(1); } // // Hack of FXComboBox // #define MENUBUTTONARROW_WIDTH 11 #define MENUBUTTONARROW_HEIGHT 5 // Small hack related to the Clearlooks theme FXComboBox::FXComboBox(FXComposite* p, int cols, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h, int pl, int pr, int pt, int pb) : FXPacker(p, opts, x, y, w, h, 0, 0, 0, 0, 0, 0) { flags |= FLAG_ENABLED; target = tgt; message = sel; // !!! Hack to set options to TEXTFIELD_NORMAL instead of 0 (used by the Clearlooks theme) field = new FXTextField(this, cols, this, FXComboBox::ID_TEXT, TEXTFIELD_NORMAL, 0, 0, 0, 0, pl, pr, pt, pb); // !!! End of hack if (options&COMBOBOX_STATIC) { field->setEditable(false); } pane = new FXPopup(this, FRAME_LINE); list = new FXList(pane, this, FXComboBox::ID_LIST, LIST_BROWSESELECT|LIST_AUTOSELECT|LAYOUT_FILL_X|LAYOUT_FILL_Y|SCROLLERS_TRACK|HSCROLLER_NEVER); if (options&COMBOBOX_STATIC) { list->setScrollStyle(SCROLLERS_TRACK|HSCROLLING_OFF); } button = new FXMenuButton(this, FXString::null, NULL, pane, FRAME_RAISED|FRAME_THICK|MENUBUTTON_DOWN|MENUBUTTON_ATTACH_RIGHT, 0, 0, 0, 0, 0, 0, 0, 0); button->setXOffset(border); button->setYOffset(border); flags &= ~FLAG_UPDATE; // Never GUI update } // // Hack of FXMenuTitle // // This hack adds an optional gradient with rounded corner theme to the menu title (Clearlooks) // Handle repaint long FXMenuTitle::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks FXColor baseColor = backColor; INIT_CLEARLOOKS FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); FXint xx, yy; dc.setFont(font); xx = 6; yy = 0; if (isEnabled()) { if (isActive()) { // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { dc.setForeground(selbackColor); dc.fillRectangle(0, 0, width, height); dc.setForeground(backColor); dc.drawPoints(basebackground, 4); dc.setForeground(bordercolor); dc.drawRectangle(2, 0, width-5, 0); dc.drawRectangle(2, height-1, width-5, height-1); dc.drawRectangle(0, 2, 0, height-5); dc.drawRectangle(width-1, 2, 0, height-5); dc.drawPoints(bordercorners, 4); dc.setForeground(selbackColor); dc.drawPoints(bordershade, 16); } // Normal flat rectangular button else { dc.setForeground(selbackColor); dc.fillRectangle(1, 1, width-2, height-2); dc.setForeground(shadowColor); dc.fillRectangle(0, 0, width, 1); dc.fillRectangle(0, 0, 1, height); dc.setForeground(hiliteColor); dc.fillRectangle(0, height-1, width, 1); dc.fillRectangle(width-1, 0, 1, height); } xx++; yy++; } else if (underCursor()) { // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { DRAW_CLEARLOOKS_BUTTON_UP } // Normal flat rectangular button else { dc.setForeground(backColor); dc.fillRectangle(1, 1, width-2, height-2); dc.setForeground(shadowColor); dc.fillRectangle(0, height-1, width, 1); dc.fillRectangle(width-1, 0, 1, height); dc.setForeground(hiliteColor); dc.fillRectangle(0, 0, width, 1); dc.fillRectangle(0, 0, 1, height); } } else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } if (icon) { dc.drawIcon(icon, xx, yy+(height-icon->getHeight())/2); xx += 5+icon->getWidth(); } if (!label.empty()) { yy += font->getFontAscent()+(height-font->getFontHeight())/2; dc.setForeground(isActive() ? seltextColor : textColor); dc.drawText(xx, yy, label); if (0 <= hotoff) { dc.fillRectangle(xx+font->getTextWidth(&label[0], hotoff), yy+1, font->getTextWidth(&label[hotoff], wclen(&label[hotoff])), 1); } } } else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); if (icon) { dc.drawIconSunken(icon, xx, yy+(height-icon->getHeight())/2); xx += 5+icon->getWidth(); } if (!label.empty()) { yy += font->getFontAscent()+(height-font->getFontHeight())/2; dc.setForeground(hiliteColor); dc.drawText(xx+1, yy+1, label); if (0 <= hotoff) { dc.fillRectangle(xx+font->getTextWidth(&label[0], hotoff), yy+1, font->getTextWidth(&label[hotoff], wclen(&label[hotoff])), 1); } dc.setForeground(shadowColor); dc.drawText(xx, yy, label); if (0 <= hotoff) { dc.fillRectangle(xx+font->getTextWidth(&label[0], hotoff), yy+1, font->getTextWidth(&label[hotoff], wclen(&label[hotoff])), 1); } } } return(1); } // // Hack of FXRadioButton // // Handle repaint long FXRadioButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks (don't use the macro because here it's different) static FXbool init = true; static FXbool use_clearlooks = true; static FXColor bordercolor; if (init) { use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); if (use_clearlooks) { FXuint r = FXREDVAL(baseColor); FXuint g = FXGREENVAL(baseColor); FXuint b = FXBLUEVAL(baseColor); bordercolor = FXRGB(0.5*r, 0.5*g, 0.5*b); } init = false; } FXEvent* ev = (FXEvent*)ptr; FXint tw = 0, th = 0, tx, ty, ix, iy; FXRectangle recs[6]; FXDCWindow dc(this, ev); dc.setForeground(backColor); dc.fillRectangle(ev->rect.x, ev->rect.y, ev->rect.w, ev->rect.h); if (!label.empty()) { tw = labelWidth(label); th = labelHeight(label); } just_x(tx, ix, tw, 13); just_y(ty, iy, th, 13); // Inside recs[0].x = ix+4; recs[0].y = iy+2; recs[0].w = 4; recs[0].h = 1; recs[1].x = ix+3; recs[1].y = iy+3; recs[1].w = 6; recs[1].h = 1; recs[2].x = ix+2; recs[2].y = iy+4; recs[2].w = 8; recs[2].h = 4; recs[3].x = ix+3; recs[3].y = iy+8; recs[3].w = 6; recs[3].h = 1; recs[4].x = ix+4; recs[4].y = iy+9; recs[4].w = 4; recs[4].h = 1; if (!isEnabled()) // fix by Daniel Gehriger (gehriger@linkcad.com) { dc.setForeground(baseColor); } else { dc.setForeground(diskColor); } dc.fillRectangles(recs, 5); // Radio button with Clearlooks appearance if (use_clearlooks) { // Top left inside recs[0].x = ix+4; recs[0].y = iy+1; recs[0].w = 4; recs[0].h = 1; recs[1].x = ix+2; recs[1].y = iy+2; recs[1].w = 2; recs[1].h = 1; recs[2].x = ix+8; recs[2].y = iy+2; recs[2].w = 2; recs[2].h = 1; recs[3].x = ix+2; recs[3].y = iy+3; recs[3].w = 1; recs[3].h = 1; recs[4].x = ix+1; recs[4].y = iy+4; recs[4].w = 1; recs[4].h = 4; recs[5].x = ix+2; recs[5].y = iy+8; recs[5].w = 1; recs[5].h = 2; dc.setForeground(bordercolor); dc.fillRectangles(recs, 6); // Bottom right inside recs[0].x = ix+9; recs[0].y = iy+3; recs[0].w = 1; recs[0].h = 1; recs[1].x = ix+10; recs[1].y = iy+4; recs[1].w = 1; recs[1].h = 4; recs[2].x = ix+9; recs[2].y = iy+8; recs[2].w = 1; recs[2].h = 1; recs[3].x = ix+8; recs[3].y = iy+9; recs[3].w = 2; recs[3].h = 1; recs[4].x = ix+3; recs[4].y = iy+9; recs[4].w = 1; recs[4].h = 1; recs[5].x = ix+4; recs[5].y = iy+10; recs[5].w = 4; recs[5].h = 1; dc.setForeground(bordercolor); dc.fillRectangles(recs, 6); } // Standard radio button else { // Top left outside recs[0].x = ix+4; recs[0].y = iy+0; recs[0].w = 4; recs[0].h = 1; recs[1].x = ix+2; recs[1].y = iy+1; recs[1].w = 2; recs[1].h = 1; recs[2].x = ix+8; recs[2].y = iy+1; recs[2].w = 2; recs[2].h = 1; recs[3].x = ix+1; recs[3].y = iy+2; recs[3].w = 1; recs[3].h = 2; recs[4].x = ix+0; recs[4].y = iy+4; recs[4].w = 1; recs[4].h = 4; recs[5].x = ix+1; recs[5].y = iy+8; recs[5].w = 1; recs[5].h = 2; dc.setForeground(shadowColor); dc.fillRectangles(recs, 6); // Top left inside recs[0].x = ix+4; recs[0].y = iy+1; recs[0].w = 4; recs[0].h = 1; recs[1].x = ix+2; recs[1].y = iy+2; recs[1].w = 2; recs[1].h = 1; recs[2].x = ix+8; recs[2].y = iy+2; recs[2].w = 2; recs[2].h = 1; recs[3].x = ix+2; recs[3].y = iy+3; recs[3].w = 1; recs[3].h = 1; recs[4].x = ix+1; recs[4].y = iy+4; recs[4].w = 1; recs[4].h = 4; recs[5].x = ix+2; recs[5].y = iy+8; recs[5].w = 1; recs[5].h = 2; dc.setForeground(borderColor); dc.fillRectangles(recs, 6); // Bottom right outside recs[0].x = ix+10; recs[0].y = iy+2; recs[0].w = 1; recs[0].h = 2; recs[1].x = ix+11; recs[1].y = iy+4; recs[1].w = 1; recs[1].h = 4; recs[2].x = ix+10; recs[2].y = iy+8; recs[2].w = 1; recs[2].h = 2; recs[3].x = ix+8; recs[3].y = iy+10; recs[3].w = 2; recs[3].h = 1; recs[4].x = ix+2; recs[4].y = iy+10; recs[4].w = 2; recs[4].h = 1; recs[5].x = ix+4; recs[5].y = iy+11; recs[5].w = 4; recs[5].h = 1; dc.setForeground(hiliteColor); dc.fillRectangles(recs, 6); // Bottom right inside recs[0].x = ix+9; recs[0].y = iy+3; recs[0].w = 1; recs[0].h = 1; recs[1].x = ix+10; recs[1].y = iy+4; recs[1].w = 1; recs[1].h = 4; recs[2].x = ix+9; recs[2].y = iy+8; recs[2].w = 1; recs[2].h = 1; recs[3].x = ix+8; recs[3].y = iy+9; recs[3].w = 2; recs[3].h = 1; recs[4].x = ix+3; recs[4].y = iy+9; recs[4].w = 1; recs[4].h = 1; recs[5].x = ix+4; recs[5].y = iy+10; recs[5].w = 4; recs[5].h = 1; dc.setForeground(baseColor); dc.fillRectangles(recs, 6); } // Ball inside if (check != false) { recs[0].x = ix+5; recs[0].y = iy+4; recs[0].w = 2; recs[0].h = 1; recs[1].x = ix+4; recs[1].y = iy+5; recs[1].w = 4; recs[1].h = 2; recs[2].x = ix+5; recs[2].y = iy+7; recs[2].w = 2; recs[2].h = 1; if (isEnabled()) { dc.setForeground(radioColor); } else { dc.setForeground(shadowColor); } dc.fillRectangles(recs, 3); } // Label if (!label.empty()) { dc.setFont(font); if (isEnabled()) { dc.setForeground(textColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); if (hasFocus()) { dc.drawFocusRectangle(tx-1, ty-1, tw+2, th+2); } } else { dc.setForeground(hiliteColor); drawLabel(dc, label, hotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } } drawFrame(dc, 0, 0, width, height); return(1); } // // Hack of FXMenuButton // // Handle repaint long FXMenuButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks INIT_CLEARLOOKS int tw = 0, th = 0, iw = 0, ih = 0, tx, ty, ix, iy; FXEvent* ev = (FXEvent*)ptr; FXPoint points[3]; FXDCWindow dc(this, ev); // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { // Toolbar style if (options&MENUBUTTON_TOOLBAR) { // Enabled and cursor inside, and not popped up if (isEnabled() && underCursor() && !state) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Enabled and popped up else if (isEnabled() && state) { DRAW_CLEARLOOKS_BUTTON_UP } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw in up state if disabled or up if (!isEnabled() || !state) { DRAW_CLEARLOOKS_BUTTON_UP } // If enabled and either checked or pressed else { DRAW_CLEARLOOKS_BUTTON_DOWN } } } // End of gradient painting // Normal flat rectangular button else { // Got a border at all? if (options&(FRAME_RAISED|FRAME_SUNKEN)) { // Toolbar style if (options&MENUBUTTON_TOOLBAR) { // Enabled and cursor inside, and not popped up if (isEnabled() && underCursor() && !state) { DRAW_STANDARD_BUTTON_DOWN } // Enabled and popped up else if (isEnabled() && state) { DRAW_STANDARD_BUTTON_UP } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw in up state if disabled or up if (!isEnabled() || !state) { DRAW_STANDARD_BUTTON_UP } // Draw sunken if enabled and either checked or pressed else { DRAW_STANDARD_BUTTON_DOWN } } } // No borders else { if (isEnabled() && state) { dc.setForeground(hiliteColor); dc.fillRectangle(0, 0, width, height); } else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } } // End of normal painting // Position text & icon if (!label.empty()) { tw = labelWidth(label); th = labelHeight(label); } // Icon? if (icon) { iw = icon->getWidth(); ih = icon->getHeight(); } // Arrows? else if (!(options&MENUBUTTON_NOARROWS)) { if (options&MENUBUTTON_LEFT) { ih = MENUBUTTONARROW_WIDTH; iw = MENUBUTTONARROW_HEIGHT; } else { iw = MENUBUTTONARROW_WIDTH; ih = MENUBUTTONARROW_HEIGHT; } } // Keep some room for the arrow! just_x(tx, ix, tw, iw); just_y(ty, iy, th, ih); // Move a bit when pressed if (state) { ++tx; ++ty; ++ix; ++iy; } // Draw icon if (icon) { if (isEnabled()) { dc.drawIcon(icon, ix, iy); } else { dc.drawIconSunken(icon, ix, iy); } } // Draw arrows else if (!(options&MENUBUTTON_NOARROWS)) { // Right arrow if ((options&MENUBUTTON_RIGHT) == MENUBUTTON_RIGHT) { if (isEnabled()) { dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } points[0].x = ix; points[0].y = iy; points[1].x = ix; points[1].y = iy+MENUBUTTONARROW_WIDTH-1; points[2].x = ix+MENUBUTTONARROW_HEIGHT; points[2].y = (short)(iy+(MENUBUTTONARROW_WIDTH>>1)); dc.fillPolygon(points, 3); } // Left arrow else if (options&MENUBUTTON_LEFT) { if (isEnabled()) { dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } points[0].x = ix+MENUBUTTONARROW_HEIGHT; points[0].y = iy; points[1].x = ix+MENUBUTTONARROW_HEIGHT; points[1].y = iy+MENUBUTTONARROW_WIDTH-1; points[2].x = ix; points[2].y = (short)(iy+(MENUBUTTONARROW_WIDTH>>1)); dc.fillPolygon(points, 3); } // Up arrow else if (options&MENUBUTTON_UP) { if (isEnabled()) { dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } points[0].x = (short)(ix+(MENUBUTTONARROW_WIDTH>>1)); points[0].y = iy-1; points[1].x = ix; points[1].y = iy+MENUBUTTONARROW_HEIGHT; points[2].x = ix+MENUBUTTONARROW_WIDTH; points[2].y = iy+MENUBUTTONARROW_HEIGHT; dc.fillPolygon(points, 3); } // Down arrow else { if (isEnabled()) { dc.setForeground(textColor); } else { dc.setForeground(shadowColor); } points[0].x = ix+1; points[0].y = iy; points[2].x = ix+MENUBUTTONARROW_WIDTH-1; points[2].y = iy; points[1].x = (short)(ix+(MENUBUTTONARROW_WIDTH>>1)); points[1].y = iy+MENUBUTTONARROW_HEIGHT; dc.fillPolygon(points, 3); } } // Draw text if (!label.empty()) { dc.setFont(font); if (isEnabled()) { dc.setForeground(textColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } else { dc.setForeground(hiliteColor); drawLabel(dc, label, hotoff, tx+1, ty+1, tw, th); dc.setForeground(shadowColor); drawLabel(dc, label, hotoff, tx, ty, tw, th); } } // Draw focus if (hasFocus()) { if (isEnabled()) { dc.drawFocusRectangle(border+1, border+1, width-2*border-2, height-2*border-2); } } return(1); } // // Hack of FXArrowButton // // Handle repaint long FXArrowButton::onPaint(FXObject*, FXSelector, void* ptr) { // Initialize Clearlooks INIT_CLEARLOOKS FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); FXPoint points[3]; int xx, yy, ww, hh, q; // Button with nice gradient effect and rounded corners (Clearlooks) if (use_clearlooks) { // Toolbar style if (options&ARROW_TOOLBAR) { // Enabled and cursor inside, and up if (isEnabled() && underCursor() && !state) { DRAW_CLEARLOOKS_BUTTON_UP } // Enabled and cursor inside and down else if (isEnabled() && state) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw sunken if enabled and pressed if (isEnabled() && state) { DRAW_CLEARLOOKS_BUTTON_DOWN } // Draw in up state if disabled or up else { DRAW_CLEARLOOKS_BUTTON_UP } } } // End of gradient painting // Normal flat rectangular button else { // With borders if (options&(FRAME_RAISED|FRAME_SUNKEN)) { // Toolbar style if (options&ARROW_TOOLBAR) { // Enabled and cursor inside, and up if (isEnabled() && underCursor() && !state) { DRAW_STANDARD_BUTTON_UP } // Enabled and cursor inside and down else if (isEnabled() && state) { DRAW_STANDARD_BUTTON_DOWN } // Disabled or unchecked or not under cursor else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } // Normal style else { // Draw sunken if enabled and pressed if (isEnabled() && state) { DRAW_STANDARD_BUTTON_DOWN } // Draw in up state if disabled or up else { DRAW_STANDARD_BUTTON_UP } } } // No borders else { if (isEnabled() && state) { dc.setForeground(hiliteColor); dc.fillRectangle(0, 0, width, height); } else { dc.setForeground(backColor); dc.fillRectangle(0, 0, width, height); } } } // End of normal painting // Compute size of the arrows.... ww = width-padleft-padright-(border<<1); hh = height-padtop-padbottom-(border<<1); if (options&(ARROW_UP|ARROW_DOWN)) { q = ww|1; if (q > (hh<<1)) { q = (hh<<1)-1; } ww = q; hh = q>>1; } else { q = hh|1; if (q > (ww<<1)) { q = (ww<<1)-1; } ww = q>>1; hh = q; } if (options&JUSTIFY_LEFT) { xx = padleft+border; } else if (options&JUSTIFY_RIGHT) { xx = width-ww-padright-border; } else { xx = (width-ww)/2; } if (options&JUSTIFY_TOP) { yy = padtop+border; } else if (options&JUSTIFY_BOTTOM) { yy = height-hh-padbottom-border; } else { yy = (height-hh)/2; } if (state) { ++xx; ++yy; } if (isEnabled()) { dc.setForeground(arrowColor); } else { dc.setForeground(shadowColor); } // NB Size of arrow should stretch if (options&ARROW_UP) { points[0].x = xx+(ww>>1); points[0].y = yy-1; points[1].x = xx; points[1].y = yy+hh; points[2].x = xx+ww; points[2].y = yy+hh; dc.fillPolygon(points, 3); } else if (options&ARROW_DOWN) { points[0].x = xx+1; points[0].y = yy; points[1].x = xx+ww-1; points[1].y = yy; points[2].x = xx+(ww>>1); points[2].y = yy+hh; dc.fillPolygon(points, 3); } else if (options&ARROW_LEFT) { points[0].x = xx+ww; points[0].y = yy; points[1].x = xx+ww; points[1].y = yy+hh-1; points[2].x = xx; points[2].y = yy+(hh>>1); dc.fillPolygon(points, 3); } else if (options&ARROW_RIGHT) { points[0].x = xx; points[0].y = yy; points[1].x = xx; points[1].y = yy+hh-1; points[2].x = xx+ww; points[2].y = yy+(hh>>1); dc.fillPolygon(points, 3); } return(1); } // // Hack of FXProgressBar // // Note : Not implemented for the dial and vertical progress bar! // This hacks assumes that border = 2 // Draw only the interior, i.e. the part that changes void FXProgressBar::drawInterior(FXDCWindow& dc) { static FXbool init = true; static FXbool use_clearlooks = true; static FXColor topcolor, bottomcolor, bordercolor; FXPoint bordercorners[4] = { FXPoint(1, 1), FXPoint(1, height-2), FXPoint(width-2, 1), FXPoint(width-2, height-2) }; // Init Clearlooks (don't use the macro because here it's different) if (init) { use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); if (use_clearlooks) { FXuint r = FXREDVAL(barColor); FXuint g = FXGREENVAL(barColor); FXuint b = FXBLUEVAL(barColor); topcolor = FXRGB(FXMIN(1.2*r, 255), FXMIN(1.2*g, 255), FXMIN(1.2*b, 255)); bottomcolor = FXRGB(0.9*r, 0.9*g, 0.9*b); r = FXREDVAL(baseColor); g = FXGREENVAL(baseColor); b = FXBLUEVAL(baseColor); bordercolor = FXRGB(0.5*r, 0.5*g, 0.5*b); } init = false; } int percent, barlength, barfilled, tx, ty, tw, th, n, d; char numtext[6]; if (options&PROGRESSBAR_DIAL) { // If total is 0, it's 100% barfilled = 23040; percent = 100; if (total != 0) { barfilled = (FXuint)(((double)progress * (double)23040) / (double)total); percent = (FXuint)(((double)progress * 100.0) / (double)total); } tw = width-(border<<1)-padleft-padright; th = height-(border<<1)-padtop-padbottom; d = FXMIN(tw, th)-1; tx = border+padleft+((tw-d)/2); ty = border+padtop+((th-d)/2); if (barfilled != 23040) { dc.setForeground(barBGColor); dc.fillArc(tx, ty, d, d, 5760, 23040-barfilled); } if (barfilled != 0) { dc.setForeground(barColor); dc.fillArc(tx, ty, d, d, 5760, -barfilled); } // Draw outside circle dc.setForeground(borderColor); dc.drawArc(tx+1, ty, d, d, 90*64, 45*64); dc.drawArc(tx, ty+1, d, d, 135*64, 45*64); dc.setForeground(baseColor); dc.drawArc(tx-1, ty, d, d, 270*64, 45*64); dc.drawArc(tx, ty-1, d, d, 315*64, 45*64); dc.setForeground(shadowColor); dc.drawArc(tx, ty, d, d, 45*64, 180*64); dc.setForeground(hiliteColor); dc.drawArc(tx, ty, d, d, 225*64, 180*64); // Draw text if (options&PROGRESSBAR_PERCENTAGE) { dc.setFont(font); tw = font->getTextWidth("100%", 4); if (tw > (10*d)/16) { return; } th = font->getFontHeight(); if (th > d/2) { return; } snprintf(numtext, sizeof(numtext)-1, "%d%%", percent); n = strlen(numtext); tw = font->getTextWidth(numtext, n); th = font->getFontHeight(); tx = tx+d/2-tw/2; ty = ty+d/2+font->getFontAscent()+5; //dc.setForeground(textNumColor); #ifdef HAVE_XFT_H dc.setForeground(barBGColor); // Code for XFT until XFT can use BLT_SRC_XOR_DST dc.drawText(tx-1, ty, numtext, n); dc.drawText(tx+1, ty, numtext, n); dc.drawText(tx, ty-1, numtext, n); dc.drawText(tx, ty+1, numtext, n); dc.setForeground(textNumColor); dc.drawText(tx, ty, numtext, n); #else dc.setForeground(FXRGB(255, 255, 255)); // Original code dc.setFunction(BLT_SRC_XOR_DST); dc.drawText(tx, ty, numtext, n); #endif } } // Vertical bar else if (options&PROGRESSBAR_VERTICAL) { // If total is 0, it's 100% barlength = height-border-border; barfilled = barlength; percent = 100; if (total != 0) { barfilled = (FXuint)(((double)progress * (double)barlength) / (double)total); percent = (FXuint)(((double)progress * 100.0) / (double)total); } // Draw completed bar if (0 < barfilled) { dc.setForeground(barColor); dc.fillRectangle(border, height-border-barfilled, width-(border<<1), barfilled); } // Draw uncompleted bar if (barfilled < barlength) { dc.setForeground(barBGColor); dc.fillRectangle(border, border, width-(border<<1), barlength-barfilled); } // Draw text if (options&PROGRESSBAR_PERCENTAGE) { dc.setFont(font); snprintf(numtext, sizeof(numtext)-1, "%d%%", percent); n = strlen(numtext); tw = font->getTextWidth(numtext, n); th = font->getFontHeight(); ty = (height-th)/2+font->getFontAscent(); tx = (width-tw)/2; if (height-border-barfilled > ty) // In upper side { dc.setForeground(textNumColor); dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); dc.drawText(tx, ty, numtext, n); } else if (ty-th > height-border-barfilled) // In lower side { dc.setForeground(textAltColor); dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); dc.drawText(tx, ty, numtext, n); } else // In between! { dc.setForeground(textAltColor); dc.setClipRectangle(border, height-border-barfilled, width-(border<<1), barfilled); dc.drawText(tx, ty, numtext, n); dc.setForeground(textNumColor); dc.setClipRectangle(border, border, width-(border<<1), barlength-barfilled); dc.drawText(tx, ty, numtext, n); dc.clearClipRectangle(); } } } // Horizontal bar else { // If total is 0, it's 100% barlength = width-border-border; barfilled = barlength; percent = 100; if (total != 0) { barfilled = (FXuint)(((double)progress * (double)barlength) / (double)total); percent = (FXuint)(((double)progress * 100.0) / (double)total); } // Draw uncompleted bar if (barfilled < barlength) { // Clearlooks (gradient with rounded corners) if (use_clearlooks) { dc.setForeground(barBGColor); dc.fillRectangle(border+barfilled+(border>>1), border>>1, barlength-barfilled, height-border); } // Standard (flat) else { dc.setForeground(barBGColor); dc.fillRectangle(border+barfilled, border, barlength-barfilled, height-(border<<1)); } } // Draw completed bar if (0 < barfilled) { // Clearlooks (gradient with rounded corners) if (use_clearlooks) { drawGradientRectangle(dc, topcolor, bottomcolor, border-1, border-1, barfilled+2, height-border, true); dc.setForeground(bordercolor); dc.fillRectangle(barfilled+3, 2, 1, height-(border<<1)); dc.drawPoints(bordercorners, 4); FXPoint barcorners[2] = { FXPoint(barfilled+2, 1), FXPoint(barfilled+2, height-border) }; dc.drawPoints(barcorners, 2); } // Standard (flat) else { dc.setForeground(barColor); dc.fillRectangle(border, border, barfilled, height-(border<<1)); } } // Draw text if (options&PROGRESSBAR_PERCENTAGE) { dc.setFont(font); snprintf(numtext, sizeof(numtext)-1, "%d%%", percent); n = strlen(numtext); tw = font->getTextWidth(numtext, n); th = font->getFontHeight(); ty = (height-th)/2+font->getFontAscent(); tx = (width-tw)/2; if (border+barfilled <= tx) // In right side { dc.setForeground(textNumColor); dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); dc.drawText(tx, ty, numtext, n); } else if (tx+tw <= border+barfilled) // In left side { dc.setForeground(textAltColor); dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); dc.drawText(tx, ty, numtext, n); } else // In between! { dc.setForeground(textAltColor); dc.setClipRectangle(border, border, barfilled, height); dc.drawText(tx, ty, numtext, n); dc.setForeground(textNumColor); dc.setClipRectangle(border+barfilled, border, barlength-barfilled, height); dc.drawText(tx, ty, numtext, n); dc.clearClipRectangle(); } } } } // Draw the progress bar long FXProgressBar::onPaint(FXObject*,FXSelector,void *ptr) { // Initialize Clearlooks INIT_CLEARLOOKS FXEvent *event=(FXEvent*)ptr; FXDCWindow dc(this,event); // Draw borders if any drawFrame(dc,0,0,width,height); // Background dc.setForeground(getBaseColor()); dc.fillRectangle(border,border,width-(border<<1),height-(border<<1)); // !!! Hack to get an optional rounded rectangle shape // only if _TEXTFIELD_NOFRAME is not specified !!! if ( (!(options&_TEXTFIELD_NOFRAME)) & use_clearlooks ) { // Outside Background dc.setForeground(baseColor); dc.fillRectangle(0, 0, width, height); dc.drawPoints(basebackground, 4); // Border dc.setForeground(bordercolor); dc.drawRectangle(2, 0, width-5, 0); dc.drawRectangle(2, height-1, width-5, height-1); dc.drawRectangle(0, 2, 0, height-5); dc.drawRectangle(width-1, 2, 0, height-5); dc.drawPoints(bordercorners, 4); dc.setForeground(shadecolor); dc.drawPoints(bordershade, 16); dc.setForeground(backColor); dc.fillRectangle(2, 1, width-4, height-2); } // !!! End of hack // Interior drawInterior(dc); return 1; } // // Hack of FXPacker // // This hack optionally draws a rectangle with rounded corners (Clearlooks) void FXPacker::drawGrooveRectangle(FXDCWindow& dc, FXint x, FXint y, FXint w, FXint h) { static FXbool init = true; static FXbool use_clearlooks = true; static FXColor shadecolor, bordercolor; FXPoint bordershade[16] = { FXPoint(x, y+1), FXPoint(x+1, y), FXPoint(x+1, y+2), FXPoint(x+2, y+1), FXPoint(x+w-2, y), FXPoint(x+w-1, y+1), FXPoint(x+w-3, y+1), FXPoint(x+w-2, y+2), FXPoint(x, y+h-2), FXPoint(x+1, y+h-1), FXPoint(x+1, y+h-3), FXPoint(x+2, y+h-2), FXPoint(x+w-1, y+h-2), FXPoint(x+w-2, y+h-1), FXPoint(x+w-2, y+h-3), FXPoint(x+w-3, y+h-2) }; FXPoint bordercorners[4] = { FXPoint(x+1, y+1), FXPoint(x+1, y+h-2), FXPoint(x+w-2, y+1), FXPoint(x+w-2, y+h-2) }; if (init) { use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); if (use_clearlooks) { FXuint r = FXREDVAL(backColor); FXuint g = FXGREENVAL(backColor); FXuint b = FXBLUEVAL(backColor); shadecolor = FXRGB(0.9*r, 0.9*g, 0.9*b); bordercolor = FXRGB(0.5*r, 0.5*g, 0.5*b); (void)bordercolor; // Hack to avoid unused variable compiler warning } init = false; } if ((0 < w) && (0 < h)) { // Rectangle with rounded corners (Clearlooks) if (use_clearlooks) { // Draw the 4 edges dc.setForeground(shadowColor); dc.drawRectangle(x+w-1, y+2, 0, h-5); // right dc.drawRectangle(x, y+2, 0, h-5); // left dc.drawRectangle(x+2, y, w-5, 0); // up dc.drawRectangle(x+2, y+h-1, w-5, 0); // down // Draw the 4 rounded corners (with shade) dc.setForeground(shadowColor); dc.drawPoints(bordercorners, 4); dc.setForeground(shadecolor); dc.drawPoints(bordershade, 16); } // Standard rectangle else { dc.setForeground(shadowColor); dc.fillRectangle(x, y, w, 1); dc.fillRectangle(x, y, 1, h); dc.setForeground(hiliteColor); dc.fillRectangle(x, y+h-1, w, 1); dc.fillRectangle(x+w-1, y, 1, h); if ((1 < w) && (1 < h)) { dc.setForeground(shadowColor); dc.fillRectangle(x+1, y+h-2, w-2, 1); dc.fillRectangle(x+w-2, y+1, 1, h-2); dc.setForeground(hiliteColor); dc.fillRectangle(x+1, y+1, w-3, 1); dc.fillRectangle(x+1, y+1, 1, h-3); } } } } xfe-1.42/src/DirList.h0000644000175100017510000002236012625057514011471 00000000000000#ifndef DIRLIST_H #define DIRLIST_H struct FileAssoc; class FileDict; class DirList; // Tree item class FXAPI TreeItem : public FXTreeItem { FXDECLARE(TreeItem) friend class DirList; protected: TreeItem() {} public: // Constructor TreeItem(const FXString& text, FXIcon* oi = NULL, FXIcon* ci = NULL, void* ptr = NULL) : FXTreeItem(text, oi, ci, ptr) {} }; // Directory item class FXAPI DirItem : public FXTreeItem { FXDECLARE(DirItem) friend class DirList; protected: FileAssoc* assoc; // File association DirItem* link; // Link to next item DirItem* list; // List of child items FXulong size; // File size (if a file) FXTime date; // Time of item FXString tdata; // Tooltip data protected: DirItem() : assoc(NULL), link(NULL), list(NULL), size(0L), date(0) {} protected: enum { FOLDER = 512, // Directory item EXECUTABLE = 1024, // Executable item SYMLINK = 2048, // Symbolic linked item CHARDEV = 4096, // Character special item BLOCKDEV = 8192, // Block special item FIFO = 16384, // FIFO item SOCK = 32768 // Socket item }; public: // Constructor DirItem(const FXString& text, FXIcon* oi = NULL, FXIcon* ci = NULL, void* ptr = NULL) : FXTreeItem(text, oi, ci, ptr), assoc(NULL), link(NULL), list(NULL), size(0), date(0) { state = HASITEMS; tdata = ""; } FXbool isDirectory() const { return((state&FOLDER) != 0); } FXbool isExecutable() const { return((state&EXECUTABLE) != 0); } FXbool isSymlink() const { return((state&SYMLINK) != 0); } FXbool isChardev() const { return((state&CHARDEV) != 0); } FXbool isBlockdev() const { return((state&BLOCKDEV) != 0); } FXbool isFifo() const { return((state&FIFO) != 0); } FXbool isSocket() const { return((state&SOCK) != 0); } FileAssoc* getAssoc() const { return(assoc); } FXulong getSize() const { return(size); } FXTime getDate() const { return(date); } FXString getTooltipData() const { if (getData() != NULL) { return(tdata); } else { return(""); } } }; // Directory tree List class FXAPI DirList : public FXTreeList { FXDECLARE(DirList) protected: TreeItem* prevSelItem; DirItem* list; // Root item list FileDict* associations; // Association table FXString dropdirectory; // Drop directory FXDragAction dropaction; // Drop action FXString dragfiles; // Dragged files FXString pattern; // Pattern of file names FXuint matchmode; // File wildcard match mode FXuint counter; // Refresh counter FXString trashfileslocation; // Location of the trash files directory FXString trashinfolocation; // Location of the trash info directory FXWindow* focuswindow; // Window used to test focus protected: DirList() : prevSelItem(NULL), list(NULL), associations(NULL), dropaction(DRAG_MOVE), matchmode(0), counter(0), focuswindow(NULL) {} virtual TreeItem* createItem(const FXString& text, FXIcon* oi, FXIcon* ci, void* ptr); TreeItem* getitem(char* pathname); void listRootItems(); void listChildItems(DirItem* par); private: DirList(const DirList&); DirList& operator=(const DirList&); public: long onCmdRefresh(FXObject*, FXSelector, void*); long onCmdRefreshTimer(FXObject*, FXSelector, void*); #if defined(linux) long onMtdevicesRefresh(FXObject*, FXSelector, void*); long onUpdevicesRefresh(FXObject*, FXSelector, void*); #endif long onExpandTimer(FXObject*, FXSelector, void*); long onBeginDrag(FXObject*, FXSelector, void*); long onEndDrag(FXObject*, FXSelector, void*); long onDragged(FXObject*, FXSelector, void*); long onDNDEnter(FXObject*, FXSelector, void*); long onDNDLeave(FXObject*, FXSelector, void*); long onDNDMotion(FXObject*, FXSelector, void*); long onDNDDrop(FXObject*, FXSelector, void*); long onDNDRequest(FXObject*, FXSelector, void*); long onOpened(FXObject*, FXSelector, void*); long onClosed(FXObject*, FXSelector, void*); long onExpanded(FXObject*, FXSelector, void*); long onCollapsed(FXObject*, FXSelector, void*); long onCmdToggleHidden(FXObject*, FXSelector, void*); long onUpdToggleHidden(FXObject*, FXSelector, void*); long onCmdShowHidden(FXObject*, FXSelector, void*); long onUpdShowHidden(FXObject*, FXSelector, void*); long onCmdHideHidden(FXObject*, FXSelector, void*); long onUpdHideHidden(FXObject*, FXSelector, void*); long onCmdToggleFiles(FXObject*, FXSelector, void*); long onUpdToggleFiles(FXObject*, FXSelector, void*); long onCmdShowFiles(FXObject*, FXSelector, void*); long onUpdShowFiles(FXObject*, FXSelector, void*); long onCmdHideFiles(FXObject*, FXSelector, void*); long onUpdHideFiles(FXObject*, FXSelector, void*); long onCmdSetPattern(FXObject*, FXSelector, void*); long onUpdSetPattern(FXObject*, FXSelector, void*); long onCmdSortReverse(FXObject*, FXSelector, void*); long onUpdSortReverse(FXObject*, FXSelector, void*); long onCmdSortCase(FXObject*, FXSelector, void*); long onUpdSortCase(FXObject*, FXSelector, void*); long onCmdDragCopy(FXObject* sender, FXSelector, void*); long onCmdDragMove(FXObject* sender, FXSelector, void*); long onCmdDragLink(FXObject* sender, FXSelector, void*); long onCmdDragReject(FXObject* sender, FXSelector, void*); long onUpdRefreshTimers(FXObject*, FXSelector, void*); public: static int compareItem(const FXTreeItem*, const FXTreeItem*, FXbool, FXbool); static int ascending(const FXTreeItem*, const FXTreeItem*); static int descending(const FXTreeItem*, const FXTreeItem*); static int ascendingCase(const FXTreeItem*, const FXTreeItem*); static int descendingCase(const FXTreeItem*, const FXTreeItem*); public: enum { ID_REFRESH_TIMER=FXTreeList::ID_LAST, ID_SHOW_FILES, ID_HIDE_FILES, ID_TOGGLE_FILES, ID_SHOW_HIDDEN, ID_HIDE_HIDDEN, ID_TOGGLE_HIDDEN, ID_SET_PATTERN, ID_SORT_REVERSE, ID_SORT_CASE, ID_EXPAND_TIMER, #if defined(linux) ID_UPDEVICES_REFRESH, ID_MTDEVICES_REFRESH, #endif ID_DRAG_COPY, ID_DRAG_MOVE, ID_DRAG_LINK, ID_DRAG_REJECT, ID_REFRESH, ID_LAST }; public: // Construct a directory list DirList(FXWindow* focuswin, FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Create server-side resources virtual void create(); // Scan the directories and update the items if needed, or if force is true void scan(FXbool force = true); // Return true if item is a directory FXbool isItemDirectory(const TreeItem* item) const; // Return true if item is a file FXbool isItemFile(const TreeItem* item) const; // Return true if item is executable FXbool isItemExecutable(const TreeItem* item) const; // Collapse tree virtual FXbool collapseTree(TreeItem* tree, FXbool notify = false); // Expand tree virtual FXbool expandTree(TreeItem* tree, FXbool notify = false); // Set current file void setCurrentFile(const FXString& file, FXbool notify = false); // Return current file FXString getCurrentFile() const; // Set current directory void setDirectory(const FXString& pathname, FXbool notify); // Return current directory FXString getDirectory() const; // Return name of item FXString getItemFilename(const TreeItem* item) const; // Return absolute pathname of item FXString getItemPathname(const TreeItem* item) const; // Return the item from the absolute pathname TreeItem* getPathnameItem(const FXString& path); // Change wildcard matching pattern void setPattern(const FXString& ptrn); // Return wildcard pattern FXString getPattern() const { return(pattern); } // Return wildcard matching mode FXuint getMatchMode() const { return(matchmode); } // Change wildcard matching mode void setMatchMode(FXuint mode); // Return true if showing files as well as directories FXbool showFiles() const; // Show or hide normal files void showFiles(FXbool showing); // Return true if showing hidden files and directories FXbool shownHiddenFiles() const; // Show or hide hidden files and directories void showHiddenFiles(FXbool showing); // Change file associations void setAssociations(FileDict* assoc); // Return file associations FileDict* getAssociations() const { return(associations); } // Destructor virtual ~DirList(); }; #endif xfe-1.42/src/KeybindingsDialog.h0000644000175100017510000000101212625057514013474 00000000000000#ifndef KEYBINDINGSDIALOG_H #define KEYBINDINGSDIALOG_H #include "DialogBox.h" class XComApp; class KeybindingsDialog : public DialogBox { FXDECLARE(KeybindingsDialog) protected: FXLabel* keylabel; private: KeybindingsDialog() : keylabel(NULL) {} public: KeybindingsDialog(FXWindow*, FXString, FXString, FXString, FXIcon* icon = NULL); virtual void create(); long onCmdKeyPress(FXObject*, FXSelector, void*); FXString getKey() { return(keylabel->getText()); } }; #endif xfe-1.42/src/startupnotification.h0000644000175100017510000000054512725277157014241 00000000000000#ifndef STARTUPNOTIFICATION_H #define STARTUPNOTIFICATION_H #include #ifdef STARTUP_NOTIFICATION #include "libsn/sn.h" void startup_completed(void); Time gettimestamp(Display *display); int runcmd(FXString, FXString, FXString, FXString, FXbool, FXString); #else #include int runcmd(FXString, FXString, FXString); #endif #endif xfe-1.42/src/FileList.cpp0000644000175100017510000046132312625101222012155 00000000000000// File list. Taken from the FOX library and slightly modified. // The compare(), compare_nolocale() and compare_locale() functions are adapted from a patch // submitted by Vladimir Támara Patiño #include "config.h" #include "i18n.h" #include #include #include #include #include #if defined(linux) #include #endif #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "File.h" #include "FileDict.h" #include "IconList.h" #include "MessageBox.h" #include "InputDialog.h" #include "StringList.h" #include "FileList.h" // Number of columns in detailed view, in the general case #define NB_HEADERS 8 // Minimum file name size in detailed view #ifndef MIN_NAME_SIZE #define MIN_NAME_SIZE 75 #endif // Time interval before refreshing the view #define REFRESH_INTERVAL 1000 #define REFRESH_FREQUENCY 30 // Time interval before opening a folder #define OPEN_INTERVAL 1000 // Counter limit for image refreshing #define REFRESH_COUNT 100 #define HASH1(x, n) (((FXuint)(x)*13)%(n)) // Probe Position [0..n-1] #define HASH2(x, n) (1|(((FXuint)(x)*17)%((n)-1))) // Probe Distance [1..n-1] #if defined(linux) FXStringDict* fsdevices = NULL; // Devices from fstab FXStringDict* mtdevices = NULL; // Mounted devices FXStringDict* updevices = NULL; // Responding devices #endif extern FXbool allowPopupScroll; extern FXString xdgdatahome; // Object implementation FXIMPLEMENT(FileItem, IconItem, NULL, 0) // Map FXDEFMAP(FileList) FileListMap[] = { FXMAPFUNC(SEL_DRAGGED, 0, FileList::onDragged), FXMAPFUNC(SEL_TIMEOUT, FileList::ID_REFRESH_TIMER, FileList::onCmdRefreshTimer), FXMAPFUNC(SEL_TIMEOUT, FileList::ID_OPEN_TIMER, FileList::onOpenTimer), FXMAPFUNC(SEL_DND_ENTER, 0, FileList::onDNDEnter), FXMAPFUNC(SEL_DND_LEAVE, 0, FileList::onDNDLeave), FXMAPFUNC(SEL_DND_DROP, 0, FileList::onDNDDrop), FXMAPFUNC(SEL_DND_MOTION, 0, FileList::onDNDMotion), FXMAPFUNC(SEL_DND_REQUEST, 0, FileList::onDNDRequest), FXMAPFUNC(SEL_BEGINDRAG, 0, FileList::onBeginDrag), FXMAPFUNC(SEL_ENDDRAG, 0, FileList::onEndDrag), FXMAPFUNC(SEL_COMMAND, FileList::ID_DRAG_COPY, FileList::onCmdDragCopy), FXMAPFUNC(SEL_COMMAND, FileList::ID_DRAG_MOVE, FileList::onCmdDragMove), FXMAPFUNC(SEL_COMMAND, FileList::ID_DRAG_LINK, FileList::onCmdDragLink), FXMAPFUNC(SEL_COMMAND, FileList::ID_DRAG_REJECT, FileList::onCmdDragReject), FXMAPFUNC(SEL_COMMAND, FileList::ID_DIRECTORY_UP, FileList::onCmdDirectoryUp), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_NAME, FileList::onCmdSortByName), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_DIRNAME, FileList::onCmdSortByDirName), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_TYPE, FileList::onCmdSortByType), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_SIZE, FileList::onCmdSortBySize), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_EXT, FileList::onCmdSortByExt), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_TIME, FileList::onCmdSortByTime), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_USER, FileList::onCmdSortByUser), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_GROUP, FileList::onCmdSortByGroup), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_PERM, FileList::onCmdSortByPerm), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_DELTIME, FileList::onCmdSortByDeltime), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_BY_ORIGPATH, FileList::onCmdSortByOrigpath), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_REVERSE, FileList::onCmdSortReverse), FXMAPFUNC(SEL_COMMAND, FileList::ID_SORT_CASE, FileList::onCmdSortCase), FXMAPFUNC(SEL_COMMAND, FileList::ID_DIRS_FIRST, FileList::onCmdDirsFirst), FXMAPFUNC(SEL_COMMAND, FileList::ID_SET_PATTERN, FileList::onCmdSetPattern), FXMAPFUNC(SEL_COMMAND, FileList::ID_SHOW_HIDDEN, FileList::onCmdShowHidden), FXMAPFUNC(SEL_COMMAND, FileList::ID_HIDE_HIDDEN, FileList::onCmdHideHidden), FXMAPFUNC(SEL_COMMAND, FileList::ID_TOGGLE_HIDDEN, FileList::onCmdToggleHidden), FXMAPFUNC(SEL_COMMAND, FileList::ID_TOGGLE_THUMBNAILS, FileList::onCmdToggleThumbnails), FXMAPFUNC(SEL_COMMAND, FileList::ID_HEADER_CHANGE, FileList::onCmdHeader), FXMAPFUNC(SEL_COMMAND, FileList::ID_REFRESH, FileList::onCmdRefresh), FXMAPFUNC(SEL_UPDATE, FileList::ID_HEADER_CHANGE, FileList::onUpdHeader), FXMAPFUNC(SEL_UPDATE, FileList::ID_DIRECTORY_UP, FileList::onUpdDirectoryUp), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_NAME, FileList::onUpdSortByName), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_DIRNAME, FileList::onUpdSortByDirName), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_TYPE, FileList::onUpdSortByType), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_SIZE, FileList::onUpdSortBySize), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_EXT, FileList::onUpdSortByExt), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_TIME, FileList::onUpdSortByTime), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_USER, FileList::onUpdSortByUser), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_GROUP, FileList::onUpdSortByGroup), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_PERM, FileList::onUpdSortByPerm), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_DELTIME, FileList::onUpdSortByDeltime), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_BY_ORIGPATH, FileList::onUpdSortByOrigpath), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_REVERSE, FileList::onUpdSortReverse), FXMAPFUNC(SEL_UPDATE, FileList::ID_SORT_CASE, FileList::onUpdSortCase), FXMAPFUNC(SEL_UPDATE, FileList::ID_DIRS_FIRST, FileList::onUpdDirsFirst), FXMAPFUNC(SEL_UPDATE, FileList::ID_SET_PATTERN, FileList::onUpdSetPattern), FXMAPFUNC(SEL_UPDATE, FileList::ID_SHOW_HIDDEN, FileList::onUpdShowHidden), FXMAPFUNC(SEL_UPDATE, FileList::ID_HIDE_HIDDEN, FileList::onUpdHideHidden), FXMAPFUNC(SEL_UPDATE, FileList::ID_TOGGLE_HIDDEN, FileList::onUpdToggleHidden), FXMAPFUNC(SEL_UPDATE, FileList::ID_TOGGLE_THUMBNAILS, FileList::onUpdToggleThumbnails), FXMAPFUNC(SEL_UPDATE, 0, FileList::onUpdRefreshTimer), }; // Object implementation FXIMPLEMENT(FileList, IconList, FileListMap, ARRAYNUMBER(FileListMap)) // File List // Note : the attribute _ICONLIST_FILELIST indicates that the icon list is a file list FileList::FileList(FXWindow* focuswin, FXComposite* p, FXObject* tgt, FXSelector sel, FXbool showthumbs, FXuint opts, int x, int y, int w, int h) : IconList(p, tgt, sel, opts, x, y, w, h), directory(ROOTDIR), orgdirectory(ROOTDIR), pattern("*") { flags |= FLAG_ENABLED|FLAG_DROPTARGET; associations = NULL; appendHeader(_("Name"), NULL, 200); if (options&_FILELIST_SEARCH) { appendHeader(_("Folder"), NULL, 150); } appendHeader(_("Size"), NULL, 60); appendHeader(_("Type"), NULL, 100); appendHeader(_("Extension"), NULL, 100); appendHeader(_("Modified date"), NULL, 150); appendHeader(_("User"), NULL, 50); appendHeader(_("Group"), NULL, 50); appendHeader(_("Permissions"), NULL, 100); // Initializations matchmode = FILEMATCH_FILE_NAME|FILEMATCH_NOESCAPE; associations = new FileDict(getApp()); dropaction = DRAG_MOVE; sortfunc = ascendingCase; dirsfirst = true; allowrefresh = true; timestamp = 0; counter = 1; prevIndex = -1; list = NULL; displaythumbnails = showthumbs; backhist = NULL; forwardhist = NULL; focuswindow = focuswin; deldatesize = 0; origpathsize = 0; #if defined(linux) // Initialize the fsdevices, mtdevices and updevices lists // if it was not done in DirList (useful for XFileWrite, XFilePackage and XFileImage) struct mntent* mnt; if (fsdevices == NULL) { // To list file system devices fsdevices = new FXStringDict(); FILE* fstab = setmntent(FSTAB_PATH, "r"); if (fstab) { while ((mnt = getmntent(fstab))) { if (!streq(mnt->mnt_type, MNTTYPE_IGNORE) && !streq(mnt->mnt_type, MNTTYPE_SWAP) && !streq(mnt->mnt_dir, "/")) { if (!strncmp(mnt->mnt_fsname, "/dev/fd", 7)) { fsdevices->insert(mnt->mnt_dir, "floppy"); } else if (!strncmp(mnt->mnt_type, "iso", 3)) { fsdevices->insert(mnt->mnt_dir, "cdrom"); } else if (!strncmp(mnt->mnt_fsname, "/dev/zip", 8)) { fsdevices->insert(mnt->mnt_dir, "zip"); } else if (streq(mnt->mnt_type, "nfs")) { fsdevices->insert(mnt->mnt_dir, "nfsdisk"); } else if (streq(mnt->mnt_type, "smbfs")) { fsdevices->insert(mnt->mnt_dir, "smbdisk"); } else { fsdevices->insert(mnt->mnt_dir, "harddisk"); } } } endmntent(fstab); } } if (mtdevices == NULL) { // To list mounted devices mtdevices = new FXStringDict(); FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { mtdevices->insert(mnt->mnt_dir, mnt->mnt_type); } } endmntent(mtab); } } if (updevices == NULL) { // To mark mount points that are up or down updevices = new FXStringDict(); struct stat statbuf; FXString mtstate; FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { if (lstatmt(mnt->mnt_dir, &statbuf) == -1) { mtstate = "down"; } else { mtstate = "up"; } updevices->insert(mnt->mnt_dir, mtstate.text()); } } endmntent(mtab); } } #endif // Trahscan location trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; } #if defined(linux) // Force mtdevices list refresh void FileList::refreshMtdevices(void) { struct mntent* mnt; FXStringDict* tmpdict = new FXStringDict(); FILE* mtab = setmntent(MTAB_PATH, "r"); if (mtab) { while ((mnt = getmntent(mtab))) { // To fix an issue with some Linux distributions FXString mntdir = mnt->mnt_dir; if ((mntdir != "/dev/.static/dev") && (mntdir.rfind("gvfs", 4, mntdir.length()) == -1)) { tmpdict->insert(mnt->mnt_dir, ""); if (mtdevices->find(mnt->mnt_dir)) { mtdevices->remove(mnt->mnt_dir); } mtdevices->insert(mnt->mnt_dir, mnt->mnt_type); } } endmntent(mtab); } // Remove mount points that don't exist anymore int s; for (s = mtdevices->first(); s < mtdevices->size(); s = mtdevices->next(s)) { if (!tmpdict->find(mtdevices->key(s))) { mtdevices->remove(mtdevices->key(s)); } } delete tmpdict; } #endif // Create the file list void FileList::create() { IconList::create(); if (!deleteType) { deleteType = getApp()->registerDragType(deleteTypeName); } if (!urilistType) { urilistType = getApp()->registerDragType(urilistTypeName); } getApp()->addTimeout(this, ID_REFRESH_TIMER, REFRESH_INTERVAL); } // Cleanup FileList::~FileList() { getApp()->removeTimeout(this, ID_REFRESH_TIMER); getApp()->removeTimeout(this, ID_OPEN_TIMER); delete associations; delete forwardhist; delete backhist; associations = (FileDict*)-1; list = (FileItem*)-1L; } // Open up folder when hovering long over a folder long FileList::onOpenTimer(FXObject*, FXSelector, void*) { int xx, yy, index; FXuint state; getCursorPosition(xx, yy, state); index = getItemAt(xx, yy); if ((0 <= index) && isItemDirectory(index)) { dropdirectory = getItemPathname(index); setDirectory(dropdirectory); getApp()->addTimeout(this, ID_OPEN_TIMER, OPEN_INTERVAL); prevIndex = -1; } return(1); } // Handle drag-and-drop enter long FileList::onDNDEnter(FXObject* sender, FXSelector sel, void* ptr) { IconList::onDNDEnter(sender, sel, ptr); // Keep original directory orgdirectory = getDirectory(); return(1); } // Handle drag-and-drop leave long FileList::onDNDLeave(FXObject* sender, FXSelector sel, void* ptr) { IconList::onDNDLeave(sender, sel, ptr); if (prevIndex != -1) { setItemMiniIcon(prevIndex, minifoldericon); setItemBigIcon(prevIndex, bigfoldericon); prevIndex = -1; } // Cancel open up timer getApp()->removeTimeout(this, ID_OPEN_TIMER); // Stop scrolling stopAutoScroll(); // Restore original directory setDirectory(orgdirectory); return(1); } // Handle drag-and-drop motion long FileList::onDNDMotion(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; int index = -1; // Cancel open up timer getApp()->removeTimeout(this, ID_OPEN_TIMER); // Start autoscrolling if (startAutoScroll(event, false)) { return(1); } // Give base class a shot if (IconList::onDNDMotion(sender, sel, ptr)) { return(1); } // Dropping list of filenames if (offeredDNDType(FROM_DRAGNDROP, urilistType)) { index = getItemAt(event->win_x, event->win_y); if ((prevIndex != -1) && (prevIndex != index)) { // Symlink folders have a different icon if (isItemLink(prevIndex)) { setItemMiniIcon(prevIndex, minilinkicon); setItemBigIcon(prevIndex, biglinkicon); } else { setItemMiniIcon(prevIndex, minifoldericon); setItemBigIcon(prevIndex, bigfoldericon); } prevIndex = -1; } // Drop in the background dropdirectory = getDirectory(); // What is being done (move,copy,link) dropaction = inquireDNDAction(); // We will open up a folder if we can hover over it for a while if ((0 <= index) && isItemDirectory(index)) { // Set open up timer getApp()->addTimeout(this, ID_OPEN_TIMER, OPEN_INTERVAL); prevIndex = index; setItemMiniIcon(index, minifolderopenicon); setItemBigIcon(index, bigfolderopenicon); // Directory where to drop, or directory to open up dropdirectory = getItemPathname(index); } // See if dropdirectory is writable if (::isWritable(dropdirectory)) { acceptDrop(DRAG_ACCEPT); } return(1); } return(0); } // Set drag type to copy long FileList::onCmdDragCopy(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_COPY; return(1); } // Set drag type to move long FileList::onCmdDragMove(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_MOVE; return(1); } // Set drag type to symlink long FileList::onCmdDragLink(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_LINK; return(1); } // Cancel drag action long FileList::onCmdDragReject(FXObject* sender, FXSelector sel, void* ptr) { dropaction = DRAG_REJECT; return(1); } // Handle drag-and-drop drop long FileList::onDNDDrop(FXObject* sender, FXSelector sel, void* ptr) { FXuchar* data; FXuint len; FXbool showdialog = true; File* f = NULL; int ret; FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); FXbool confirm_dnd = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_drag_and_drop", true); // Cancel open up timer getApp()->removeTimeout(this, ID_OPEN_TIMER); // Stop scrolling stopAutoScroll(); // Perhaps target wants to deal with it if (IconList::onDNDDrop(sender, sel, ptr)) { return(1); } // Check if control key or shift key were pressed FXbool ctrlshiftkey = false; if (ptr != NULL) { FXEvent* event = (FXEvent*)ptr; if (event->state&CONTROLMASK) { ctrlshiftkey = true; } if (event->state&SHIFTMASK) { ctrlshiftkey = true; } } // Get DND data // This is done before displaying the popup menu to fix a drag and drop problem with konqueror and dolphin file managers FXbool dnd = getDNDData(FROM_DRAGNDROP, urilistType, data, len); // Display the dnd dialog if the control or shift key were not pressed if (confirm_dnd & !ctrlshiftkey) { // Display a popup to select the drag type dropaction = DRAG_REJECT; FXMenuPane menu(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); new FXMenuCommand(&menu, _("Copy here"), copy_clpicon, this, FileList::ID_DRAG_COPY); new FXMenuCommand(&menu, _("Move here"), moveiticon, this, FileList::ID_DRAG_MOVE); new FXMenuCommand(&menu, _("Link here"), minilinkicon, this, FileList::ID_DRAG_LINK); new FXMenuSeparator(&menu); new FXMenuCommand(&menu, _("Cancel"), NULL, this, FileList::ID_DRAG_REJECT); menu.create(); allowPopupScroll = true; // Allow keyboard scrolling menu.popup(NULL, x, y); getApp()->runModalWhileShown(&menu); allowPopupScroll = false; } if (prevIndex != -1) { setItemMiniIcon(prevIndex, minifoldericon); setItemBigIcon(prevIndex, bigfoldericon); prevIndex = -1; } // Restore original directory setDirectory(orgdirectory); // Get uri-list of files being dropped if (dnd) // See comment upper { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; char* p, *q; p = q = (char*)data; // Number of selected items FXString buf = p; int num = buf.contains('\n')+1; // Eventually correct the number of selected items // because sometimes there is another '\n' at the end of the string int pos = buf.rfind('\n'); if (pos == buf.length()-1) { num = num-1; } // File object if (dropaction == DRAG_COPY) { f = new File(this, _("File copy"), COPY, num); } else if (dropaction == DRAG_MOVE) { f = new File(this, _("File move"), MOVE, num); } else if (dropaction == DRAG_LINK) { f = new File(this, _("File symlink"), SYMLINK, num); } else { FXFREE(&data); return(0); } // Target directory FXString targetdir = dropdirectory; while (*p) { while (*q && *q != '\r') { q++; } FXString url(p, q-p); FXString source(FXURL::decode(FXURL::fileFromURL(url))); FXString target(targetdir); FXString sourcedir = FXPath::directory(source); // File operation dialog, if needed if (((!confirm_dnd) | ctrlshiftkey) & ask_before_copy & showdialog) { FXIcon* icon = NULL; FXString title, message; if (dropaction == DRAG_COPY) { title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = title+source; } else { message.format(_("Copy %s files/folders.\nFrom: %s"), FXStringVal(num).text(), sourcedir.text()); } } else if (dropaction == DRAG_MOVE) { title = _("Move"); icon = move_bigicon; if (num == 1) { message = title+source; } else { message.format(_("Move %s files/folders.\nFrom: %s"), FXStringVal(num).text(), sourcedir.text()); } } else if ((dropaction == DRAG_LINK) && (num == 1)) { title = _("Symlink"); icon = link_bigicon; message = title+source; } InputDialog* dialog = new InputDialog(this, targetdir, message, title, _("To:"), icon); dialog->CursorEnd(); int rc = 1; rc = dialog->execute(); target = dialog->getText(); target = ::filePath(target); if (num > 1) { showdialog = false; } delete dialog; if (!rc) { return(0); } } // Move the source file if (dropaction == DRAG_MOVE) { // Move file f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (FXPath::directory(target) == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = FXPath::directory(target)+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { //target=FXPath::directory(target); ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); break; } } // Copy the source file else if (dropaction == DRAG_COPY) { // Copy file f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (FXPath::directory(target) == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = FXPath::directory(target)+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { //target=FXPath::directory(target); ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); break; } } // Link the source file (no progress dialog in this case) else if (dropaction == DRAG_LINK) { // Link file f->create(); f->symlink(source, target); } if (*q == '\r') { q += 2; } p = q; } delete f; FXFREE(&data); return(1); } return(0); } // Somebody wants our dragged data long FileList::onDNDRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuchar* data; FXuint len; // Perhaps the target wants to supply its own data if (IconList::onDNDRequest(sender, sel, ptr)) { return(1); } // Return list of filenames as a uri-list if (event->target == urilistType) { if (!dragfiles.empty()) { len = dragfiles.length(); FXMEMDUP(&data, dragfiles.text(), FXuchar, len); setDNDData(FROM_DRAGNDROP, event->target, data, len); } return(1); } // Delete selected files if (event->target == deleteType) { return(1); } return(0); } // Start a drag operation long FileList::onBeginDrag(FXObject* sender, FXSelector sel, void* ptr) { register int i; if (IconList::onBeginDrag(sender, sel, ptr)) { return(1); } if (beginDrag(&urilistType, 1)) { dragfiles = FXString::null; for (i = 0; i < getNumItems(); i++) { if (isItemSelected(i)) { if (getItemFilename(i) == "..") { deselectItem(i); } else { dragfiles += FXURL::encode(::fileToURI(getItemFullPathname(i))); dragfiles += "\r\n"; } } } return(1); } return(0); } // End drag operation long FileList::onEndDrag(FXObject* sender, FXSelector sel, void* ptr) { if (IconList::onEndDrag(sender, sel, ptr)) { return(1); } endDrag((didAccept() != DRAG_REJECT)); setDragCursor(getDefaultCursor()); dragfiles = FXString::null; return(1); } // Dragged stuff around long FileList::onDragged(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXDragAction action; if (IconList::onDragged(sender, sel, ptr)) { return(1); } action = DRAG_MOVE; if (event->state&CONTROLMASK) { action = DRAG_COPY; } if (event->state&SHIFTMASK) { action = DRAG_MOVE; } if ((event->state&CONTROLMASK) && (event->state&SHIFTMASK)) { action = DRAG_LINK; } // If source directory is read-only, convert move action to copy if (!::isWritable(orgdirectory) && (action == DRAG_MOVE)) { action = DRAG_COPY; } handleDrag(event->root_x, event->root_y, action); if (didAccept() != DRAG_REJECT) { if (action == DRAG_MOVE) { setDragCursor(getApp()->getDefaultCursor(DEF_DNDMOVE_CURSOR)); } else if (action == DRAG_LINK) { setDragCursor(getApp()->getDefaultCursor(DEF_DNDLINK_CURSOR)); } else { setDragCursor(getApp()->getDefaultCursor(DEF_DNDCOPY_CURSOR)); } } else { setDragCursor(getApp()->getDefaultCursor(DEF_DNDSTOP_CURSOR)); } return(1); } // Toggle hidden files display long FileList::onCmdToggleHidden(FXObject*, FXSelector, void*) { showHiddenFiles(!shownHiddenFiles()); return(1); } // Toggle thumbnails display long FileList::onCmdToggleThumbnails(FXObject*, FXSelector, void*) { showThumbnails(!displaythumbnails); return(1); } // Update toggle thumbnails button long FileList::onUpdToggleThumbnails(FXObject* sender, FXSelector, void*) { if (shownThumbnails()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Update toggle hidden files button long FileList::onUpdToggleHidden(FXObject* sender, FXSelector, void*) { if (shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Show hidden files long FileList::onCmdShowHidden(FXObject*, FXSelector, void*) { showHiddenFiles(true); return(1); } // Update show hidden files widget long FileList::onUpdShowHidden(FXObject* sender, FXSelector, void*) { if (shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Hide hidden files long FileList::onCmdHideHidden(FXObject*, FXSelector, void*) { showHiddenFiles(false); return(1); } // Update hide hidden files widget long FileList::onUpdHideHidden(FXObject* sender, FXSelector, void*) { if (!shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } // Move up one level long FileList::onCmdDirectoryUp(FXObject*, FXSelector, void*) { setFocus(); setDirectory(FXPath::upLevel(directory), true, directory); return(1); } // Determine if we can still go up more long FileList::onUpdDirectoryUp(FXObject* sender, FXSelector, void* ptr) { FXuint msg = FXPath::isTopDirectory(directory) ? ID_DISABLE : ID_ENABLE; sender->handle(this, FXSEL(SEL_COMMAND, msg), ptr); return(1); } // Change pattern long FileList::onCmdSetPattern(FXObject*, FXSelector, void* ptr) { if (!ptr) { return(0); } setPattern((const char*)ptr); return(1); } // Update pattern long FileList::onUpdSetPattern(FXObject* sender, FXSelector, void*) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_SETVALUE), (void*)pattern.text()); return(1); } // Sort by name long FileList::onCmdSortByName(FXObject*, FXSelector, void*) { if (dirsfirst == false) { if (getIgnoreCase() == true) { sortfunc = (sortfunc == ascendingCaseMix) ? descendingCaseMix : ascendingCaseMix; } else { sortfunc = (sortfunc == ascendingMix) ? descendingMix : ascendingMix; } } else { if (getIgnoreCase() == true) { sortfunc = (sortfunc == ascendingCase) ? descendingCase : ascendingCase; } else { sortfunc = (sortfunc == ascending) ? descending : ascending; } } setSortHeader(0); scan(true); return(1); } // Update sender long FileList::onUpdSortByName(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascending || sortfunc == descending || sortfunc == ascendingCase || sortfunc == descendingCase || sortfunc == ascendingMix || sortfunc == descendingMix || sortfunc == ascendingCaseMix || sortfunc == descendingCaseMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by directory name (for search list) long FileList::onCmdSortByDirName(FXObject*, FXSelector, void*) { if (dirsfirst == false) { if (getIgnoreCase() == true) { sortfunc = (sortfunc == ascendingDirCaseMix) ? descendingDirCaseMix : ascendingDirCaseMix; } else { sortfunc = (sortfunc == ascendingDirMix) ? descendingDirMix : ascendingDirMix; } } else { if (getIgnoreCase() == true) { sortfunc = (sortfunc == ascendingDirCase) ? descendingDirCase : ascendingDirCase; } else { sortfunc = (sortfunc == ascendingDir) ? descendingDir : ascendingDir; } } scan(true); return(1); } // Update sender long FileList::onUpdSortByDirName(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingDir || sortfunc == descendingDir || sortfunc == ascendingDirCase || sortfunc == descendingDirCase || sortfunc == ascendingDirMix || sortfunc == descendingDirMix || sortfunc == ascendingDirCaseMix || sortfunc == descendingDirCaseMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by type long FileList::onCmdSortByType(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingTypeMix) ? descendingTypeMix : ascendingTypeMix; } else { sortfunc = (sortfunc == ascendingType) ? descendingType : ascendingType; } if (options&_FILELIST_SEARCH) { setSortHeader(3); } else { setSortHeader(2); } scan(true); return(1); } // Update sender long FileList::onUpdSortByType(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingType || sortfunc == descendingType || sortfunc == ascendingTypeMix || sortfunc == descendingTypeMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by size long FileList::onCmdSortBySize(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingSizeMix) ? descendingSizeMix : ascendingSizeMix; } else { sortfunc = (sortfunc == ascendingSize) ? descendingSize : ascendingSize; } if (options&_FILELIST_SEARCH) { setSortHeader(2); } else { setSortHeader(1); } scan(true); return(1); } // Update sender long FileList::onUpdSortBySize(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingSize || sortfunc == descendingSize || sortfunc == ascendingSizeMix || sortfunc == descendingSizeMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by ext long FileList::onCmdSortByExt(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingExtMix) ? descendingExtMix : ascendingExtMix; } else { sortfunc = (sortfunc == ascendingExt) ? descendingExt : ascendingExt; } if (options&_FILELIST_SEARCH) { setSortHeader(4); } else { setSortHeader(3); } scan(true); return(1); } // Sort by original path long FileList::onCmdSortByOrigpath(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingOrigpathMix) ? descendingOrigpathMix : ascendingOrigpathMix; } else { sortfunc = (sortfunc == ascendingOrigpath) ? descendingOrigpath : ascendingOrigpath; } setSortHeader(8); scan(true); return(1); } // Sort by deletion time long FileList::onCmdSortByDeltime(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingDeltimeMix) ? descendingDeltimeMix : ascendingDeltimeMix; } else { sortfunc = (sortfunc == ascendingDeltime) ? descendingDeltime : ascendingDeltime; } setSortHeader(9); scan(true); return(1); } // Update sender long FileList::onUpdSortByExt(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingExt || sortfunc == descendingExt || sortfunc == ascendingExtMix || sortfunc == descendingExtMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by time long FileList::onCmdSortByTime(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingTimeMix) ? descendingTimeMix : ascendingTimeMix; } else { sortfunc = (sortfunc == ascendingTime) ? descendingTime : ascendingTime; } if (options&_FILELIST_SEARCH) { setSortHeader(5); } else { setSortHeader(4); } scan(true); return(1); } // Update sender long FileList::onUpdSortByTime(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingTime || sortfunc == descendingTime || sortfunc == ascendingTimeMix || sortfunc == descendingTimeMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by user long FileList::onCmdSortByUser(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingUserMix) ? descendingUserMix : ascendingUserMix; } else { sortfunc = (sortfunc == ascendingUser) ? descendingUser : ascendingUser; } if (options&_FILELIST_SEARCH) { setSortHeader(6); } else { setSortHeader(5); } scan(true); return(1); } // Update sender long FileList::onUpdSortByUser(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingUser || sortfunc == descendingUser || sortfunc == ascendingUserMix || sortfunc == descendingUserMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by group long FileList::onCmdSortByGroup(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingGroupMix) ? descendingGroupMix : ascendingGroupMix; } else { sortfunc = (sortfunc == ascendingGroup) ? descendingGroup : ascendingGroup; } if (options&_FILELIST_SEARCH) { setSortHeader(7); } else { setSortHeader(6); } scan(true); return(1); } // Update sender long FileList::onUpdSortByGroup(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingGroup || sortfunc == descendingGroup || sortfunc == ascendingGroupMix || sortfunc == descendingGroupMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Sort by permissions long FileList::onCmdSortByPerm(FXObject*, FXSelector, void*) { if (dirsfirst == false) { sortfunc = (sortfunc == ascendingPermMix) ? descendingPermMix : ascendingPermMix; } else { sortfunc = (sortfunc == ascendingPerm) ? descendingPerm : ascendingPerm; } if (options&_FILELIST_SEARCH) { setSortHeader(8); } else { setSortHeader(7); } scan(true); return(1); } // Update sender long FileList::onUpdSortByPerm(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingPerm || sortfunc == descendingPerm || sortfunc == ascendingPermMix || sortfunc == descendingPermMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Update sender long FileList::onUpdSortByDeltime(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingDeltime || sortfunc == descendingDeltime || sortfunc == ascendingDeltimeMix || sortfunc == descendingDeltimeMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); if (!(options&_FILELIST_SEARCH) && (getNumHeaders() == NB_HEADERS+2)) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update sender long FileList::onUpdSortByOrigpath(FXObject* sender, FXSelector, void*) { sender->handle(this, (sortfunc == ascendingOrigpath || sortfunc == descendingOrigpath || sortfunc == ascendingOrigpathMix || sortfunc == descendingOrigpathMix) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); if (!(options&_FILELIST_SEARCH) && (getNumHeaders() == NB_HEADERS+2)) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Reverse sort order long FileList::onCmdSortReverse(FXObject*, FXSelector, void*) { if (sortfunc == ascending) { sortfunc = descending; } else if (sortfunc == ascendingMix) { sortfunc = descendingMix; } else if (sortfunc == descending) { sortfunc = ascending; } else if (sortfunc == descendingMix) { sortfunc = ascendingMix; } else if (sortfunc == ascendingCase) { sortfunc = descendingCase; } else if (sortfunc == ascendingCaseMix) { sortfunc = descendingCaseMix; } else if (sortfunc == descendingCase) { sortfunc = ascendingCase; } else if (sortfunc == descendingCaseMix) { sortfunc = ascendingCaseMix; } else if (sortfunc == ascendingType) { sortfunc = descendingType; } else if (sortfunc == ascendingTypeMix) { sortfunc = descendingTypeMix; } else if (sortfunc == descendingType) { sortfunc = ascendingType; } else if (sortfunc == descendingTypeMix) { sortfunc = ascendingTypeMix; } else if (sortfunc == ascendingExt) { sortfunc = descendingExt; } else if (sortfunc == ascendingExtMix) { sortfunc = descendingExtMix; } else if (sortfunc == descendingExt) { sortfunc = ascendingExt; } else if (sortfunc == descendingExtMix) { sortfunc = ascendingExtMix; } else if (sortfunc == ascendingSize) { sortfunc = descendingSize; } else if (sortfunc == ascendingSizeMix) { sortfunc = descendingSizeMix; } else if (sortfunc == descendingSize) { sortfunc = ascendingSize; } else if (sortfunc == descendingSizeMix) { sortfunc = ascendingSizeMix; } else if (sortfunc == ascendingTime) { sortfunc = descendingTime; } else if (sortfunc == ascendingTimeMix) { sortfunc = descendingTimeMix; } else if (sortfunc == descendingTime) { sortfunc = ascendingTime; } else if (sortfunc == descendingTimeMix) { sortfunc = ascendingTimeMix; } else if (sortfunc == ascendingUserMix) { sortfunc = descendingUser; } else if (sortfunc == ascendingUserMix) { sortfunc = descendingUser; } else if (sortfunc == descendingUser) { sortfunc = ascendingUser; } else if (sortfunc == descendingUserMix) { sortfunc = ascendingUserMix; } else if (sortfunc == ascendingGroup) { sortfunc = descendingGroup; } else if (sortfunc == ascendingGroupMix) { sortfunc = descendingGroupMix; } else if (sortfunc == descendingGroup) { sortfunc = ascendingGroup; } else if (sortfunc == descendingGroupMix) { sortfunc = ascendingGroupMix; } else if (sortfunc == ascendingPerm) { sortfunc = descendingPerm; } else if (sortfunc == ascendingPermMix) { sortfunc = descendingPermMix; } else if (sortfunc == descendingPerm) { sortfunc = ascendingPerm; } else if (sortfunc == descendingPermMix) { sortfunc = ascendingPermMix; } else if (sortfunc == ascendingDir) { sortfunc = descendingDir; } else if (sortfunc == ascendingDirMix) { sortfunc = descendingDirMix; } else if (sortfunc == descendingDir) { sortfunc = ascendingDir; } else if (sortfunc == descendingDirMix) { sortfunc = ascendingDirMix; } else if (sortfunc == ascendingDirCase) { sortfunc = descendingDirCase; } else if (sortfunc == ascendingDirCaseMix) { sortfunc = descendingDirCaseMix; } else if (sortfunc == descendingDirCase) { sortfunc = ascendingDirCase; } else if (sortfunc == descendingDirCaseMix) { sortfunc = ascendingDirCaseMix; } else if (sortfunc == ascendingOrigpath) { sortfunc = descendingOrigpath; } else if (sortfunc == ascendingOrigpathMix) { sortfunc = descendingOrigpathMix; } else if (sortfunc == descendingOrigpath) { sortfunc = ascendingOrigpath; } else if (sortfunc == descendingOrigpathMix) { sortfunc = ascendingOrigpathMix; } else if (sortfunc == ascendingDeltime) { sortfunc = descendingDeltime; } else if (sortfunc == ascendingDeltimeMix) { sortfunc = descendingDeltimeMix; } else if (sortfunc == descendingDeltime) { sortfunc = ascendingDeltime; } else if (sortfunc == descendingDeltimeMix) { sortfunc = ascendingDeltimeMix; } scan(true); return(1); } // Update sender long FileList::onUpdSortReverse(FXObject* sender, FXSelector, void*) { FXSelector selector = FXSEL(SEL_COMMAND, ID_UNCHECK); if (sortfunc == descending) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingCase) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingCaseMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingType) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingTypeMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingExt) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingExtMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingSize) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingSizeMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingTime) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingTimeMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingUser) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingUserMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingGroup) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingGroupMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingPerm) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingPermMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDir) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDirMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDirCase) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDirCaseMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingOrigpath) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingOrigpathMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDeltime) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } else if (sortfunc == descendingDeltimeMix) { selector = FXSEL(SEL_COMMAND, ID_CHECK); } sender->handle(this, selector, NULL); return(1); } // Toggle case sensitivity long FileList::onCmdSortCase(FXObject*, FXSelector, void*) { setIgnoreCase(!getIgnoreCase()); if (dirsfirst == false) { if (getIgnoreCase() == true) { if ((sortfunc == ascending) || (sortfunc == ascendingMix) || (sortfunc == ascendingCase)) { sortfunc = ascendingCaseMix; } else if ((sortfunc == descending) || (sortfunc == descendingMix) || (sortfunc == descendingCase)) { sortfunc = descendingCaseMix; } else if ((sortfunc == ascendingDir) || (sortfunc == ascendingDirMix) || (sortfunc == ascendingDirCase)) { sortfunc = ascendingDirCaseMix; } else if ((sortfunc == descendingDir) || (sortfunc == descendingDirMix) || (sortfunc == descendingDirCase)) { sortfunc = descendingDirCaseMix; } } else { if ((sortfunc == ascending) || (sortfunc == ascendingCase) || (sortfunc == ascendingCaseMix)) { sortfunc = ascendingMix; } else if ((sortfunc == descending) || (sortfunc == descendingCase) || (sortfunc == descendingCaseMix)) { sortfunc = descendingMix; } else if ((sortfunc == ascendingDir) || (sortfunc == ascendingDirCase) || (sortfunc == ascendingDirCaseMix)) { sortfunc = ascendingDirMix; } else if ((sortfunc == descendingDir) || (sortfunc == descendingDirCase) || (sortfunc == descendingDirCaseMix)) { sortfunc = descendingDirMix; } } } else { if (getIgnoreCase() == true) { if ((sortfunc == ascending) || (sortfunc == ascendingMix) || (sortfunc == ascendingCaseMix)) { sortfunc = ascendingCase; } else if ((sortfunc == descending) || (sortfunc == descendingMix) || (sortfunc == descendingCaseMix)) { sortfunc = descendingCase; } else if ((sortfunc == ascendingDir) || (sortfunc == ascendingDirMix) || (sortfunc == ascendingDirCaseMix)) { sortfunc = ascendingDirCase; } else if ((sortfunc == descendingDir) || (sortfunc == descendingDirMix) || (sortfunc == descendingDirCaseMix)) { sortfunc = descendingDirCase; } } else { if ((sortfunc == ascendingMix) || (sortfunc == ascendingCase) || (sortfunc == ascendingCaseMix)) { sortfunc = ascending; } else if ((sortfunc == descendingMix) || (sortfunc == descendingCase) || (sortfunc == descendingCaseMix)) { sortfunc = descending; } else if ((sortfunc == ascendingDirMix) || (sortfunc == ascendingDirCase) || (sortfunc == ascendingDirCaseMix)) { sortfunc = ascendingDir; } else if ((sortfunc == descendingDirMix) || (sortfunc == descendingDirCase) || (sortfunc == descendingDirCaseMix)) { sortfunc = descendingDir; } } } scan(true); return(1); } // Update case sensitivity long FileList::onUpdSortCase(FXObject* sender, FXSelector, void* ptr) { if ((sortfunc == ascending) || (sortfunc == descending) || (sortfunc == ascendingMix) || (sortfunc == descendingMix) || (sortfunc == ascendingCase) || (sortfunc == descendingCase) || (sortfunc == ascendingCaseMix) || (sortfunc == descendingCaseMix)) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), ptr); if (getIgnoreCase() == true) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), ptr); } } else if ((sortfunc == ascendingDir) || (sortfunc == descendingDir) || (sortfunc == ascendingDirMix) || (sortfunc == descendingDirMix) || (sortfunc == ascendingDirCase) || (sortfunc == descendingDirCase) || (sortfunc == ascendingDirCaseMix) || (sortfunc == descendingDirCaseMix)) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), ptr); if (getIgnoreCase() == true) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), ptr); } } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), ptr); } return(1); } // Toggle directories first long FileList::onCmdDirsFirst(FXObject*, FXSelector, void*) { dirsfirst = !dirsfirst; if (dirsfirst == false) { if (sortfunc == ascending) { sortfunc = ascendingMix; } else if (sortfunc == descending) { sortfunc = descendingMix; } else if (sortfunc == ascendingCase) { sortfunc = ascendingCaseMix; } else if (sortfunc == descendingCase) { sortfunc = descendingCaseMix; } else if (sortfunc == ascendingType) { sortfunc = ascendingTypeMix; } else if (sortfunc == descendingType) { sortfunc = descendingTypeMix; } else if (sortfunc == ascendingExt) { sortfunc = ascendingExtMix; } else if (sortfunc == descendingExt) { sortfunc = descendingExtMix; } else if (sortfunc == ascendingSize) { sortfunc = ascendingSizeMix; } else if (sortfunc == descendingSize) { sortfunc = descendingSizeMix; } else if (sortfunc == ascendingTime) { sortfunc = ascendingTimeMix; } else if (sortfunc == descendingTime) { sortfunc = descendingTimeMix; } else if (sortfunc == ascendingUser) { sortfunc = ascendingUserMix; } else if (sortfunc == descendingUser) { sortfunc = descendingUserMix; } else if (sortfunc == ascendingGroup) { sortfunc = ascendingGroupMix; } else if (sortfunc == descendingGroup) { sortfunc = descendingGroupMix; } else if (sortfunc == ascendingPerm) { sortfunc = ascendingPermMix; } else if (sortfunc == descendingPerm) { sortfunc = descendingPermMix; } else if (sortfunc == ascendingDir) { sortfunc = ascendingDirMix; } else if (sortfunc == descendingDir) { sortfunc = descendingDirMix; } else if (sortfunc == ascendingDirCase) { sortfunc = ascendingDirCaseMix; } else if (sortfunc == descendingDirCase) { sortfunc = descendingDirCaseMix; } else if (sortfunc == ascendingOrigpath) { sortfunc = ascendingOrigpathMix; } else if (sortfunc == descendingOrigpath) { sortfunc = descendingOrigpathMix; } else if (sortfunc == ascendingDeltime) { sortfunc = ascendingDeltimeMix; } else if (sortfunc == descendingDeltime) { sortfunc = descendingDeltimeMix; } } else { if (sortfunc == ascendingMix) { sortfunc = ascending; } else if (sortfunc == descendingMix) { sortfunc = descending; } else if (sortfunc == ascendingCaseMix) { sortfunc = ascendingCase; } else if (sortfunc == descendingCaseMix) { sortfunc = descendingCase; } else if (sortfunc == ascendingTypeMix) { sortfunc = ascendingType; } else if (sortfunc == descendingTypeMix) { sortfunc = descendingType; } else if (sortfunc == ascendingExtMix) { sortfunc = ascendingExt; } else if (sortfunc == descendingExtMix) { sortfunc = descendingExt; } else if (sortfunc == ascendingSizeMix) { sortfunc = ascendingSize; } else if (sortfunc == descendingSizeMix) { sortfunc = descendingSize; } else if (sortfunc == ascendingTimeMix) { sortfunc = ascendingTime; } else if (sortfunc == descendingTimeMix) { sortfunc = descendingTime; } else if (sortfunc == ascendingUserMix) { sortfunc = ascendingUser; } else if (sortfunc == descendingUserMix) { sortfunc = descendingUser; } else if (sortfunc == ascendingGroupMix) { sortfunc = ascendingGroup; } else if (sortfunc == descendingGroupMix) { sortfunc = descendingGroup; } else if (sortfunc == ascendingPermMix) { sortfunc = ascendingPerm; } else if (sortfunc == descendingPermMix) { sortfunc = descendingPerm; } else if (sortfunc == ascendingDirMix) { sortfunc = ascendingDir; } else if (sortfunc == descendingDirMix) { sortfunc = descendingDir; } else if (sortfunc == ascendingDirCaseMix) { sortfunc = ascendingDirCase; } else if (sortfunc == descendingDirCaseMix) { sortfunc = descendingDirCase; } else if (sortfunc == ascendingOrigpathMix) { sortfunc = ascendingOrigpath; } else if (sortfunc == descendingOrigpathMix) { sortfunc = descendingOrigpath; } else if (sortfunc == ascendingDeltimeMix) { sortfunc = ascendingDeltime; } else if (sortfunc == descendingDeltimeMix) { sortfunc = descendingDeltime; } } scan(true); return(1); } // Update directories first long FileList::onUpdDirsFirst(FXObject* sender, FXSelector, void* ptr) { if (dirsfirst == true) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), ptr); } return(1); } // Clicked header button long FileList::onCmdHeader(FXObject*, FXSelector, void* ptr) { // List is a search list (a directory name column is inserted between name and file size) if (options&_FILELIST_SEARCH) { FXuint num = (FXuint)(FXuval)ptr; if (num < NB_HEADERS+1) { if (num == 0) { handle(this, FXSEL(SEL_COMMAND, ID_SORT_BY_NAME), NULL); } else if (num == 1) { handle(this, FXSEL(SEL_COMMAND, ID_SORT_BY_DIRNAME), NULL); } else { handle(this, FXSEL(SEL_COMMAND, (ID_SORT_BY_NAME+num-1)), NULL); } setSortHeader(num); } if (getHeaderSize(0) < MIN_NAME_SIZE) { setHeaderSize(0, MIN_NAME_SIZE); } } // List is a file list else { FXuint num = (FXuint)(FXuval)ptr; // Deletion date and original path columns are displayed if (getNumHeaders() == NB_HEADERS+2) { if (num < NB_HEADERS+2) { handle(this, FXSEL(SEL_COMMAND, (ID_SORT_BY_NAME+num)), NULL); setSortHeader(num); } } // Standard case else { if (num < NB_HEADERS) { handle(this, FXSEL(SEL_COMMAND, (ID_SORT_BY_NAME+num)), NULL); setSortHeader(num); } } if (getHeaderSize(0) < MIN_NAME_SIZE) { setHeaderSize(0, MIN_NAME_SIZE); } } return(1); } // Update header button long FileList::onUpdHeader(FXObject*, FXSelector, void*) { // List is a search list (a directory name column is inserted between name and file size) if (options&_FILELIST_SEARCH) { header->setArrowDir(0, (sortfunc == ascending || sortfunc == ascendingCase || sortfunc == ascendingMix || sortfunc == ascendingCaseMix) ? false : (sortfunc == descending || sortfunc == descendingCase || sortfunc == descendingMix || sortfunc == descendingCaseMix) ? true : MAYBE); // Name header->setArrowDir(1, (sortfunc == ascendingDir || sortfunc == ascendingDirCase || sortfunc == ascendingDirMix || sortfunc == ascendingDirCaseMix) ? false : (sortfunc == descendingDir || sortfunc == descendingDirCase || sortfunc == descendingDirMix || sortfunc == descendingDirCaseMix) ? true : MAYBE); // Name header->setArrowDir(2, (sortfunc == ascendingSize || sortfunc == ascendingSizeMix) ? false : (sortfunc == descendingSize || sortfunc == descendingSizeMix) ? true : MAYBE); // Size header->setArrowDir(3, (sortfunc == ascendingType || sortfunc == ascendingTypeMix) ? false : (sortfunc == descendingType || sortfunc == descendingTypeMix) ? true : MAYBE); // Type header->setArrowDir(4, (sortfunc == ascendingExt || sortfunc == ascendingExtMix) ? false : (sortfunc == descendingExt || sortfunc == descendingExtMix) ? true : MAYBE); // Extension header->setArrowDir(5, (sortfunc == ascendingTime || sortfunc == ascendingTimeMix) ? false : (sortfunc == descendingTime || sortfunc == descendingTimeMix) ? true : MAYBE); // Date header->setArrowDir(6, (sortfunc == ascendingUser || sortfunc == ascendingUserMix) ? false : (sortfunc == descendingUser || sortfunc == descendingUserMix) ? true : MAYBE); // User header->setArrowDir(7, (sortfunc == ascendingGroup || sortfunc == ascendingGroupMix) ? false : (sortfunc == descendingGroup || sortfunc == descendingGroupMix) ? true : MAYBE); // Group header->setArrowDir(8, (sortfunc == ascendingPerm || sortfunc == ascendingPermMix) ? false : (sortfunc == descendingPerm || sortfunc == descendingPermMix) ? true : MAYBE); // Permissions if (getHeaderSize(0) < MIN_NAME_SIZE) { setHeaderSize(0, MIN_NAME_SIZE); } if ((sortfunc == ascending) || (sortfunc == ascendingCase) || (sortfunc == ascendingMix) || (sortfunc == ascendingCaseMix) || (sortfunc == descending) || (sortfunc == descendingCase) || (sortfunc == descendingMix) || (sortfunc == descendingCaseMix)) { setSortHeader(0); } else if ((sortfunc == ascendingDir) || (sortfunc == ascendingDirCase) || (sortfunc == ascendingDirMix) || (sortfunc == ascendingDirCaseMix) || (sortfunc == descendingDir) || (sortfunc == descendingDirCase) || (sortfunc == descendingDirMix) || (sortfunc == descendingDirCaseMix)) { setSortHeader(1); } else if ((sortfunc == ascendingSize) || (sortfunc == ascendingSizeMix) || (sortfunc == descendingSize) || (sortfunc == descendingSizeMix)) { setSortHeader(2); } else if ((sortfunc == ascendingType) || (sortfunc == ascendingTypeMix) || (sortfunc == descendingType) || (sortfunc == descendingTypeMix)) { setSortHeader(3); } else if ((sortfunc == ascendingExt) || (sortfunc == ascendingExtMix) || (sortfunc == descendingExt) || (sortfunc == descendingExtMix)) { setSortHeader(4); } else if ((sortfunc == ascendingTime) || (sortfunc == ascendingTimeMix) || (sortfunc == descendingTime) || (sortfunc == descendingTimeMix)) { setSortHeader(5); } else if ((sortfunc == ascendingUser) || (sortfunc == ascendingUserMix) || (sortfunc == descendingUser) || (sortfunc == descendingUserMix)) { setSortHeader(6); } else if ((sortfunc == ascendingGroup) || (sortfunc == ascendingGroupMix) || (sortfunc == descendingGroup) || (sortfunc == descendingGroupMix)) { setSortHeader(7); } else if ((sortfunc == ascendingPerm) || (sortfunc == ascendingPermMix) || (sortfunc == descendingPerm) || (sortfunc == descendingPermMix)) { setSortHeader(8); } } // List is a file list else { header->setArrowDir(0, (sortfunc == ascending || sortfunc == ascendingCase || sortfunc == ascendingMix || sortfunc == ascendingCaseMix) ? false : (sortfunc == descending || sortfunc == descendingCase || sortfunc == descendingMix || sortfunc == descendingCaseMix) ? true : MAYBE); // Name header->setArrowDir(1, (sortfunc == ascendingSize || sortfunc == ascendingSizeMix) ? false : (sortfunc == descendingSize || sortfunc == descendingSizeMix) ? true : MAYBE); // Size header->setArrowDir(2, (sortfunc == ascendingType || sortfunc == ascendingTypeMix) ? false : (sortfunc == descendingType || sortfunc == descendingTypeMix) ? true : MAYBE); // Type header->setArrowDir(3, (sortfunc == ascendingExt || sortfunc == ascendingExtMix) ? false : (sortfunc == descendingExt || sortfunc == descendingExtMix) ? true : MAYBE); // Extension header->setArrowDir(4, (sortfunc == ascendingTime || sortfunc == ascendingTimeMix) ? false : (sortfunc == descendingTime || sortfunc == descendingTimeMix) ? true : MAYBE); // Date header->setArrowDir(5, (sortfunc == ascendingUser || sortfunc == ascendingUserMix) ? false : (sortfunc == descendingUser || sortfunc == descendingUserMix) ? true : MAYBE); // User header->setArrowDir(6, (sortfunc == ascendingGroup || sortfunc == ascendingGroupMix) ? false : (sortfunc == descendingGroup || sortfunc == descendingGroupMix) ? true : MAYBE); // Group header->setArrowDir(7, (sortfunc == ascendingPerm || sortfunc == ascendingPermMix) ? false : (sortfunc == descendingPerm || sortfunc == descendingPermMix) ? true : MAYBE); // Permissions if (getNumHeaders() == NB_HEADERS+2) { header->setArrowDir(8, (sortfunc == ascendingOrigpath || sortfunc == ascendingOrigpathMix) ? false : (sortfunc == descendingOrigpath || sortfunc == descendingOrigpathMix) ? true : MAYBE); // Original path origpathsize = header->getItemSize(NB_HEADERS); header->setArrowDir(9, (sortfunc == ascendingDeltime || sortfunc == ascendingDeltimeMix) ? false : (sortfunc == descendingDeltime || sortfunc == descendingDeltimeMix) ? true : MAYBE); // Deletion date deldatesize = header->getItemSize(NB_HEADERS+1); } if (getHeaderSize(0) < MIN_NAME_SIZE) { setHeaderSize(0, MIN_NAME_SIZE); } if ((sortfunc == ascending) || (sortfunc == ascendingCase) || (sortfunc == ascendingMix) || (sortfunc == ascendingCaseMix) || (sortfunc == descending) || (sortfunc == descendingCase) || (sortfunc == descendingMix) || (sortfunc == descendingCaseMix)) { setSortHeader(0); } else if ((sortfunc == ascendingSize) || (sortfunc == ascendingSizeMix) || (sortfunc == descendingSize) || (sortfunc == descendingSizeMix)) { setSortHeader(1); } else if ((sortfunc == ascendingType) || (sortfunc == ascendingTypeMix) || (sortfunc == descendingType) || (sortfunc == descendingTypeMix)) { setSortHeader(2); } else if ((sortfunc == ascendingExt) || (sortfunc == ascendingExtMix) || (sortfunc == descendingExt) || (sortfunc == descendingExtMix)) { setSortHeader(3); } else if ((sortfunc == ascendingTime) || (sortfunc == ascendingTimeMix) || (sortfunc == descendingTime) || (sortfunc == descendingTimeMix)) { setSortHeader(4); } else if ((sortfunc == ascendingUser) || (sortfunc == ascendingUserMix) || (sortfunc == descendingUser) || (sortfunc == descendingUserMix)) { setSortHeader(5); } else if ((sortfunc == ascendingGroup) || (sortfunc == ascendingGroupMix) || (sortfunc == descendingGroup) || (sortfunc == descendingGroupMix)) { setSortHeader(6); } else if ((sortfunc == ascendingPerm) || (sortfunc == ascendingPermMix) || (sortfunc == descendingPerm) || (sortfunc == descendingPermMix)) { setSortHeader(7); } else if ((sortfunc == ascendingOrigpath) || (sortfunc == ascendingOrigpathMix) || (sortfunc == descendingOrigpath) || (sortfunc == descendingOrigpathMix)) { setSortHeader(8); } else if ((sortfunc == ascendingDeltime) || (sortfunc == ascendingDeltimeMix) || (sortfunc == descendingDeltime) || (sortfunc == descendingDeltimeMix)) { setSortHeader(9); } } return(1); } /** * Compares fields of p and q, supposing they are single byte strings * without using the current locale. * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * @param jmp Field to compare (separated with \t) * * @return 0 if equal, negative if pq * If jmp has an invalid value returns 0 and errno will be EINVAL */ static inline int compare_nolocale(char* p, char* q, FXbool igncase, FXbool asc, FXuint jmp) { int retnames, ret = 0, i; // Compare names register char* pp = p; register char* qq = q; // Go to next '\t' or '\0' while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position register char pw = *pp; register char qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare strings retnames = comparenat(p, q, igncase); // Restore saved characters *pp = pw; *qq = qw; if (jmp == 0) { ret = retnames; goto end; } // Compare other fields // Find where to start comparison if (jmp == 1) { for (i = 1; *pp && i; i -= (*pp++ == '\t')) { } for (i = 1; *qq && i; i -= (*qq++ == '\t')) { } } else if ((jmp > 1) && (jmp < 8)) { // 2->type, 3->ext, 5->user, 6->group, 7->perm, // Adjust the header index depending on the list type if (pp[1] == '/') { for (i = jmp + 1; *pp && i; i -= (*pp++ == '\t')) { } for (i = jmp + 1; *qq && i; i -= (*qq++ == '\t')) { } } else { for (i = jmp; *pp && i; i -= (*pp++ == '\t')) { } for (i = jmp; *qq && i; i -= (*qq++ == '\t')) { } } } else if (jmp == 8) { for (i = 8; *pp && i; i -= (*pp++ == '\t')) { } for (i = 8; *qq && i; i -= (*qq++ == '\t')) { } } else { errno = EINVAL; return(0); } // This part between brackets to make the compiler happy! { register char* sp = pp; register char* sq = qq; // Find where to stop comparison while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position pw = *pp; qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare wide strings ret = comparenat(sp, sq, igncase); // Restore saved characters *pp = pw; *qq = qw; if (ret == 0) { ret = retnames; } } end: // If descending flip if (!asc) { ret = ret * -1; } return(ret); } /** * Compares fields of p and q, supposing they are wide strings * and using the current locale. * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * @param jmp Field to compare (separated with \t) * * @return 0 if equal, negative if pq * If jmp has an invalid value returns 0 and errno will be EINVAL */ static inline int compare_locale(wchar_t* p, wchar_t* q, FXbool igncase, FXbool asc, int jmp) { int retnames, ret = 0, i; // Compare names register wchar_t* pp = p; register wchar_t* qq = q; // Go to next '\t' or '\0' while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position register wchar_t pw = *pp; register wchar_t qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare wide strings retnames = comparewnat(p, q, igncase); // Restore saved characters *pp = pw; *qq = qw; if (jmp == 0) { ret = retnames; goto end; } // Compare other fields // Find where to start comparison if (jmp == 1) { for (i = 1; *pp && i; i -= (*pp++ == '\t')) { } for (i = 1; *qq && i; i -= (*qq++ == '\t')) { } } else if ((jmp > 1) && (jmp < 8)) { // 2->type, 3->ext, 5->user, 6->group, 7->perm, // Adjust the header index depending on the list type if (pp[1] == '/') { for (i = jmp + 1; *pp && i; i -= (*pp++ == '\t')) { } for (i = jmp + 1; *qq && i; i -= (*qq++ == '\t')) { } } else { for (i = jmp; *pp && i; i -= (*pp++ == '\t')) { } for (i = jmp; *qq && i; i -= (*qq++ == '\t')) { } } } else if (jmp == 8) { for (i = 8; *pp && i; i -= (*pp++ == '\t')) { } for (i = 8; *qq && i; i -= (*qq++ == '\t')) { } } else { errno = EINVAL; return(0); } // This part between brackets to make the compiler happy! { register wchar_t* sp = pp; register wchar_t* sq = qq; // Find where to stop comparison while (*pp != '\0' && *pp > '\t') { pp++; } while (*qq != '\0' && *qq > '\t') { qq++; } // Save characters at current position pw = *pp; qw = *qq; // Set characters to null, to stop comparison *pp = '\0'; *qq = '\0'; // Compare wide strings ret = comparewnat(sp, sq, igncase); // Restore saved characters *pp = pw; *qq = qw; if (ret == 0) { ret = retnames; } } end: // If descending flip if (!asc) { ret = ret * -1; } return(ret); } /** * Compares a field of pa with the same field of pb, if the fields are * equal compare by name * @param igncase Ignore upper/lower-case? * @param asc Ascending? If false is descending order * @param mixdir Mix directories with files? * @param jmp Field to compare (separated with \t) * * @return 0 if equal, negative if papb * Requires to allocate some space, if there is no memory this * function returns 0 and errno will be ENOMEM * If jmp has an invalid value returns 0 and errno will be EINVAL */ int FileList::compare(const IconItem* pa, const IconItem* pb, FXbool igncase, FXbool asc, FXbool mixdir, FXuint jmp) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register char* p = (char*)a->label.text(); register char* q = (char*)b->label.text(); // Common cases // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } if (!mixdir) { int diff = (int)b->isDirectory() - (int)a->isDirectory(); if (diff) { return(diff); } } // Prepare wide char strings wchar_t* wa = NULL; wchar_t* wb = NULL; size_t an, bn; an = mbstowcs(NULL, (const char*)p, 0); if (an == (size_t)-1) { return(compare_nolocale(p, q, igncase, asc, jmp)); // If error, fall back to no locale comparison } wa = (wchar_t*)calloc(an + 1, sizeof(wchar_t)); if (wa == NULL) { errno = ENOMEM; return(0); } mbstowcs(wa, p, an + 1); bn = mbstowcs(NULL, (const char*)q, 0); if (bn == (size_t)-1) { free(wa); return(compare_nolocale(p, q, igncase, asc, jmp)); // If error, fall back to no locale comparison } wb = (wchar_t*)calloc(bn + 1, sizeof(wchar_t)); if (wb == NULL) { errno = ENOMEM; free(wa); free(wb); return(0); } mbstowcs(wb, q, bn + 1); // Perform comparison based on the current locale int ret = compare_locale(wa, wb, igncase, asc, jmp); // Free memory if (wa != NULL) { free(wa); } if (wb != NULL) { free(wb); } return(ret); } // Compare file names int FileList::ascending(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 0)); } // Compare file names, mixing files and directories int FileList::ascendingMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 0)); } // Compare file names, case insensitive int FileList::ascendingCase(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, true, false, 0)); } // Compare file names, case insensitive, mixing files and directories int FileList::ascendingCaseMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, true, true, 0)); } // Compare directory names int FileList::ascendingDir(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 1)); } // Compare directory names, mixing files and directories int FileList::ascendingDirMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 1)); } // Compare directory names, case insensitive int FileList::ascendingDirCase(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, true, false, 1)); } // Compare directory names, case insensitive, mixing files and directories int FileList::ascendingDirCaseMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, true, true, 1)); } // Compare file types int FileList::ascendingType(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 2)); } // Compare file types, mixing files and directories int FileList::ascendingTypeMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 2)); } // Compare file extension int FileList::ascendingExt(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 3)); } // Compare file extension, mixing files and directories int FileList::ascendingExtMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 3)); } // Compare file size - Warning: only returns the sign of the comparison!!! int FileList::ascendingSize(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); register int sum = (int)b->isDirectory() + (int)a->isDirectory(); if (diff) { return(diff); } if (sum == 2) { return(ascendingCase(pa, pb)); } register FXlong l = a->size - b->size; if (l) { if (l >= 0) { return(1); } else { return(-1); } } return(ascendingCase(pa, pb)); } // Compare file size - Warning : only returns the sign of the comparison!!! // Mixing files and directories int FileList::ascendingSizeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); register int adir = (int)a->isDirectory(); register int bdir = (int)b->isDirectory(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } if (adir && bdir) { return(ascendingCaseMix(pa, pb)); } if (adir && !bdir) { return(-1); } if (!adir && bdir) { return(1); } register FXlong l = a->size - b->size; if (l) { if (l >= 0) { return(1); } else { return(-1); } } return(ascendingCaseMix(pa, pb)); } // Compare file time int FileList::ascendingTime(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); if (diff) { return(diff); } register FXlong l = (FXlong)a->date - (FXlong)b->date; if (l) { return(l); } return(ascendingCase(pa, pb)); } // Compare file time, mixing files and directories int FileList::ascendingTimeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register FXlong l = (FXlong)a->date - (FXlong)b->date; if (l) { return(l); } return(ascendingCaseMix(pa, pb)); } // Compare file user int FileList::ascendingUser(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 5)); } // Compare file user, mixing files and directories int FileList::ascendingUserMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 5)); } // Compare file group int FileList::ascendingGroup(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 6)); } // Compare file group, mixing files and directories int FileList::ascendingGroupMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 6)); } // Compare file permissions int FileList::ascendingPerm(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 7)); } // Compare file permissions, mixing files and directories int FileList::ascendingPermMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 7)); } // Compare file deletion time int FileList::ascendingDeltime(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); if (diff) { return(diff); } register FXlong l = (FXlong)a->deldate - (FXlong)b->deldate; if (l) { return(l); } return(ascendingCase(pa, pb)); } // Compare file deletion time, mixing files and directories int FileList::ascendingDeltimeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register FXlong l = (FXlong)a->deldate - (FXlong)b->deldate; if (l) { return(l); } return(ascendingCaseMix(pa, pb)); } // Compare original path int FileList::ascendingOrigpath(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, false, 8)); } // Compare original path, mixing files and directories int FileList::ascendingOrigpathMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, true, true, 8)); } // Reversed compare file name, case insensitive int FileList::descendingCase(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, false, false, 0)); } // Reversed compare file name, case insensitive, mixing files and directories int FileList::descendingCaseMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, false, true, 0)); } // Reversed compare file name int FileList::descending(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 0)); } // Reversed compare file name, mixing files and directories int FileList::descendingMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 0)); } // Reversed compare directory names, case insensitive int FileList::descendingDirCase(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, false, false, 1)); } // Reversed compare directory names, case insensitive, mixing files and directories int FileList::descendingDirCaseMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, true, false, true, 1)); } // Reversed compare directory names int FileList::descendingDir(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 1)); } // Reversed compare directory names, mixing files and directories int FileList::descendingDirMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 1)); } // Reversed compare file type int FileList::descendingType(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 2)); } // Reversed compare file type, mixing files and directories int FileList::descendingTypeMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 2)); } // Reversed compare file extension int FileList::descendingExt(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 3)); } // Reversed compare file extension, mixing files and directories int FileList::descendingExtMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 3)); } // Reversed compare file size int FileList::descendingSize(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); register int sum = (int)b->isDirectory() + (int)a->isDirectory(); if (diff) { return(diff); } if (sum == 2) { return(-ascendingCase(pa, pb)); } register FXlong l = a->size - b->size; if (l) { if (l >= 0) { return(-1); } else { return(1); } } return(-ascendingCase(pa, pb)); } // Reversed compare file size, mixing files and directories int FileList::descendingSizeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); register int adir = (int)a->isDirectory(); register int bdir = (int)b->isDirectory(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } if (adir && bdir) { return(-ascendingCaseMix(pa, pb)); } if (adir && !bdir) { return(1); } if (!adir && bdir) { return(-1); } register FXlong l = a->size - b->size; if (l) { if (l >= 0) { return(-1); } else { return(1); } } return(-ascendingCaseMix(pa, pb)); } // Reversed compare file time int FileList::descendingTime(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); if (diff) { return(diff); } register FXlong l = (FXlong)a->date - (FXlong)b->date; if (l) { return(-l); } return(-ascendingCase(pa, pb)); } // Reversed compare file time, mixing files and directories int FileList::descendingTimeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register FXlong l = (FXlong)a->date - (FXlong)b->date; if (l) { return(-l); } return(-ascendingCaseMix(pa, pb)); } // Reversed compare file user int FileList::descendingUser(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 5)); } // Reversed compare file user, mixing files and directories int FileList::descendingUserMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 5)); } // Reversed compare file group int FileList::descendingGroup(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 6)); } // Reversed compare file group, mixing files and directories int FileList::descendingGroupMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 6)); } // Reversed compare file permission int FileList::descendingPerm(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 7)); } // Reversed compare file permission, mixing files and directories int FileList::descendingPermMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 7)); } // Reversed compare file deletion time int FileList::descendingDeltime(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register int diff = (int)b->isDirectory() - (int)a->isDirectory(); if (diff) { return(diff); } register FXlong l = (FXlong)a->deldate - (FXlong)b->deldate; if (l) { return(-l); } return(-ascendingCase(pa, pb)); } // Reversed compare file deletion time, mixing files and directories int FileList::descendingDeltimeMix(const IconItem* pa, const IconItem* pb) { register const FileItem* a = (FileItem*)pa; register const FileItem* b = (FileItem*)pb; register const FXuchar* p = (const FXuchar*)a->label.text(); register const FXuchar* q = (const FXuchar*)b->label.text(); // Directory '..' should always be on top if ((p[0] == '.') && (p[1] == '.') && (p[2] == '\t')) { return(-1); } if ((q[0] == '.') && (q[1] == '.') && (q[2] == '\t')) { return(1); } register FXlong l = (FXlong)a->deldate - (FXlong)b->deldate; if (l) { return(-l); } return(-ascendingCaseMix(pa, pb)); } // Reversed compare original path int FileList::descendingOrigpath(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, false, 8)); } // Reversed original path, mixing files and directories int FileList::descendingOrigpathMix(const IconItem* pa, const IconItem* pb) { return(compare(pa, pb, false, false, true, 8)); } // Force an immediate update of the list long FileList::onCmdRefresh(FXObject*, FXSelector, void*) { // Force a refresh of the file association table if (associations) { delete associations; associations = new FileDict(getApp()); } allowrefresh = true; scan(true); return(1); } // Allow or forbid file list refresh void FileList::setAllowRefresh(const FXbool allow) { if (allow == false) { allowrefresh = false; } else { allowrefresh = true; } } // Refresh; don't update if user is interacting with the list long FileList::onCmdRefreshTimer(FXObject*, FXSelector, void*) { // Don't refresh if window is minimized if (((FXTopWindow*)focuswindow)->isMinimized()) { return(0); } // Don't refresh if not allowed if (flags&FLAG_UPDATE && allowrefresh) { scan(false); counter = (counter+1)%REFRESH_FREQUENCY; } // Reset timer again getApp()->addTimeout(this, ID_REFRESH_TIMER, REFRESH_INTERVAL); return(0); } // Set current filename void FileList::setCurrentFile(const FXString& pathname) { // FIXME notify argument? if (!pathname.empty()) { setDirectory(FXPath::directory(pathname)); setCurrentItem(findItem(FXPath::name(pathname))); } } // Get pathname to current file, if any FXString FileList::getCurrentFile() const { if (current < 0) { return(FXString::null); } return(getItemPathname(current)); } // Set directory being displayed and update the history if necessary void FileList::setDirectory(const FXString& pathname, const FXbool histupdate, FXString prevpath) { // Only update the history if it was requested if (histupdate) { // At first call, allocate the history if (forwardhist == NULL) { forwardhist = new StringList(); } if (backhist == NULL) { backhist = new StringList(); } // Update the history else { backhist->insertFirstItem(getDirectory()); forwardhist->removeAllItems(); } } FXString path(""); // FIXME notify argument? if (!pathname.empty()) { path = FXPath::absolute(directory, pathname); while (!FXPath::isTopDirectory(path) && !::isDirectory(path)) { path = FXPath::upLevel(path); } if (directory != path) { directory = ::cleanPath(path); clearItems(); list = NULL; scan(true); } } // If possible, select directory we came from, otherwise select first item if (hasFocus()) { int sel_index = 0; if (!prevpath.empty()) { if (path == FXPath::upLevel(prevpath)) // Did we come from subdirectory? { // Find dir in list sel_index = findItem(FXPath::name(prevpath)); if ((sel_index == -1) && getNumItems()) { // Not found, select first item sel_index = 0; } } } if ((sel_index != -1) && getNumItems()) { enableItem(sel_index); setCurrentItem(sel_index); } } } // Set the pattern to filter void FileList::setPattern(const FXString& ptrn) { if (ptrn.empty()) { return; } if (pattern != ptrn) { pattern = ptrn; scan(true); } setFocus(); } // Change file match mode void FileList::setMatchMode(FXuint mode) { if (matchmode != mode) { matchmode = mode; scan(true); } setFocus(); } // Return true if showing hidden files FXbool FileList::shownHiddenFiles() const { return((options&_FILELIST_SHOWHIDDEN) != 0); } // Change show hidden files mode void FileList::showHiddenFiles(FXbool shown) { FXuint opts = shown ? (options|_FILELIST_SHOWHIDDEN) : (options&~_FILELIST_SHOWHIDDEN); if (opts != options) { options = opts; scan(true); } setFocus(); } // Return true if showing thumbnails FXbool FileList::shownThumbnails() const { return(displaythumbnails); } // Change show thumbnails mode void FileList::showThumbnails(FXbool display) { displaythumbnails = display; // Refresh to display or hide thumbnails scan(true); setFocus(); } // Return true if showing directories only FXbool FileList::showOnlyDirectories() const { return((options&_FILELIST_SHOWDIRS) != 0); } // Change show directories only mode void FileList::showOnlyDirectories(FXbool shown) { FXuint opts = shown ? (options|_FILELIST_SHOWDIRS) : (options&~_FILELIST_SHOWDIRS); if (opts != options) { options = opts; scan(true); } setFocus(); } // Compare till '\t' or '\0' static FXbool fileequal(const FXString& a, const FXString& b) { register const FXuchar* p1 = (const FXuchar*)a.text(); register const FXuchar* p2 = (const FXuchar*)b.text(); register int c1, c2; do { c1 = *p1++; c2 = *p2++; } while (c1 != '\0' && c1 != '\t' && c1 == c2); return((c1 == '\0' || c1 == '\t') && (c2 == '\0' || c2 == '\t')); } // Create custom item IconItem* FileList::createItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr) { return(new FileItem(text, big, mini, ptr)); } // Is directory FXbool FileList::isItemDirectory(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::isItemDirectory: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return((((FileItem*)items[index])->state&FileItem::FOLDER) != 0); } // Is file FXbool FileList::isItemFile(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::isItemFile: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return((((FileItem*)items[index])->state&(FileItem::FOLDER|FileItem::CHARDEV|FileItem::BLOCKDEV|FileItem::FIFO|FileItem::SOCK)) == 0); } // Is executable FXbool FileList::isItemExecutable(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::isItemExecutable: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return((((FileItem*)items[index])->state&FileItem::EXECUTABLE) != 0); } // Is link FXbool FileList::isItemLink(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::isItemLink: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return((((FileItem*)items[index])->state&FileItem::SYMLINK) != 0); } // Get file name from item at index FXString FileList::getItemFilename(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::getItemFilename: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } FXString label = items[index]->getText(); return(label.section('\t', 0)); } // Get pathname from item at index, relatively to the current directory FXString FileList::getItemPathname(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::getItemPathname: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } FXString label = items[index]->getText(); return(FXPath::absolute(directory, label.section('\t', 0))); } // Get full pathname from item at index, as obtained from the label string FXString FileList::getItemFullPathname(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::getItemFullPathname: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } FXString label = items[index]->getText(); return(label.rafter('\t')); } // Get associations (if any) from the file FileAssoc* FileList::getItemAssoc(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::getItemAssoc: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(((FileItem*)items[index])->assoc); } // Return file size of the item FXulong FileList::getItemFileSize(int index) const { if ((FXuint)index >= (FXuint)items.no()) { fprintf(stderr, "%s::getItemFileSize: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(((FileItem*)items[index])->size); } // Change associations table; force a rescan so as to // update the bindings in each item to the new associations void FileList::setAssociations(FileDict* assocs) { if (associations != assocs) { associations = assocs; scan(true); } setFocus(); } // Change header size void FileList::setHeaderSize(int index, int size) { if (index == NB_HEADERS) { origpathsize = size; } else if (index == NB_HEADERS+1) { deldatesize = size; } else { if ((FXuint)index >= (FXuint)header->getNumItems()) { fprintf(stderr, "%s::setHeaderSize: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } header->setItemSize(index, size); } } // Get header size int FileList::getHeaderSize(int index) const { if (index == NB_HEADERS) { return(origpathsize); } if (index == NB_HEADERS+1) { return(deldatesize); } if ((FXuint)index >= (FXuint)header->getNumItems()) { fprintf(stderr, "%s::getHeaderSize: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(header->getItemSize(index)); } // Update refresh timer if the window is unminimized long FileList::onUpdRefreshTimer(FXObject*, FXSelector, void*) { static FXbool prevMinimized = true; static FXbool minimized = true; prevMinimized = minimized; if (((FXTopWindow*)focuswindow)->isMinimized()) { minimized = false; } else { minimized = true; } // Update refresh timer if ((prevMinimized == false) && (minimized == true)) { onCmdRefreshTimer(0, 0, 0); } return(1); } // Scan items to see if listing is necessary void FileList::scan(FXbool force) { // Start wait cursor if refresh forced (use custom function) if (force) { ::setWaitCursor(getApp(), BEGIN_CURSOR); } // Special case where the file list is a search list if (options&_FILELIST_SEARCH) { FXbool updated = updateItems(force); if (updated) { sortItems(); // Only sort if search list was updated } } // Normal case else { struct stat info; // Stat the current directory if (::info(directory, info)) { // New date of directory FXTime newdate = (FXTime)FXMAX(info.st_mtime, info.st_ctime); // Forced, directory date was changed, or failed to get proper date or counter expired if (force || (timestamp != newdate) || (counter == 0)) { // And do the refresh #if defined(linux) refreshMtdevices(); #endif listItems(force); sortItems(); // Remember when we did this timestamp = newdate; } } // Move to higher directory else { setDirectory(FXPath::upLevel(directory)); } } // Stop wait cursor if refresh forced (use custom function) if (force) { ::setWaitCursor(getApp(), END_CURSOR); } } // Update the list (used in a search list) FXbool FileList::updateItems(FXbool force) { FXString grpid, usrid, atts, mod, ext, del; FXString filename, dirname, pathname; FileItem* item; FileAssoc* fileassoc; FXString filetype, lowext; FXIcon* big, *mini; FXIcon* bigthumb = NULL, *minithumb = NULL; FXIconSource* source; time_t filemtime, filectime; struct stat info, linfo; FXbool isLink, isBrokenLink; FXbool updated = false; // Loop over the item list for (int u = 0; u < getNumItems(); u++) { // Current item item = (FileItem*)getItem(u); pathname = getItemFullPathname(u); dirname = FXPath::directory(pathname); filename = FXPath::name(pathname); // Get file/link info and indicate if it is a link if (lstatrep(pathname.text(), &linfo) != 0) { removeItem(u, true); u--; continue; } isLink = S_ISLNK(linfo.st_mode); isBrokenLink = false; // Find if it is a broken link if (isLink && (statrep(pathname.text(), &info) != 0)) { isBrokenLink = true; } // File times filemtime = linfo.st_mtime; filectime = linfo.st_ctime; // Update only if the item has changed (mtime or ctime) if (force || (item->date != filemtime) || (item->cdate != filectime)) { // Indicate that the list was updated updated = true; // Obtain user name usrid = FXSystem::userName(linfo.st_uid); // Obtain group name grpid = FXSystem::groupName(linfo.st_gid); // Permissions (caution : we don't use the FXSystem::modeString() function because // it seems to be incompatible with the info.st_mode format) atts = ::permissions(linfo.st_mode); // Mod time mod = FXSystem::time("%x %X", filemtime); del = ""; ext = ""; // Obtain the extension for files only if (!S_ISDIR(linfo.st_mode)) { ext = FXPath::name(pathname).rafter('.', 2).lower(); if ((ext == "tar.gz") || (ext == "tar.bz2") || (ext == "tar.xz") || (ext == "tar.z")) // Special cases { // Do nothing } else { ext = FXPath::extension(pathname).lower(); } } // Obtain the stat info on the file itself if (statrep(pathname.text(), &info) != 0) { // Except in the case of a broken link if (isBrokenLink) { lstatrep(pathname.text(), &info); } else { removeItem(u, true); u--; continue; } } // Set item flags from the obtained info if (S_ISDIR(info.st_mode)) { item->state |= FileItem::FOLDER; } else { item->state &= ~FileItem::FOLDER; } if (S_ISLNK(info.st_mode)) { item->state |= FileItem::SYMLINK; } else { item->state &= ~FileItem::SYMLINK; } if (S_ISCHR(info.st_mode)) { item->state |= FileItem::CHARDEV; } else { item->state &= ~FileItem::CHARDEV; } if (S_ISBLK(info.st_mode)) { item->state |= FileItem::BLOCKDEV; } else { item->state &= ~FileItem::BLOCKDEV; } if (S_ISFIFO(info.st_mode)) { item->state |= FileItem::FIFO; } else { item->state &= ~FileItem::FIFO; } if (S_ISSOCK(info.st_mode)) { item->state |= FileItem::SOCK; } else { item->state &= ~FileItem::SOCK; } if ((info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) && !(S_ISDIR(info.st_mode) || S_ISCHR(info.st_mode) || S_ISBLK(info.st_mode) || S_ISFIFO(info.st_mode) || S_ISSOCK(info.st_mode))) { item->state |= FileItem::EXECUTABLE; } else { item->state &= ~FileItem::EXECUTABLE; } // We can drag items item->state |= FileItem::DRAGGABLE; // Assume no associations fileassoc = NULL; // Determine icons and type if (item->state&FileItem::FOLDER) { if (!::isReadExecutable(pathname)) { big = bigfolderlockedicon; mini = minifolderlockedicon; filetype = _("Folder"); } else { big = bigfoldericon; mini = minifoldericon; filetype = _("Folder"); } } else if (item->state&FileItem::CHARDEV) { big = bigchardevicon; mini = minichardevicon; filetype = _("Character Device"); } else if (item->state&FileItem::BLOCKDEV) { big = bigblockdevicon; mini = miniblockdevicon; filetype = _("Block Device"); } else if (item->state&FileItem::FIFO) { big = bigpipeicon; mini = minipipeicon; filetype = _("Named Pipe"); } else if (item->state&FileItem::SOCK) { big = bigsocketicon; mini = minisocketicon; filetype = _("Socket"); } else if (item->state&FileItem::EXECUTABLE) { big = bigexecicon; mini = miniexecicon; filetype = _("Executable"); if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } else { big = bigdocicon; mini = minidocicon; filetype = _("Document"); if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } // If association is found, use it if (fileassoc) { filetype = fileassoc->extension.text(); if (fileassoc->bigicon) { big = fileassoc->bigicon; } if (fileassoc->miniicon) { mini = fileassoc->miniicon; } } // Symbolic links have a specific type if (isBrokenLink) { filetype = _("Broken link"); } else if (isLink) { if (associations) { // Don't forget to remove trailing '/' here! fileassoc = associations->findFileBinding(::cleanPath(::readLink(pathname)).text()); if (fileassoc) { filetype = _("Link to ")+fileassoc->extension; } else { filetype = _("Link to ")+filetype; } } } // Don't display the file size for directories FXString hsize; if (S_ISDIR(linfo.st_mode)) { hsize = ""; } else { char size[64]; #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", (FXulong)linfo.st_size); #else snprintf(size, sizeof(size)-1, "%llu", (FXulong)linfo.st_size); #endif hsize = ::hSize(size); } // Set item icons item->setBigIcon(big); item->setMiniIcon(mini); // Attempt to load thumbnails for image files if (displaythumbnails) { // Load big icon from file bigthumb = NULL; minithumb = NULL; if (associations) { source = associations->getIconDict()->getIconSource(); if (!(item->state&FileItem::FIFO)) // Avoid pipes { bigthumb = source->loadIconFile(pathname); } } if (bigthumb) { register FXuint w = bigthumb->getWidth(); register FXuint h = bigthumb->getHeight(); // Eventually scale the big icon (best quality) if ((w > MAX_BIGTHUMB_SIZE) || (h > MAX_BIGTHUMB_SIZE)) { if (w > h) { bigthumb->scale(MAX_BIGTHUMB_SIZE, (MAX_BIGTHUMB_SIZE*h)/w, 1); } else { bigthumb->scale((MAX_BIGTHUMB_SIZE*w)/h, MAX_BIGTHUMB_SIZE, 1); } // Size has changed w = bigthumb->getWidth(); h = bigthumb->getHeight(); } // Copy the big icon to the mini icon (faster than direct rescaling) minithumb = new FXIcon(getApp()); FXColor* tmpdata; if (!FXMEMDUP(&tmpdata, bigthumb->getData(), FXColor, w*h)) { throw FXMemoryException(_("Unable to load image")); } minithumb->setData(tmpdata, IMAGE_OWNED, w, h); // Eventually scale the mini icon (best quality) w = minithumb->getWidth(); h = minithumb->getHeight(); if ((w > MAX_MINITHUMB_SIZE) || (h > MAX_MINITHUMB_SIZE)) { if (w > h) { minithumb->scale(MAX_MINITHUMB_SIZE, (MAX_MINITHUMB_SIZE*h)/w, 1); } else { minithumb->scale((MAX_MINITHUMB_SIZE*w)/h, MAX_MINITHUMB_SIZE, 1); } } // Set thumbnail icons as owned if (!isLink && !isBrokenLink) { item->setBigIcon(bigthumb, true); item->setMiniIcon(minithumb, true); } } } // Set other item attributes item->size = (FXulong)linfo.st_size; item->assoc = fileassoc; item->date = filemtime; item->cdate = filectime; #if defined(linux) // Devices have a specific icon if (fsdevices->find(pathname.text())) { filetype = _("Mount point"); if (streq(fsdevices->find(pathname.text()), "harddisk")) { item->setBigIcon(bigharddiskicon); item->setMiniIcon(harddiskicon); } else if (streq(fsdevices->find(pathname.text()), "nfsdisk")) { item->setBigIcon(bignfsdriveicon); item->setMiniIcon(nfsdriveicon); } else if (streq(fsdevices->find(pathname.text()), "smbdisk")) { item->setBigIcon(bignfsdriveicon); item->setMiniIcon(nfsdriveicon); } else if (streq(fsdevices->find(pathname.text()), "floppy")) { item->setBigIcon(bigfloppyicon); item->setMiniIcon(floppyicon); } else if (streq(fsdevices->find(pathname.text()), "cdrom")) { item->setBigIcon(bigcdromicon); item->setMiniIcon(cdromicon); } else if (streq(fsdevices->find(pathname.text()), "zip")) { item->setBigIcon(bigzipicon); item->setMiniIcon(zipicon); } } #endif // Update item label // NB : Item del is empty if we are not in trash can // Item pathname is not displayed but is used in the tooltip if (dirname.length() > 256) { dirname = dirname.trunc(256) + "[...]"; // Truncate directory path name to 25 characters to prevent overflow } item->label.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", filename.text(), dirname.text(), hsize.text(), filetype.text(), ext.text(), mod.text(), usrid.text(), grpid.text(), atts.text(), del.text(), pathname.text()); // Symbolic links have a specific icon if (isLink) { // Broken link if (isBrokenLink) { item->setBigIcon(bigbrokenlinkicon); item->setMiniIcon(minibrokenlinkicon); } else { item->setBigIcon(biglinkicon); item->setMiniIcon(minilinkicon); } } } // Finally don't forget to create the item! item->create(); /* // Refresh the GUI if an image has to be drawn and recompute the icon height if (displaythumbnails) { if (updated && bigthumb && minithumb && (u < REFRESH_COUNT)) { update(); recompute(); makeItemVisible(0); // Fix some refresh problems repaint(); } } */ } // Gotta recalc size of content if (updated) { recalc(); } return(updated); } // List directory (used in a standard file list) void FileList::listItems(FXbool force) { FileItem *oldlist, *newlist; FileItem **po, **pn, **pp; FXString grpid, usrid, atts, mod, ext, del, origpath; FXString name, dirname, pathname; FileItem *curitem = NULL; FileItem *item, *link; FileAssoc *fileassoc; FXString filetype, lowext, timeformat; FXIconSource *source; FXIcon *big, *mini; FXIcon *bigthumb = NULL, *minithumb = NULL; time_t filemtime, filectime; struct stat info, linfo; struct dirent *dp; DIR* dirp; FXbool isInTrash, isLink, isBrokenLink, isLinkToDir; FXlong deldate; // Read time format timeformat = getApp()->reg().readStringEntry("SETTINGS", "time_format", DEFAULT_TIME_FORMAT); // Build old and new insert-order lists oldlist = list; newlist = NULL; // Head of old and new lists po = &oldlist; pn = &newlist; // Remember current item if (0 <= current) { curitem = (FileItem*)items[current]; } // Start inserting items.clear(); // Get info about directory if (statrep(directory.text(), &info) == 0) { // Need latest change no matter what actually changed! timestamp = FXMAX(info.st_mtime, info.st_ctime); // Set path to stat with dirname = directory.text(); if (dirname != ROOTDIR) { dirname += PATHSEPSTRING; } // Add the deletion time and original path headers if we are in trash can if (dirname.left(trashfileslocation.length()) == trashfileslocation) { if (getNumHeaders() == NB_HEADERS) { appendHeader(_("Original path"), NULL, origpathsize); appendHeader(_("Deletion date"), NULL, deldatesize); } isInTrash = true; } // Eventually remove the deletion and original path headers if we are not in trash can else { if (getNumHeaders() == NB_HEADERS+2) { deldatesize = header->getItemSize(NB_HEADERS+1); removeHeader(NB_HEADERS); origpathsize = header->getItemSize(NB_HEADERS); removeHeader(NB_HEADERS); // Change back the sort function to default if necessary if ((sortfunc == ascendingOrigpath) || (sortfunc == ascendingOrigpathMix) || (sortfunc == descendingOrigpath) || (sortfunc == descendingOrigpathMix)) { sortfunc = ascendingCase; setSortHeader(0); } if ((sortfunc == ascendingDeltime) || (sortfunc == ascendingDeltimeMix) || (sortfunc == descendingDeltime) || (sortfunc == descendingDeltimeMix)) { sortfunc = ascendingCase; setSortHeader(0); } } isInTrash = false; } // Get directory stream pointer dirp = opendir(directory.text()); // Managed to open directory if (dirp) { // Loop over directory entries while ((dp = readdir(dirp)) != NULL) { // Directory entry name name = dp->d_name; // Hidden file (.xxx) or directory (. or .yyy) normally not shown, // but directory .. is always shown so we can navigate up or down // Hidden files in the trash can base directory are always shown if ((name[0] == '.') && ((name[1] == 0) || (!((name[1] == '.') && (name[2] == 0)) && !(options&_FILELIST_SHOWHIDDEN) && (dirname != trashfileslocation+PATHSEPSTRING)))) { continue; } // Build full pathname pathname = dirname+name; // Get file/link info and indicate if it is a link if (lstatrep(pathname.text(), &linfo) != 0) { continue; } isLink = S_ISLNK(linfo.st_mode); isBrokenLink = false; isLinkToDir = false; // Find if it is a broken link or a link to a directory if (isLink) { if (statrep(pathname.text(), &info) != 0) { isBrokenLink = true; } else if (S_ISDIR(info.st_mode)) { isLinkToDir = true; } } // If not a directory, nor a link to a directory and we want only directories, skip it if (!isLinkToDir && !S_ISDIR(linfo.st_mode) && (options&_FILELIST_SHOWDIRS)) { continue; } // Is it a directory or does it match the pattern? if (!S_ISDIR(linfo.st_mode) && !FXPath::match(pattern, name, matchmode)) { continue; } // File times filemtime = linfo.st_mtime; filectime = linfo.st_ctime; // Find it, and take it out from the old list if found for (pp = po; (item = *pp) != NULL; pp = &item->link) { if (fileequal(item->label, name)) { *pp = item->link; item->link = NULL; po = pp; goto fnd; } } // Make new item if we have to item = (FileItem*)createItem(FXString::null, NULL, NULL, NULL); // Append item in list fnd: *pn = item; pn = &item->link; // Append if (item == curitem) { current = items.no(); } items.append(item); // Update only if forced, or if the item has changed (mtime or ctime) if (force || (item->date != filemtime) || (item->cdate != filectime)) { // Obtain user name usrid = FXSystem::userName(linfo.st_uid); // Obtain group name grpid = FXSystem::groupName(linfo.st_gid); // Permissions (caution : we don't use the FXSystem::modeString() function because // it seems to be incompatible with the info.st_mode format) atts = ::permissions(linfo.st_mode); // Mod time mod = FXSystem::time(timeformat.text(), filemtime); // If we are in trash can, obtain the deletion time and the original path deldate = 0; del = ""; ext = ""; origpath = ""; FXString delstr = ""; if (isInTrash) { // Obtain trash base name and sub path FXString subpath = dirname; subpath.erase(0, trashfileslocation.length()+1); FXString trashbasename = subpath.before('/'); if (trashbasename == "") { trashbasename = name; } subpath.erase(0, trashbasename.length()); // Read the .trashinfo file FILE* fp; char line[1024]; FXbool success = true; FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+trashbasename+".trashinfo"; if ((fp = fopen(trashinfopathname.text(), "r")) != NULL) { // Read the first three lines and get the strings if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { origpath = line; origpath = origpath.after('='); origpath = origpath.before('\n'); } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { delstr = line; delstr = delstr.after('='); delstr = delstr.before('\n'); } fclose(fp); } // Eventually include sub path in the original path if (subpath == "") { origpath = origpath+subpath; } else { origpath = origpath+subpath+name; } if (delstr == "") { origpath = ""; } // Special case if (name == "..") { origpath = ""; delstr = ""; } // Convert date deldate = deltime(delstr); if (deldate != 0) { del = FXSystem::time(timeformat.text(), deldate); } // Obtain the extension for files only if (!S_ISDIR(linfo.st_mode)) { ext = ""; if (dirname == trashfileslocation) { ext = FXPath::extension(pathname.rbefore('_')); } if (ext == "") { ext = FXPath::name(pathname).rafter('.', 2).lower(); if ((ext == "tar.gz") || (ext == "tar.bz2") || (ext == "tar.xz") || (ext == "tar.z")) // Special cases { } else { ext = FXPath::extension(pathname).lower(); } } } } else { // Obtain the extension for files only if (!S_ISDIR(linfo.st_mode)) { ext = FXPath::name(pathname).rafter('.', 2).lower(); if ((ext == "tar.gz") || (ext == "tar.bz2") || (ext == "tar.xz") || (ext == "tar.z")) // Special cases { // Do nothing } else { ext = FXPath::extension(pathname).lower(); } } } // Obtain the stat info on the file or the referred file if it is a link if (statrep(pathname.text(), &info) != 0) { // Except in the case of a broken link if (isBrokenLink) { lstatrep(pathname.text(), &info); } else { continue; } } // Set item flags from the obtained info or linfo if (S_ISDIR(info.st_mode)) { item->state |= FileItem::FOLDER; } else { item->state &= ~FileItem::FOLDER; } if (S_ISLNK(linfo.st_mode)) { item->state |= FileItem::SYMLINK; } else { item->state &= ~FileItem::SYMLINK; } if (S_ISCHR(info.st_mode)) { item->state |= FileItem::CHARDEV; } else { item->state &= ~FileItem::CHARDEV; } if (S_ISBLK(info.st_mode)) { item->state |= FileItem::BLOCKDEV; } else { item->state &= ~FileItem::BLOCKDEV; } if (S_ISFIFO(info.st_mode)) { item->state |= FileItem::FIFO; } else { item->state &= ~FileItem::FIFO; } if (S_ISSOCK(info.st_mode)) { item->state |= FileItem::SOCK; } else { item->state &= ~FileItem::SOCK; } if ((info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) && !(S_ISDIR(info.st_mode) || S_ISCHR(info.st_mode) || S_ISBLK(info.st_mode) || S_ISFIFO(info.st_mode) || S_ISSOCK(info.st_mode))) { item->state |= FileItem::EXECUTABLE; } else { item->state &= ~FileItem::EXECUTABLE; } // We can drag items item->state |= FileItem::DRAGGABLE; // Assume no associations fileassoc = NULL; // Determine icons and type if (item->state&FileItem::FOLDER) { if (!::isReadExecutable(pathname)) { big = bigfolderlockedicon; mini = minifolderlockedicon; filetype = _("Folder"); } else { big = bigfoldericon; mini = minifoldericon; filetype = _("Folder"); } } else if (item->state&FileItem::CHARDEV) { big = bigchardevicon; mini = minichardevicon; filetype = _("Character Device"); } else if (item->state&FileItem::BLOCKDEV) { big = bigblockdevicon; mini = miniblockdevicon; filetype = _("Block Device"); } else if (item->state&FileItem::FIFO) { big = bigpipeicon; mini = minipipeicon; filetype = _("Named Pipe"); } else if (item->state&FileItem::SOCK) { big = bigsocketicon; mini = minisocketicon; filetype = _("Socket"); } else if (item->state&FileItem::EXECUTABLE) { big = bigexecicon; mini = miniexecicon; filetype = _("Executable"); if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } else { big = bigdocicon; mini = minidocicon; filetype = _("Document"); if (associations) { // Eventually strip the '_' suffix when we are in trash root if (dirname == trashfileslocation) { FXString stripname = pathname.rbefore('_'); if (stripname == "") { fileassoc = associations->findFileBinding(pathname.text()); } else { fileassoc = associations->findFileBinding(stripname.text()); } } else { fileassoc = associations->findFileBinding(pathname.text()); } } } // If association is found, use it if (fileassoc) { if ((fileassoc->extension != "") || !(item->state&FileItem::EXECUTABLE)) { filetype = fileassoc->extension.text(); } if (fileassoc->bigicon) { big = fileassoc->bigicon; } if (fileassoc->miniicon) { mini = fileassoc->miniicon; } } // Symbolic links have a specific type if (isBrokenLink) { filetype = _("Broken link"); } else if (isLink) { if (associations) { // Don't forget to remove trailing '/' here! fileassoc = associations->findFileBinding(::cleanPath(::readLink(pathname)).text()); if (fileassoc && (fileassoc->extension != "")) { filetype = _("Link to ")+fileassoc->extension; } // If no association found, get the link file type from the referred file type else { if (item->state&FileItem::FOLDER) { filetype = _("Folder"); } else if (item->state&FileItem::CHARDEV) { filetype = _("Character Device"); } else if (item->state&FileItem::BLOCKDEV) { filetype = _("Block Device"); } else if (item->state&FileItem::FIFO) { filetype = _("Named Pipe"); } else if (item->state&FileItem::SOCK) { filetype = _("Socket"); } else if (item->state&FileItem::EXECUTABLE) { filetype = _("Executable"); } else { filetype = _("Document"); } filetype = _("Link to ")+filetype; } } } // Don't display the file size for directories FXString hsize; if (S_ISDIR(linfo.st_mode)) { hsize = ""; } else { char size[64]; #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", (FXulong)linfo.st_size); #else snprintf(size, sizeof(size)-1, "%llu", (FXulong)linfo.st_size); #endif hsize = ::hSize(size); } // Set item icons item->setBigIcon(big); item->setMiniIcon(mini); // Attempt to load thumbnails for image files if (displaythumbnails) { // Load big icon from file bigthumb = NULL; minithumb = NULL; if (associations) { source = associations->getIconDict()->getIconSource(); if (!(item->state&FileItem::FIFO)) // Avoid pipes { bigthumb = source->loadIconFile(pathname); } } if (bigthumb) { register FXuint w = bigthumb->getWidth(); register FXuint h = bigthumb->getHeight(); // Eventually scale the big icon (best quality) if ((w > MAX_BIGTHUMB_SIZE) || (h > MAX_BIGTHUMB_SIZE)) { if (w > h) { bigthumb->scale(MAX_BIGTHUMB_SIZE, (MAX_BIGTHUMB_SIZE*h)/w, 1); } else { bigthumb->scale((MAX_BIGTHUMB_SIZE*w)/h, MAX_BIGTHUMB_SIZE, 1); } // Size has changed w = bigthumb->getWidth(); h = bigthumb->getHeight(); } // Copy the big icon to the mini icon (faster than direct rescaling) minithumb = new FXIcon(getApp()); FXColor* tmpdata; if (!FXMEMDUP(&tmpdata, bigthumb->getData(), FXColor, w*h)) { throw FXMemoryException(_("Unable to load image")); } minithumb->setData(tmpdata, IMAGE_OWNED, w, h); // Eventually scale the mini icon (best quality) w = minithumb->getWidth(); h = minithumb->getHeight(); if ((w > MAX_MINITHUMB_SIZE) || (h > MAX_MINITHUMB_SIZE)) { if (w > h) { minithumb->scale(MAX_MINITHUMB_SIZE, (MAX_MINITHUMB_SIZE*h)/w, 1); } else { minithumb->scale((MAX_MINITHUMB_SIZE*w)/h, MAX_MINITHUMB_SIZE, 1); } } // Set thumbnail icons as owned if (!isLink && !isBrokenLink) { item->setBigIcon(bigthumb, true); item->setMiniIcon(minithumb, true); } } } // Set other item attributes item->size = (FXulong)linfo.st_size; item->assoc = fileassoc; item->date = filemtime; item->cdate = filectime; item->deldate = deldate; #if defined(linux) // Mounted devices may have a specific icon if (mtdevices->find(pathname.text())) { filetype = _("Mount point"); if (streq(mtdevices->find(pathname.text()), "cifs")) { item->setBigIcon(bignfsdriveicon); item->setMiniIcon(nfsdriveicon); } else { item->setBigIcon(bigharddiskicon); item->setMiniIcon(harddiskicon); } } // Devices found in fstab may have a specific icon if (fsdevices->find(pathname.text())) { filetype = _("Mount point"); if (streq(fsdevices->find(pathname.text()), "harddisk")) { item->setBigIcon(bigharddiskicon); item->setMiniIcon(harddiskicon); } else if (streq(fsdevices->find(pathname.text()), "nfsdisk")) { item->setBigIcon(bignfsdriveicon); item->setMiniIcon(nfsdriveicon); } else if (streq(fsdevices->find(pathname.text()), "smbdisk")) { item->setBigIcon(bignfsdriveicon); item->setMiniIcon(nfsdriveicon); } else if (streq(fsdevices->find(pathname.text()), "floppy")) { item->setBigIcon(bigfloppyicon); item->setMiniIcon(floppyicon); } else if (streq(fsdevices->find(pathname.text()), "cdrom")) { item->setBigIcon(bigcdromicon); item->setMiniIcon(cdromicon); } else if (streq(fsdevices->find(pathname.text()), "zip")) { item->setBigIcon(bigzipicon); item->setMiniIcon(zipicon); } } #endif // Update item label // NB : Item del is empty if we are not in trash can // Item pathname is not displayed but is used in the tooltip item->label.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", name.text(), hsize.text(), filetype.text(), ext.text(), mod.text(), usrid.text(), grpid.text(), atts.text(), origpath.text(), del.text(), pathname.text()); // Dotdot folders have a specific icon if ((name[0] == '.') && (name[1] == '.') && (name[2] == 0)) { item->setBigIcon(bigfolderupicon); item->setMiniIcon(minifolderupicon); } // Symbolic links have a specific icon if (isLink) { // Broken link if (isBrokenLink) { item->setBigIcon(bigbrokenlinkicon); item->setMiniIcon(minibrokenlinkicon); } else { item->setBigIcon(biglinkicon); item->setMiniIcon(minilinkicon); } } } // Create item if (id()) { item->create(); } // Refresh the GUI if an image has to be drawn and recompute the icon height // Don't redraw if there are too many images if (displaythumbnails) { if (bigthumb && minithumb && (items.no() < REFRESH_COUNT)) { update(); recompute(); makeItemVisible(0); // Fix some refresh problems repaint(); } } } closedir(dirp); } } // Wipe items remaining in list:- they have disappeared!! for (item = oldlist; item; item = link) { link = item->link; delete item; } // Validate if (current >= items.no()) { current = -1; } if (anchor >= items.no()) { anchor = -1; } if (extent >= items.no()) { extent = -1; } // Remember new list list = newlist; // Gotta recalc size of content recalc(); } xfe-1.42/src/CommandWindow.cpp0000644000175100017510000002400312634016110013177 00000000000000// Command window object // Executes a command and returns the results in the command window // Close button to close the window (but not kill the child process) // Cancel button to kill the child process (but not close the window) // The object deletes itself when the close button is pressed // The command window can be a free-floating window or can be // a window which will always float over the owner window #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "MessageBox.h" #include "CommandWindow.h" // Map FXDEFMAP(CommandWindow) CommandWindowMap[] = { FXMAPFUNC(SEL_COMMAND, CommandWindow::ID_CLOSE, CommandWindow::onCmdClose), FXMAPFUNC(SEL_COMMAND, CommandWindow::ID_KILLPROCESS, CommandWindow::onCmdKillProcess), FXMAPFUNC(SEL_UPDATE, CommandWindow::ID_KILLPROCESS, CommandWindow::onUpdKillProcess), FXMAPFUNC(SEL_UPDATE, CommandWindow::ID_CLOSE, CommandWindow::onUpdClose), FXMAPFUNC(SEL_CHORE, CommandWindow::ID_WATCHPROCESS, CommandWindow::onWatchProcess), }; // Object implementation FXIMPLEMENT(CommandWindow, DialogBox, CommandWindowMap, ARRAYNUMBER(CommandWindowMap)) // Construct window which will always float over the owner window CommandWindow::CommandWindow(FXWindow* owner, const FXString& name, FXString strcmd, int nblines, int nbcols) : DialogBox(owner, name, DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_MAXIMIZE|DECOR_CLOSE, 0, 0, 0, 0, 6, 6, 6, 6, 4, 4) { // Get command to execute command = strcmd; // Bottom part FXHorizontalFrame* buttonbox = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH); new FXButton(buttonbox, _("Cl&ose"), NULL, this, ID_CLOSE, BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); FXButton* cancelbutton = new FXButton(buttonbox, _("&Cancel"), NULL, this, ID_KILLPROCESS, BUTTON_INITIAL|BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); // Text part FXHorizontalFrame* textbox = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); text = new FXText(textbox, NULL, 0, TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y); text->setVisibleRows(nblines); text->setVisibleColumns(nbcols); appendText(_("Please wait...\n\n")); cancelbutton->setFocus(); // Initialize variables pid = -1; killed = false; closed = false; } // Construct free-floating window CommandWindow::CommandWindow(FXApp* a, const FXString& name, FXString strcmd, int nblines, int nbcols) : DialogBox(a, name, DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_MAXIMIZE|DECOR_MINIMIZE|DECOR_CLOSE, 0, 0, 0, 0, 6, 6, 6, 6, 4, 4) { // Get command to execute command = strcmd; // Bottom part FXHorizontalFrame* buttonbox = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH); new FXButton(buttonbox, _("Cl&ose"), NULL, this, ID_CLOSE, BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); FXButton* cancelbutton = new FXButton(buttonbox, _("&Cancel"), NULL, this, ID_KILLPROCESS, BUTTON_INITIAL|BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20, 5, 5); // Text part FXHorizontalFrame* textbox = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0); text = new FXText(textbox, NULL, 0, TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y); text->setVisibleRows(nblines); text->setVisibleColumns(nbcols); appendText(_("Please wait...\n\n")); cancelbutton->setFocus(); // Initialize variables pid = -1; killed = false; closed = false; } // Make window void CommandWindow::create() { // Set text font FXString fontspec; fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (!fontspec.empty()) { FXFont* font = new FXFont(getApp(), fontspec); font->create(); text->setFont(font); } DialogBox::create(); show(PLACEMENT_OWNER); // Execute command execCmd(command.text()); } // Kill process when clicking on the cancel button long CommandWindow::onCmdKillProcess(FXObject*, FXSelector, void*) { kill((-1*pid), SIGTERM); // Kills the process group killed = true; return(0); } // Update cancel button long CommandWindow::onUpdKillProcess(FXObject* sender, FXSelector, void*) { FXButton* btn = (FXButton*)sender; if (!getApp()->hasChore(this, ID_WATCHPROCESS)) { btn->disable(); } else { btn->enable(); } return(1); } // Update close button long CommandWindow::onUpdClose(FXObject* sender, FXSelector, void*) { FXButton* btn = (FXButton*)sender; if (!getApp()->hasChore(this, ID_WATCHPROCESS)) { btn->enable(); } else { btn->disable(); } return(1); } // Execute a command and capture its output int CommandWindow::execCmd(FXString command) { // Open pipes to communicate with child process if (pipe(pipes) == -1) { return(-1); } // Create child process pid = fork(); if (pid == -1) { fprintf(stderr, _("Error: Fork failed: %s\n"), strerror(errno)); return(-1); } if (pid == 0) // Child { char* args[4]; int ret1 = dup2(pipes[0], STDIN_FILENO); // Use the pipes as the new channels int ret2 = dup2(pipes[1], STDOUT_FILENO); // (where stdout and stderr int ret3 = dup2(pipes[1], STDERR_FILENO); // go to the same pipe!). if ((ret1 < 0) || (ret2 < 0) || (ret3 < 0)) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't duplicate pipes: %s"), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't duplicate pipes")); } return(-1); } args[0] = (char*)"sh"; // Setup arguments args[1] = (char*)"-vc"; // to run command (option -v to display the command to execute) args[2] = (char*)command.text(); // in a shell in args[3] = NULL; // a new process. setpgid(0, 0); // Allows to kill the whole group execvp(args[0], args); // Start a new process which will execute the command. _exit(EXIT_FAILURE); // We'll get here only if an error occurred. } else // Parent { // Make sure we get called so we can check when child has finished getApp()->addChore(this, ID_WATCHPROCESS); } return(0); } // Watch progress of child process long CommandWindow::onWatchProcess(FXObject*, FXSelector, void*) { char buf[1024]; int nread; if (closed) { // The close button was pressed : just close the pipes // and delete the object // Close pipes ::close(pipes[0]); ::close(pipes[1]); // Object deletes itself! delete this; } else if ((waitpid(pid, NULL, WNOHANG) == 0)) { // Child is still running, just wait getApp()->addChore(this, ID_WATCHPROCESS); // Read data from the running child (first, set I-O to non-blocking) int pflags; if ((pflags = fcntl(pipes[0], F_GETFL)) >= 0) { pflags |= O_NONBLOCK; if (fcntl(pipes[0], F_SETFL, pflags) >= 0) { // Now read the data from the pipe while ((nread = read(pipes[0], buf, sizeof(buf)-1)) > 0) { buf[nread] = '\0'; // Remove backspace characters, if any FXString strbuf = buf; strbuf = strbuf.substitute("\b", "."); text->appendText(strbuf.text(), strlen(strbuf.text())); scrollToLastLine(); if (nread < (int)(sizeof(buf)-1)) { break; } } } } } else { // Child has finished. // Read data from the finished child while ((nread = read(pipes[0], buf, sizeof(buf)-1)) > 0) { buf[nread] = '\0'; // Remove backspace characters, if any FXString strbuf = buf; strbuf = strbuf.substitute("\b", "."); text->appendText(strbuf.text(), strlen(strbuf.text())); scrollToLastLine(); if (nread < (int)(sizeof(buf)-1)) { break; } } if (killed) { appendText(_("\n>>>> COMMAND CANCELLED <<<<")); } else { appendText(_("\n>>>> END OF COMMAND <<<<")); } scrollToLastLine(); // Close pipes ::close(pipes[0]); ::close(pipes[1]); } return(1); } // Close dialog when clicking on the close button long CommandWindow::onCmdClose(FXObject*, FXSelector, void*) { getApp()->stopModal(this, true); hide(); closed = true; // Object deletes itself delete this; return(1); } // Change the text in the buffer to new text void CommandWindow::setText(const char* str) { text->setText(str, strlen(str)); getApp()->repaint(); } // Append new text at the end of the buffer void CommandWindow::appendText(const char* str) { text->appendText(str, strlen(str)); getApp()->repaint(); } // Scroll to the last line void CommandWindow::scrollToLastLine(void) { text->makePositionVisible(text->getLength()); getApp()->repaint(); } // Get text length int CommandWindow::getLength(void) { return(text->getLength()); } // Clean up CommandWindow::~CommandWindow() { getApp()->removeChore(this, ID_WATCHPROCESS); text = (FXText*)-1; } xfe-1.42/src/ArchInputDialog.cpp0000644000175100017510000005671312625057511013475 00000000000000// Input dialog for the add to archive command #include "config.h" #include "i18n.h" #include #include #include "icons.h" #include "xfeutils.h" #include "FileDialog.h" #include "ArchInputDialog.h" FXDEFMAP(ArchInputDialog) ArchInputDialogMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, ArchInputDialog::onCmdKeyPress), FXMAPFUNC(SEL_COMMAND, ArchInputDialog::ID_BROWSE_PATH, ArchInputDialog::onCmdBrowsePath), FXMAPFUNCS(SEL_COMMAND, ArchInputDialog::ID_FORMAT_TAR_GZ, ArchInputDialog::ID_FORMAT_Z, ArchInputDialog::onCmdOption), FXMAPFUNCS(SEL_UPDATE, ArchInputDialog::ID_FORMAT_TAR_GZ, ArchInputDialog::ID_FORMAT_Z, ArchInputDialog::onUpdOption), }; // Object implementation FXIMPLEMENT(ArchInputDialog, DialogBox, ArchInputDialogMap, ARRAYNUMBER(ArchInputDialogMap)) // Construct a dialog box ArchInputDialog::ArchInputDialog(FXWindow* win, FXString inp) : DialogBox(win, _("Add To Archive"), DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE) { // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, PACK_UNIFORM_WIDTH|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Accept new FXButton(buttons, _("&Accept"), NULL, this, ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Vertical frame FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Icon and message line FXMatrix* matrix = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, "", bigarchaddicon, LAYOUT_LEFT); new FXLabel(matrix, _("New archive name:"), NULL, JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); // Label and input field FXMatrix* matrix3 = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); input = new FXTextField(matrix3, 40, 0, 0, LAYOUT_CENTER_Y|LAYOUT_CENTER_X|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X); input->setText(inp); if (!isUtf8(inp.text(), inp.length())) { new FXLabel(contents, _("=> Warning: file name is not UTF-8 encoded!"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); } new FXButton(matrix3, _("\tSelect destination..."), filedialogicon, this, ID_BROWSE_PATH, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Select archive format FXMatrix* matrix4 = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix4, _("Format:"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); popup = new FXPopup(this); option_tgz = new FXOption(popup, _("tar.gz\tArchive format is tar.gz"), NULL, this, ID_FORMAT_TAR_GZ, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_zip = new FXOption(popup, _("zip\tArchive format is zip"), NULL, this, ID_FORMAT_ZIP, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_7zip = new FXOption(popup, _("7z\tArchive format is 7z"), NULL, this, ID_FORMAT_7ZIP, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_tbz2 = new FXOption(popup, _("tar.bz2\tArchive format is tar.bz2"), NULL, this, ID_FORMAT_TAR_BZ2, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_txz = new FXOption(popup, _("tar.xz\tArchive format is tar.xz"), NULL, this, ID_FORMAT_TAR_XZ, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_tar = new FXOption(popup, _("tar\tArchive format is tar"), NULL, this, ID_FORMAT_TAR, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_taz = new FXOption(popup, _("tar.Z\tArchive format is tar.Z"), NULL, this, ID_FORMAT_TAR_Z, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_gz = new FXOption(popup, _("gz\tArchive format is gz"), NULL, this, ID_FORMAT_GZ, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_bz2 = new FXOption(popup, _("bz2\tArchive format is bz2"), NULL, this, ID_FORMAT_BZ2, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_xz = new FXOption(popup, _("xz\tArchive format is xz"), NULL, this, ID_FORMAT_XZ, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); option_z = new FXOption(popup, _("Z\tArchive format is Z"), NULL, this, ID_FORMAT_Z, JUSTIFY_HZ_APART|ICON_AFTER_TEXT); optionmenu = new FXOptionMenu(matrix4, popup, LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|JUSTIFY_HZ_APART|ICON_AFTER_TEXT); } void ArchInputDialog::create() { DialogBox::create(); input->setFocus(); } ArchInputDialog::~ArchInputDialog() { delete popup; } long ArchInputDialog::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } long ArchInputDialog::onCmdBrowsePath(FXObject* o, FXSelector s, void* p) { // File dialog FileDialog browse(this, _("Select a destination folder")); const char* patterns[] = { _("All Files"), "*", NULL }; FXString archname = FXPath::name(input->getText()); browse.setPatternList(patterns); // Browse files in mixed mode browse.setSelectMode(SELECT_FILE_DIRECTORY); if (browse.execute()) { FXString path = browse.getFilename(); input->setText(path + PATHSEPSTRING + archname); } return(1); } // Archive option long ArchInputDialog::onCmdOption(FXObject*, FXSelector sel, void*) { // Get extensions of the archive name FXString str = input->getText(); FXString ext1 = str.rafter('.', 1).lower(); FXString ext2 = str.rafter('.', 2).lower(); if (FXSELID(sel) == ID_FORMAT_TAR_GZ) { // Handle the different archive formats if ((ext2 == "tar.gz") || (ext1 == "tgz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".tar.gz"; input->setText(str); } else if (ext2 == "tar.xz") { str = str.left(str.length()-7); str = str+".tar.gz"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".tar.gz"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".tar.gz"; input->setText(str); } else if ((ext1 == "txz") || (ext1 == "taz") || (ext1 == "bz2") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".tar.gz"; input->setText(str); } else if ((ext1 == "xz") || (ext1 == "7z") || (ext1 == "gz")) { str = str.left(str.length()-3); str = str+".tar.gz"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".tar.gz"; input->setText(str); } else { str = str+".tar.gz"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_TAR_BZ2) { // Handle different archive formats if ((ext2 == "tar.bz2") || (ext1 == "tbz2") || (ext1 == "tbz")) { input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".tar.bz2"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".tar.bz2"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "taz") || (ext1 == "bz2") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".tar.bz2"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".tar.bz2"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".tar.bz2"; input->setText(str); } else { str = str+".tar.bz2"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_TAR_XZ) { // Handle different archive formats if ((ext2 == "tar.xz") || (ext1 == "txz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".tar.xz"; input->setText(str); } else if (ext2 == "tar.gz") { str = str.left(str.length()-7); str = str+".tar.xz"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".tar.xz"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "bz2") || (ext1 == "taz") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".tar.xz"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".tar.xz"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".tar.xz"; input->setText(str); } else { str = str+".tar.xz"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_TAR) { // Handle different archive formats if ((ext1 == "tar") && (ext2 != "tar.gz") && (ext2 != "tar.bz2") && (ext2 != "tar.z") && (ext2 != "tar.xz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".tar"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".tar"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".tar"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".tar"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "taz") || (ext1 == "bz2") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".tar"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".tar"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".tar"; input->setText(str); } else { str = str+".tar"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_TAR_Z) { // Handle different archive formats if ((ext2 == "tar.Z") || (ext1 == "taz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".tar.Z"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".tar.Z"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".tar.Z"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "bz2") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".tar.Z"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".tar.Z"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".tar.Z"; input->setText(str); } else { str = str+".tar.Z"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_GZ) { // Handle different archive formats if ((ext1 == "gz") && (ext2 != "tar.gz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".gz"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".gz"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".gz"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".gz"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "taz") || (ext1 == "bz2") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".gz"; input->setText(str); } else if ((ext1 == "xz") || (ext1 == "7z")) { str = str.left(str.length()-3); str = str+".gz"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".gz"; input->setText(str); } else { str = str+".gz"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_XZ) { // Handle different archive formats if ((ext1 == "xz") && (ext2 != "tar.xz")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".xz"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".xz"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".xz"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".xz"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "taz") || (ext1 == "bz2") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".xz"; input->setText(str); } else if (ext1 == "7z") { str = str.left(str.length()-3); str = str+".xz"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".xz"; input->setText(str); } else { str = str+".xz"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_BZ2) { // Handle different archive formats if ((ext1 == "bz2") && (ext2 != "tar.bz2")) { str = str.left(str.length()-8); input->setText(str); } if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".bz2"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".bz2"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".bz2"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".bz2"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "txz") || (ext1 == "taz") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".bz2"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "xz") || (ext1 == "7z")) { str = str.left(str.length()-3); str = str+".bz2"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".bz2"; input->setText(str); } else { str = str+".bz2"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_Z) { // Handle different archive formats if ((ext1 == "z") && (ext2 != "tar.z")) { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".Z"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".Z"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".Z"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".Z"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "bz2") || (ext1 == "taz") || (ext1 == "txz") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".Z"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".Z"; input->setText(str); } else { str = str+".Z"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_ZIP) { // Handle different archive formats if (ext1 == "zip") { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".zip"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".zip"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".zip"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".zip"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "bz2") || (ext1 == "taz") || (ext1 == "txz") || (ext1 == "tar")) { str = str.left(str.length()-4); str = str+".zip"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "7z") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".zip"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".zip"; input->setText(str); } else { str = str+".zip"; input->setText(str); } } else if (FXSELID(sel) == ID_FORMAT_7ZIP) { // Handle different archive formats if (ext1 == "7z") { input->setText(str); } else if (ext2 == "tar.bz2") { str = str.left(str.length()-8); str = str+".7z"; input->setText(str); } else if ((ext2 == "tar.gz") || (ext2 == "tar.xz")) { str = str.left(str.length()-7); str = str+".7z"; input->setText(str); } else if (ext2 == "tar.z") { str = str.left(str.length()-6); str = str+".7z"; input->setText(str); } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { str = str.left(str.length()-5); str = str+".7z"; input->setText(str); } else if ((ext1 == "tgz") || (ext1 == "bz2") || (ext1 == "taz") || (ext1 == "txz") || (ext1 == "tar") || (ext1 == "zip")) { str = str.left(str.length()-4); str = str+".7z"; input->setText(str); } else if ((ext1 == "gz") || (ext1 == "xz")) { str = str.left(str.length()-3); str = str+".7z"; input->setText(str); } else if (ext1 == "z") { str = str.left(str.length()-2); str = str+".7z"; input->setText(str); } else { str = str+".7z"; input->setText(str); } } return(1); } // Option long ArchInputDialog::onUpdOption(FXObject*, FXSelector sel, void*) { // Get extensions of the archive name FXString str = input->getText(); FXString ext1 = str.rafter('.', 1).lower(); FXString ext2 = str.rafter('.', 2).lower(); // Handle the different archive formats if ((ext2 == "tar.gz") || (ext1 == "tgz")) { optionmenu->setCurrent(option_tgz); } else if ((ext2 == "tar.bz2") || (ext1 == "tbz2") || (ext1 == "tbz")) { optionmenu->setCurrent(option_tbz2); } else if ((ext2 == "tar.xz") || (ext1 == "txz")) { optionmenu->setCurrent(option_txz); } else if ((ext2 == "tar.z") || (ext1 == "taz")) { optionmenu->setCurrent(option_taz); } else if ((ext2 == "") || (ext1 == "tar")) { optionmenu->setCurrent(option_tar); } else if (ext1 == "gz") { optionmenu->setCurrent(option_gz); } else if (ext1 == "bz2") { optionmenu->setCurrent(option_bz2); } else if (ext1 == "xz") { optionmenu->setCurrent(option_xz); } else if (ext1 == "z") { optionmenu->setCurrent(option_z); } else if (ext1 == "zip") { optionmenu->setCurrent(option_zip); } else if (ext1 == "7z") { optionmenu->setCurrent(option_7zip); } else { optionmenu->setCurrent(option_tgz); } return(1); } xfe-1.42/src/FileDict.cpp0000644000175100017510000002061212625057511012130 00000000000000// File association tables. Taken from the FOX library and slightly modified. #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "FileDict.h" #define COMMANDLEN 256 #define EXTENSIONLEN 128 #define MIMETYPELEN 64 #define ICONNAMELEN 256 // Object implementation FXIMPLEMENT(IconDict, FXDict, NULL, 0) // Default icon path const char IconDict::defaultIconPath[] = DEFAULTICONPATH; // Build icon table IconDict::IconDict(FXApp* a, const FXString& p) : path(p) { app = a; source = new FXIconSource(a); } // Search for the icon name along the search path, and try to load it void* IconDict::createData(const void* ptr) { return(source->loadIconFile(FXPath::search(path, (const char*)ptr))); } // Delete the icon void IconDict::deleteData(void* ptr) { delete ((FXIcon*)ptr); } // Save data void IconDict::save(FXStream& store) const { FXDict::save(store); store << source; store << path; } // Load data void IconDict::load(FXStream& store) { FXDict::load(store); store >> source; store >> path; } // Destructor IconDict::~IconDict() { delete source; source = (FXIconSource*)-1L; clear(); } // These registry keys are used for default bindings. const char FileDict::defaultExecBinding[] = "defaultexecbinding"; const char FileDict::defaultDirBinding[] = "defaultdirbinding"; const char FileDict::defaultFileBinding[] = "defaultfilebinding"; // Object implementation FXIMPLEMENT(FileDict, FXDict, NULL, 0) // Construct an file-extension association table FileDict::FileDict(FXApp* a) : app(a), settings(&a->reg()) { icons = new IconDict(a, settings->readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH)); } // Construct an file-extension association table, and alternative settings database FileDict::FileDict(FXApp* a, FXSettings* db) : app(a), settings(db) { icons = new IconDict(a, settings->readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH)); } // Create new association from extension void* FileDict::createData(const void* ptr) { register const char* p = (const char*)ptr; register char* q; char command[COMMANDLEN]; char extension[EXTENSIONLEN]; char mimetype[MIMETYPELEN]; char bigname[ICONNAMELEN]; char bignameopen[ICONNAMELEN]; char mininame[ICONNAMELEN]; char mininameopen[ICONNAMELEN]; FileAssoc* fileassoc; // Make association record fileassoc = new FileAssoc; // Parse command for (q = command; *p && *p != ';' && q < command+COMMANDLEN-1; *q++ = *p++) { } *q = '\0'; // Skip section separator if (*p == ';') { p++; } // Parse extension type for (q = extension; *p && *p != ';' && q < extension+EXTENSIONLEN-1; *q++ = *p++) { } *q = '\0'; // Skip section separator if (*p == ';') { p++; } // Parse big icon name for (q = bigname; *p && *p != ';' && *p != ':' && q < bigname+ICONNAMELEN-1; *q++ = *p++) { } *q = '\0'; // Skip icon separator if (*p == ':') { p++; } // Parse big open icon name for (q = bignameopen; *p && *p != ';' && q < bignameopen+ICONNAMELEN-1; *q++ = *p++) { } *q = '\0'; // Skip section separator if (*p == ';') { p++; } // Parse mini icon name for (q = mininame; *p && *p != ';' && *p != ':' && q < mininame+ICONNAMELEN-1; *q++ = *p++) { } *q = '\0'; // Skip icon separator if (*p == ':') { p++; } // Parse mini open icon name for (q = mininameopen; *p && *p != ';' && q < mininameopen+ICONNAMELEN-1; *q++ = *p++) { } *q = '\0'; // Skip section separator if (*p == ';') { p++; } // Parse mime type for (q = mimetype; *p && *p != ';' && q < mimetype+MIMETYPELEN-1; *q++ = *p++) { } *q = '\0'; // Initialize association data fileassoc->command = command; fileassoc->extension = extension; fileassoc->bigicon = NULL; fileassoc->miniicon = NULL; fileassoc->bigiconopen = NULL; fileassoc->miniiconopen = NULL; fileassoc->mimetype = mimetype; fileassoc->dragtype = 0; fileassoc->flags = 0; // Insert icons into icon dictionary if (bigname[0]) { fileassoc->bigicon = fileassoc->bigiconopen = icons->insert(bigname); } if (mininame[0]) { fileassoc->miniicon = fileassoc->miniiconopen = icons->insert(mininame); } // Add open icons also; we will fall back on the regular icons in needed if (bignameopen[0]) { fileassoc->bigiconopen = icons->insert(bignameopen); } if (mininameopen[0]) { fileassoc->miniiconopen = icons->insert(mininameopen); } // Return the binding return(fileassoc); } // Delete association void FileDict::deleteData(void* ptr) { delete ((FileAssoc*)ptr); } // Set icon search path void FileDict::setIconPath(const FXString& path) { // Replace iconpath setting in registry settings->writeStringEntry("SETTINGS", "iconpath", path.text()); // Change it in icon dictionary icons->setIconPath(path); } // Return current icon search path FXString FileDict::getIconPath() const { return(icons->getIconPath()); } // Replace or add file association FileAssoc* FileDict::replace(const char* ext, const char* str) { // Replace entry in registry settings->writeStringEntry("FILETYPES", ext, str); // Replace record return((FileAssoc*)FXDict::replace(ext, str)); } // Remove file association FileAssoc* FileDict::remove(const char* ext) { // Delete registry entry for this type settings->deleteEntry("FILETYPES", ext); // Remove record FXDict::remove(ext); return(NULL); } // Find file association using the lower case file extension FileAssoc* FileDict::associate(const char* key) { register const char* association; register FileAssoc* record; register char lowkey[MAXPATHLEN]; // Convert the association key to lower case // Uses these functions because they seem to be faster than FXString strlcpy(lowkey, key, strlen(key)+1); strlow(lowkey); // See if we have an existing record already and stores the key extension if ((record = find(lowkey)) != NULL) { record->key = lowkey; return(record); } // See if this entry is known in FILETYPES association = settings->readStringEntry("FILETYPES", lowkey, ""); // If not an empty string, make a record for it now and stores the key extension if (association[0]) { record = (FileAssoc*)FXDict::insert(lowkey, association); record->key = lowkey; return(record); } // Not a known file type return(NULL); } // Find file association from registry FileAssoc* FileDict::findFileBinding(const char* pathname) { register const char* filename = pathname; register const char* p = pathname; register FileAssoc* record; while (*p) { if (ISPATHSEP(*p)) { filename = p+1; } p++; } if (strlen(filename) == 0) { return(associate(defaultFileBinding)); } record = associate(filename); if (record) { return(record); } filename = strchr(filename, '.'); while (filename) { if (strlen(filename) > 1) { record = associate(filename+1); } if (record) { return(record); } filename = strchr(filename+1, '.'); } return(associate(defaultFileBinding)); } // Find directory association from registry FileAssoc* FileDict::findDirBinding(const char* pathname) { register const char* path = pathname; register FileAssoc* record; while (*path) { record = associate(path); if (record) { return(record); } path++; while (*path && !ISPATHSEP(*path)) { path++; } } return(associate(defaultDirBinding)); } // Find executable association from registry FileAssoc* FileDict::findExecBinding(const char* pathname) { return(associate(defaultExecBinding)); } // Destructor FileDict::~FileDict() { delete icons; clear(); app = (FXApp*)-1; icons = (IconDict*)-1; } xfe-1.42/src/FontDialog.cpp0000644000175100017510000006251012634015761012477 00000000000000// Font dialog. Taken from the FOX library and only modified for translation purpose #include "config.h" #include "i18n.h" #include #include "xfeutils.h" #include "FontDialog.h" // Map FXDEFMAP(FontSelector) FontSelectorMap[] = { FXMAPFUNC(SEL_COMMAND, FontSelector::ID_FAMILY, FontSelector::onCmdFamily), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_WEIGHT, FontSelector::onCmdWeight), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_SIZE, FontSelector::onCmdSize), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_SIZE_TEXT, FontSelector::onCmdSizeText), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_STYLE, FontSelector::onCmdStyle), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_STYLE_TEXT, FontSelector::onCmdStyleText), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_CHARSET, FontSelector::onCmdCharset), FXMAPFUNC(SEL_UPDATE, FontSelector::ID_CHARSET, FontSelector::onUpdCharset), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_SETWIDTH, FontSelector::onCmdSetWidth), FXMAPFUNC(SEL_UPDATE, FontSelector::ID_SETWIDTH, FontSelector::onUpdSetWidth), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_PITCH, FontSelector::onCmdPitch), FXMAPFUNC(SEL_UPDATE, FontSelector::ID_PITCH, FontSelector::onUpdPitch), FXMAPFUNC(SEL_UPDATE, FontSelector::ID_SCALABLE, FontSelector::onUpdScalable), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_SCALABLE, FontSelector::onCmdScalable), FXMAPFUNC(SEL_UPDATE, FontSelector::ID_ALLFONTS, FontSelector::onUpdAllFonts), FXMAPFUNC(SEL_COMMAND, FontSelector::ID_ALLFONTS, FontSelector::onCmdAllFonts), }; // Implementation FXIMPLEMENT(FontSelector, FXPacker, FontSelectorMap, ARRAYNUMBER(FontSelectorMap)) FontSelector::FontSelector(FXComposite* p, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h) : FXPacker(p, opts, x, y, w, h) { target = tgt; message = sel; // Bottom side FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X); accept = new FXButton(buttons, _("&Accept"), NULL, NULL, 0, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); cancel = new FXButton(buttons, _("&Cancel"), NULL, NULL, 0, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Left side FXMatrix* controls = new FXMatrix(this, 3, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FIX_HEIGHT, 0, 0, 0, 160, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, 0); // Font families, to be filled later new FXLabel(controls, _("&Family:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); family = new FXTextField(controls, 10, NULL, 0, TEXTFIELD_READONLY|FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); FXHorizontalFrame* familyframe = new FXHorizontalFrame(controls, FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW, 0, 0, 0, 0, 0, 0, 0, 0); familylist = new FXList(familyframe, this, ID_FAMILY, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLER_NEVER|VSCROLLER_ALWAYS); // Initial focus on list familylist->setFocus(); // Font weights new FXLabel(controls, _("&Weight:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); weight = new FXTextField(controls, 4, NULL, 0, TEXTFIELD_READONLY|FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); FXHorizontalFrame* weightframe = new FXHorizontalFrame(controls, FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN, 0, 0, 0, 0, 0, 0, 0, 0); weightlist = new FXList(weightframe, this, ID_WEIGHT, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLER_NEVER|VSCROLLER_ALWAYS); // Font styles new FXLabel(controls, _("&Style:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); style = new FXTextField(controls, 6, NULL, 0, TEXTFIELD_READONLY|FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); FXHorizontalFrame* styleframe = new FXHorizontalFrame(controls, FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN, 0, 0, 0, 0, 0, 0, 0, 0); stylelist = new FXList(styleframe, this, ID_STYLE, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLER_NEVER|VSCROLLER_ALWAYS); // Font sizes, to be filled later new FXLabel(controls, _("Si&ze:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); size = new FXTextField(controls, 2, this, ID_SIZE_TEXT, FRAME_SUNKEN|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN); FXHorizontalFrame* sizeframe = new FXHorizontalFrame(controls, FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN, 0, 0, 0, 0, 0, 0, 0, 0); sizelist = new FXList(sizeframe, this, ID_SIZE, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLER_NEVER|VSCROLLER_ALWAYS); FXMatrix* attributes = new FXMatrix(this, 2, LAYOUT_SIDE_TOP|LAYOUT_FILL_X, 0, 0, 0, 0, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, 0); // Character set choice new FXLabel(attributes, _("Character Set:"), NULL, LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); charset = new FXComboBox(attributes, 8, this, ID_CHARSET, COMBOBOX_STATIC|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); charset->setNumVisible(10); charset->appendItem(_("Any"), (void*)0); charset->appendItem(_("West European"), (void*)FONTENCODING_WESTEUROPE); charset->appendItem(_("East European"), (void*)FONTENCODING_EASTEUROPE); charset->appendItem(_("South European"), (void*)FONTENCODING_SOUTHEUROPE); charset->appendItem(_("North European"), (void*)FONTENCODING_NORTHEUROPE); charset->appendItem(_("Cyrillic"), (void*)FONTENCODING_CYRILLIC); charset->appendItem(_("Arabic"), (void*)FONTENCODING_ARABIC); charset->appendItem(_("Greek"), (void*)FONTENCODING_GREEK); charset->appendItem(_("Hebrew"), (void*)FONTENCODING_HEBREW); charset->appendItem(_("Turkish"), (void*)FONTENCODING_TURKISH); charset->appendItem(_("Nordic"), (void*)FONTENCODING_NORDIC); charset->appendItem(_("Thai"), (void*)FONTENCODING_THAI); charset->appendItem(_("Baltic"), (void*)FONTENCODING_BALTIC); charset->appendItem(_("Celtic"), (void*)FONTENCODING_CELTIC); charset->appendItem(_("Russian"), (void*)FONTENCODING_KOI8); charset->appendItem(_("Central European (cp1250)"), (void*)FONTENCODING_CP1250); charset->appendItem(_("Russian (cp1251)"), (void*)FONTENCODING_CP1251); charset->appendItem(_("Latin1 (cp1252)"), (void*)FONTENCODING_CP1252); charset->appendItem(_("Greek (cp1253)"), (void*)FONTENCODING_CP1253); charset->appendItem(_("Turkish (cp1254)"), (void*)FONTENCODING_CP1254); charset->appendItem(_("Hebrew (cp1255)"), (void*)FONTENCODING_CP1255); charset->appendItem(_("Arabic (cp1256)"), (void*)FONTENCODING_CP1256); charset->appendItem(_("Baltic (cp1257)"), (void*)FONTENCODING_CP1257); charset->appendItem(_("Vietnam (cp1258)"), (void*)FONTENCODING_CP1258); charset->appendItem(_("Thai (cp874)"), (void*)FONTENCODING_CP874); charset->appendItem(_("UNICODE"), (void*)FONTENCODING_UNICODE); charset->setCurrentItem(0); // Set width new FXLabel(attributes, _("Set Width:"), NULL, LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); setwidth = new FXComboBox(attributes, 9, this, ID_SETWIDTH, COMBOBOX_STATIC|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); setwidth->setNumVisible(10); setwidth->appendItem(_("Any"), (void*)0); setwidth->appendItem(_("Ultra condensed"), (void*)FXFont::UltraCondensed); setwidth->appendItem(_("Extra condensed"), (void*)FXFont::ExtraCondensed); setwidth->appendItem(_("Condensed"), (void*)FXFont::Condensed); setwidth->appendItem(_("Semi condensed"), (void*)FXFont::SemiCondensed); setwidth->appendItem(_("Normal"), (void*)FXFont::NonExpanded); setwidth->appendItem(_("Semi expanded"), (void*)FXFont::SemiExpanded); setwidth->appendItem(_("Expanded"), (void*)FXFont::Expanded); setwidth->appendItem(_("Extra expanded"), (void*)FXFont::ExtraExpanded); setwidth->appendItem(_("Ultra expanded"), (void*)FXFont::UltraExpanded); setwidth->setCurrentItem(0); // Pitch new FXLabel(attributes, _("Pitch:"), NULL, LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); pitch = new FXComboBox(attributes, 5, this, ID_PITCH, COMBOBOX_STATIC|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); pitch->setNumVisible(3); pitch->appendItem(_("Any"), (void*)0); pitch->appendItem(_("Fixed"), (void*)FXFont::Fixed); pitch->appendItem(_("Variable"), (void*)FXFont::Variable); pitch->setCurrentItem(0); // Check for scalable new FXFrame(attributes, FRAME_NONE|LAYOUT_FILL_COLUMN); scalable = new FXCheckButton(attributes, _("Scalable:"), this, ID_SCALABLE, JUSTIFY_NORMAL|TEXT_BEFORE_ICON|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); // Check for all (X11) fonts new FXFrame(attributes, FRAME_NONE|LAYOUT_FILL_COLUMN); allfonts = new FXCheckButton(attributes, _("All Fonts:"), this, ID_ALLFONTS, JUSTIFY_NORMAL|TEXT_BEFORE_ICON|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN); // Preview FXVerticalFrame* bottom = new FXVerticalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, 0, 0); new FXLabel(bottom, _("Preview:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); FXHorizontalFrame* box = new FXHorizontalFrame(bottom, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_THICK, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); FXScrollWindow* scroll = new FXScrollWindow(box, LAYOUT_FILL_X|LAYOUT_FILL_Y); preview = new FXLabel(scroll, "ABCDEFGHIJKLMNOPQRSTUVWXYZ\nabcdefghijklmnopqrstuvwxyz\n0123456789", NULL, JUSTIFY_CENTER_X|JUSTIFY_CENTER_Y); preview->setBackColor(getApp()->getBackColor()); strlcpy(selected.face, "Helvetica", sizeof(selected.face)+1); selected.size = 90; selected.weight = FXFont::Bold; selected.slant = 0; selected.encoding = FONTENCODING_USASCII; selected.setwidth = 0; selected.flags = 0; previewfont = NULL; } // List the fonts when created void FontSelector::create() { FXPacker::create(); listFontFaces(); listWeights(); listSlants(); listFontSizes(); } // Fill the list with face names void FontSelector::listFontFaces() { FXFontDesc* fonts; FXuint numfonts, f; int selindex = -1; familylist->clearItems(); family->setText(""); if (FXFont::listFonts(fonts, numfonts, FXString::null, 0, 0, selected.setwidth, selected.encoding, selected.flags)) { FXASSERT(0 < numfonts); for (f = 0; f < numfonts; f++) { familylist->appendItem(fonts[f].face, NULL, (void*)(FXuval)fonts[f].flags); if (strcmp(selected.face, fonts[f].face) == 0) { selindex = f; } } if (selindex == -1) { selindex = 0; } if (0 < familylist->getNumItems()) { familylist->setCurrentItem(selindex); familylist->makeItemVisible(selindex); family->setText(familylist->getItemText(selindex)); strlcpy(selected.face, familylist->getItemText(selindex).text(), sizeof(selected.face)+1); } FXFREE(&fonts); } } // Fill the list with font weights void FontSelector::listWeights() { FXFontDesc* fonts; FXuint numfonts, f, ww, lastww; const char* wgt; int selindex = -1; weightlist->clearItems(); weight->setText(""); if (FXFont::listFonts(fonts, numfonts, selected.face, 0, 0, selected.setwidth, selected.encoding, selected.flags)) { FXASSERT(0 < numfonts); lastww = 0; for (f = 0; f < numfonts; f++) { ww = fonts[f].weight; if (ww != lastww) { // Get text for the weight switch (ww) { case FXFont::Thin: wgt = "thin"; break; case FXFont::ExtraLight: wgt = "extra light"; break; case FXFont::Light: wgt = "light"; break; case FXFont::Normal: wgt = "normal"; break; case FXFont::Medium: wgt = "medium"; break; case FXFont::DemiBold: wgt = "demibold"; break; case FXFont::Bold: wgt = "bold"; break; case FXFont::ExtraBold: wgt = "extra bold"; break; case FXFont::Black: wgt = "black"; break; default: wgt = "normal"; break; } // Add it weightlist->appendItem(_(wgt), NULL, (void*)(FXuval)ww); // Remember if this was the current selection if (selected.weight == ww) { selindex = weightlist->getNumItems()-1; } lastww = ww; } } if (selindex == -1) { selindex = 0; } if (0 < weightlist->getNumItems()) { weightlist->setCurrentItem(selindex); weightlist->makeItemVisible(selindex); weight->setText(weightlist->getItemText(selindex)); selected.weight = (FXuint)(FXuval)weightlist->getItemData(selindex); } FXFREE(&fonts); } } // Fill the list with font slants void FontSelector::listSlants() { FXFontDesc* fonts; FXuint numfonts, f, s, lasts; const char* slt; int selindex = -1; stylelist->clearItems(); style->setText(""); if (FXFont::listFonts(fonts, numfonts, selected.face, selected.weight, 0, selected.setwidth, selected.encoding, selected.flags)) { FXASSERT(0 < numfonts); lasts = 0; for (f = 0; f < numfonts; f++) { s = fonts[f].slant; if (s != lasts) { // Get text for the weight switch (s) { case FXFont::ReverseOblique: slt = "reverse oblique"; break; case FXFont::ReverseItalic: slt = "reverse italic"; break; case FXFont::Straight: slt = "regular"; break; case FXFont::Italic: slt = "italic"; break; case FXFont::Oblique: slt = "oblique"; break; default: slt = "normal"; break; } // Add it stylelist->appendItem(_(slt), NULL, (void*)(FXuval)s); // Remember if this was the current selection if (selected.slant == s) { selindex = stylelist->getNumItems()-1; } lasts = s; } } if (selindex == -1) { selindex = 0; } if (0 < stylelist->getNumItems()) { stylelist->setCurrentItem(selindex); stylelist->makeItemVisible(selindex); style->setText(stylelist->getItemText(selindex)); selected.slant = (FXuint)(FXuval)stylelist->getItemData(selindex); } FXFREE(&fonts); } } // Fill the list with font sizes void FontSelector::listFontSizes() { const FXuint sizeint[] = { 60, 80, 90, 100, 110, 120, 140, 160, 200, 240, 300, 360, 420, 480, 640 }; FXFontDesc* fonts; FXuint numfonts, f, s, lasts; int selindex = -1; sizelist->clearItems(); size->setText(""); FXString string; if (FXFont::listFonts(fonts, numfonts, selected.face, selected.weight, selected.slant, selected.setwidth, selected.encoding, selected.flags)) { FXASSERT(0 < numfonts); lasts = 0; if (fonts[0].flags&FXFont::Scalable) { for (f = 0; f < ARRAYNUMBER(sizeint); f++) { s = sizeint[f]; string.format("%.1f", 0.1*s); sizelist->appendItem(string, NULL, (void*)(FXuval)s); if (selected.size == s) { selindex = sizelist->getNumItems()-1; } lasts = s; } } else { for (f = 0; f < numfonts; f++) { s = fonts[f].size; if (s != lasts) { string.format("%.1f", 0.1*s); sizelist->appendItem(string, NULL, (void*)(FXuval)s); if (selected.size == s) { selindex = sizelist->getNumItems()-1; } lasts = s; } } } if (selindex == -1) { selindex = 0; } if (0 < sizelist->getNumItems()) { sizelist->setCurrentItem(selindex); sizelist->makeItemVisible(selindex); size->setText(sizelist->getItemText(selindex)); selected.size = (FXuint)(FXuval)sizelist->getItemData(selindex); } FXFREE(&fonts); } } // Preview void FontSelector::previewFont() { FXFont* old; // Save old font old = previewfont; // Get new font previewfont = new FXFont(getApp(), selected); // Realize new font previewfont->create(); // Set new font preview->setFont(previewfont); // Delete old font delete old; } // Selected font family long FontSelector::onCmdFamily(FXObject*, FXSelector, void* ptr) { strlcpy(selected.face, familylist->getItemText((int)(FXival)ptr).text(), sizeof(selected.face)+1); family->setText(selected.face); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Changed weight setting long FontSelector::onCmdWeight(FXObject*, FXSelector, void* ptr) { selected.weight = (FXuint)(FXuval)weightlist->getItemData((int)(FXival)ptr); weight->setText(weightlist->getItemText((int)(FXival)ptr)); listSlants(); listFontSizes(); previewFont(); return(1); } // User clicked up directory button long FontSelector::onCmdSize(FXObject*, FXSelector, void* ptr) { selected.size = (FXuint)(FXuval)sizelist->getItemData((int)(FXival)ptr); size->setText(sizelist->getItemText((int)(FXival)ptr)); previewFont(); return(1); } // User clicked up directory button long FontSelector::onCmdSizeText(FXObject*, FXSelector, void*) { selected.size = (FXuint)(10.0*FXFloatVal(size->getText())); if (selected.size < 60) { selected.size = 60; } if (selected.size > 2400) { selected.size = 2400; } previewFont(); return(1); } // User clicked up directory button long FontSelector::onCmdStyle(FXObject*, FXSelector, void* ptr) { selected.slant = (FXuint)(FXuval)stylelist->getItemData((int)(FXival)ptr); style->setText(stylelist->getItemText((int)(FXival)ptr)); listFontSizes(); previewFont(); return(1); } // Style type in long FontSelector::onCmdStyleText(FXObject*, FXSelector, void*) { return(1); } // Character set long FontSelector::onCmdCharset(FXObject*, FXSelector, void*) { int index = charset->getCurrentItem(); FXuint enc = (FXuint)(FXuval)charset->getItemData(index); selected.encoding = (FXFontEncoding)enc; listFontFaces(); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Update character set long FontSelector::onUpdCharset(FXObject*, FXSelector, void*) { charset->setCurrentItem(charset->findItemByData((void*)(FXuval)selected.encoding)); return(1); } // Changed set width long FontSelector::onCmdSetWidth(FXObject*, FXSelector, void*) { int index = setwidth->getCurrentItem(); selected.setwidth = (FXuint)(FXuval)setwidth->getItemData(index); listFontFaces(); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Update set width long FontSelector::onUpdSetWidth(FXObject*, FXSelector, void*) { setwidth->setCurrentItem(setwidth->findItemByData((void*)(FXuval)selected.setwidth)); return(1); } // Changed pitch long FontSelector::onCmdPitch(FXObject*, FXSelector, void*) { int index = pitch->getCurrentItem(); selected.flags &= ~(FXFont::Fixed|FXFont::Variable); selected.flags |= (FXuint)(FXuval)pitch->getItemData(index); listFontFaces(); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Update pitch long FontSelector::onUpdPitch(FXObject*, FXSelector, void*) { pitch->setCurrentItem((selected.flags&FXFont::Fixed) ? 1 : (selected.flags&FXFont::Variable) ? 2 : 0); return(1); } // Scalable toggle long FontSelector::onCmdScalable(FXObject*, FXSelector, void* ptr) { if (ptr) { selected.flags |= FXFont::Scalable; } else { selected.flags &= ~FXFont::Scalable; } listFontFaces(); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Update scalable toggle long FontSelector::onUpdScalable(FXObject*, FXSelector, void*) { scalable->setCheck((selected.flags&FXFont::Scalable) != 0); return(1); } // All fonts toggle long FontSelector::onCmdAllFonts(FXObject*, FXSelector, void* ptr) { if (ptr) { selected.flags |= FXFont::X11; } else { selected.flags &= ~FXFont::X11; } listFontFaces(); listWeights(); listSlants(); listFontSizes(); previewFont(); return(1); } // Update all fonts toggle long FontSelector::onUpdAllFonts(FXObject*, FXSelector, void*) { allfonts->setCheck((selected.flags&FXFont::X11) != 0); return(1); } // Change font selection void FontSelector::setFontSelection(const FXFontDesc& fontdesc) { selected = fontdesc; // Validate these numbers if (selected.encoding > FONTENCODING_UNICODE) { selected.encoding = FONTENCODING_UNICODE; } if (selected.slant > FXFont::ReverseOblique) { selected.slant = FXFont::ReverseOblique; } if (selected.weight > FXFont::Black) { selected.weight = FXFont::Black; } if (selected.setwidth > FXFont::UltraExpanded) { selected.setwidth = FXFont::UltraExpanded; } if (selected.size > 10000) { selected.size = 10000; } // Under Windows, this should be OFF selected.flags &= ~FXFont::X11; // Relist fonts listFontFaces(); listWeights(); listSlants(); listFontSizes(); // Update preview previewFont(); } // Change font selection void FontSelector::getFontSelection(FXFontDesc& fontdesc) const { fontdesc = selected; } // Save data void FontSelector::save(FXStream& store) const { FXPacker::save(store); store << family; store << familylist; store << weight; store << weightlist; store << style; store << stylelist; store << size; store << sizelist; store << charset; store << setwidth; store << pitch; store << scalable; store << allfonts; store << accept; store << cancel; store << preview; store << previewfont; } // Load data void FontSelector::load(FXStream& store) { FXPacker::load(store); store >> family; store >> familylist; store >> weight; store >> weightlist; store >> style; store >> stylelist; store >> size; store >> sizelist; store >> charset; store >> setwidth; store >> pitch; store >> scalable; store >> allfonts; store >> accept; store >> cancel; store >> preview; store >> previewfont; } // Cleanup FontSelector::~FontSelector() { delete previewfont; family = (FXTextField*)-1L; familylist = (FXList*)-1L; weight = (FXTextField*)-1L; weightlist = (FXList*)-1L; style = (FXTextField*)-1L; stylelist = (FXList*)-1L; size = (FXTextField*)-1L; sizelist = (FXList*)-1L; charset = (FXComboBox*)-1L; setwidth = (FXComboBox*)-1L; pitch = (FXComboBox*)-1L; scalable = (FXCheckButton*)-1L; allfonts = (FXCheckButton*)-1L; preview = (FXLabel*)-1L; previewfont = (FXFont*)-1L; accept = (FXButton*)-1L; cancel = (FXButton*)-1L; } // Object implementation FXIMPLEMENT(FontDialog, DialogBox, NULL, 0) // Separator item FontDialog::FontDialog(FXWindow* owner, const FXString& name, FXuint opts, int x, int y, int w, int h) : DialogBox(owner, name, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_MAXIMIZE|DECOR_CLOSE, x, y, w, h, 0, 0, 0, 0, 4, 4) { fontbox = new FontSelector(this, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y); fontbox->acceptButton()->setTarget(this); fontbox->acceptButton()->setSelector(DialogBox::ID_ACCEPT); fontbox->cancelButton()->setTarget(this); fontbox->cancelButton()->setSelector(DialogBox::ID_CANCEL); } // Save data void FontDialog::save(FXStream& store) const { DialogBox::save(store); store << fontbox; } // Load data void FontDialog::load(FXStream& store) { DialogBox::load(store); store >> fontbox; } // Change the selected font void FontDialog::setFontSelection(const FXFontDesc& fontdesc) { fontbox->setFontSelection(fontdesc); } // Return the selected font void FontDialog::getFontSelection(FXFontDesc& fontdesc) const { fontbox->getFontSelection(fontdesc); } // Cleanup FontDialog::~FontDialog() { fontbox = (FontSelector*)-1L; } xfe-1.42/src/TextLabel.h0000644000175100017510000001660412625057514012007 00000000000000#ifndef TEXTLABEL_H #define TEXTLABEL_H class FXAPI TextLabel : public FXFrame { FXDECLARE(TextLabel) protected: FXString contents; // Edited text const char* delimiters; // Set of delimiters FXFont* font; // Text font FXColor textColor; // Text color FXColor selbackColor; // Selected background color FXColor seltextColor; // Selected text color FXColor cursorColor; // Color of the Cursor int cursor; // Cursor position int anchor; // Anchor position int columns; // Number of columns visible int shift; // Shift amount FXString clipped; // Clipped text protected: TextLabel() : delimiters(NULL), font(NULL), textColor(FXRGB(0, 0, 0)), selbackColor(FXRGB(0, 0, 0)), seltextColor(FXRGB(0, 0, 0)), cursorColor(FXRGB(0, 0, 0)), cursor(0), anchor(0), columns(0), shift(0) {} int index(int x) const; int coord(int i) const; void drawTextRange(FXDCWindow& dc, int fm, int to); void drawTextFragment(FXDCWindow& dc, int x, int y, int fm, int to); int rightWord(int pos) const; int leftWord(int pos) const; int wordStart(int pos) const; int wordEnd(int pos) const; private: TextLabel(const TextLabel&); TextLabel& operator=(const TextLabel&); public: long onPaint(FXObject*, FXSelector, void*); long onUpdate(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); long onLeftBtnPress(FXObject*, FXSelector, void*); long onLeftBtnRelease(FXObject*, FXSelector, void*); long onMotion(FXObject*, FXSelector, void*); long onSelectionLost(FXObject*, FXSelector, void*); long onSelectionGained(FXObject*, FXSelector, void*); long onSelectionRequest(FXObject*, FXSelector, void* ptr); long onClipboardLost(FXObject*, FXSelector, void*); long onClipboardGained(FXObject*, FXSelector, void*); long onClipboardRequest(FXObject*, FXSelector, void*); long onFocusSelf(FXObject*, FXSelector, void*); long onFocusIn(FXObject*, FXSelector, void*); long onFocusOut(FXObject*, FXSelector, void*); long onAutoScroll(FXObject*, FXSelector, void*); long onCmdCursorHome(FXObject*, FXSelector, void*); long onCmdCursorEnd(FXObject*, FXSelector, void*); long onCmdCursorRight(FXObject*, FXSelector, void*); long onCmdCursorLeft(FXObject*, FXSelector, void*); long onCmdCursorWordLeft(FXObject*, FXSelector, void*); long onCmdCursorWordRight(FXObject*, FXSelector, void*); long onCmdCursorWordStart(FXObject*, FXSelector, void*); long onCmdCursorWordEnd(FXObject*, FXSelector, void*); long onCmdMark(FXObject*, FXSelector, void*); long onCmdExtend(FXObject*, FXSelector, void*); long onCmdselectAll(FXObject*, FXSelector, void*); long onCmdDeselectAll(FXObject*, FXSelector, void*); long onCmdCopySel(FXObject*, FXSelector, void*); long onUpdHaveSelection(FXObject*, FXSelector, void*); long onUpdselectAll(FXObject*, FXSelector, void*); public: // Default text delimiters static const char textDelimiters[]; public: enum { ID_CURSOR_HOME=FXFrame::ID_LAST, ID_CURSOR_END, ID_CURSOR_RIGHT, ID_CURSOR_LEFT, ID_CURSOR_WORD_LEFT, ID_CURSOR_WORD_RIGHT, ID_CURSOR_WORD_START, ID_CURSOR_WORD_END, ID_MARK, ID_EXTEND, ID_SELECT_ALL, ID_DESELECT_ALL, ID_COPY_SEL, ID_LAST }; public: // Construct text field wide enough to display ncols columns TextLabel(FXComposite* p, int ncols, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = TEXTFIELD_NORMAL, int x = 0, int y = 0, int w = 0, int h = 0, int pl = DEFAULT_PAD, int pr = DEFAULT_PAD, int pt = DEFAULT_PAD, int pb = DEFAULT_PAD); // Create server-side resources virtual void create(); // Perform layout virtual void layout(); // Enable text field virtual void enable(); // Disable text field virtual void disable(); // Return default width virtual int getDefaultWidth(); // Return default height virtual int getDefaultHeight(); // Yes, text field may receive focus virtual bool canFocus() const; // Move the focus to this window virtual void setFocus(); // Remove the focus from this window virtual void killFocus(); // Set cursor position void setCursorPos(int pos); // Return cursor position int getCursorPos() const { return(cursor); } // Change anchor position void setAnchorPos(int pos); // Return anchor position int getAnchorPos() const { return(anchor); } // Change the text and move cursor to end void setText(const FXString& text, FXbool notify = false); // Get the text for this label FXString getText() const { return(contents); } // Set the text font void setFont(FXFont* fnt); // Get the text font FXFont* getFont() const { return(font); } // Change text color void setTextColor(FXColor clr); // Return text color FXColor getTextColor() const { return(textColor); } // Change selected background color void setSelBackColor(FXColor clr); // Return selected background color FXColor getSelBackColor() const { return(selbackColor); } // Change selected text color void setSelTextColor(FXColor clr); // Return selected text color FXColor getSelTextColor() const { return(seltextColor); } // Changes the cursor color void setCursorColor(FXColor clr); // Return the cursor color FXColor getCursorColor() const { return(cursorColor); } /* * Change the default width of the text field in terms of a number * of columns times the width of the numeral '8'. */ void setNumColumns(int cols); // Return number of columns int getNumColumns() const { return(columns); } /* * Change text justification mode. The justify mode is a combination of * horizontal justification (JUSTIFY_LEFT, JUSTIFY_RIGHT, or JUSTIFY_CENTER_X), * and vertical justification (JUSTIFY_TOP, JUSTIFY_BOTTOM, JUSTIFY_CENTER_Y). * Note that JUSTIFY_CENTER_X can not be set from the constructor since by * default text fields are left-justified. */ void setJustify(FXuint mode); // Return text justification mode FXuint getJustify() const; // Change word delimiters void setDelimiters(const char* delims = textDelimiters) { delimiters = delims; } // Return word delimiters const char* getDelimiters() const { return(delimiters); } // Select all text FXbool selectAll(); // Select len characters starting at given position pos FXbool setSelection(int pos, int len); // Extend the selection from the anchor to the given position FXbool extendSelection(int pos); // Unselect the text FXbool killSelection(); // Return true if position pos is selected FXbool isPosSelected(int pos) const; // Return true if position is fully visible FXbool isPosVisible(int pos) const; // Scroll text to make the given position visible void makePositionVisible(int pos); // Destructor virtual ~TextLabel(); }; #endif xfe-1.42/src/WriteWindow.h0000644000175100017510000003334112625057514012402 00000000000000#ifndef WRITEWINDOW_H #define WRITEWINDOW_H #include "InputDialog.h" class WriteWindow; class XFileWrite; // Undo record for text fragment class FXTextCommand : public FXCommand { FXDECLARE_ABSTRACT(FXTextCommand) protected: FXText* text; // Text widget char* buffer; // Character buffer int pos; // Character position int ndel; // Deleted characters int nins; // Inserted characters public: FXTextCommand(FXText* txt, int p, int nd, int ni) : text(txt), buffer(NULL), pos(p), ndel(nd), nins(ni) {} virtual FXuint size() const; virtual ~FXTextCommand() { FXFREE(&buffer); } }; // Insert command class FXTextInsert : public FXTextCommand { FXDECLARE_ABSTRACT(FXTextInsert) public: FXTextInsert(FXText* txt, int p, int ni, const char* ins); virtual FXString undoName() const { return("Undo insert"); } virtual FXString redoName() const { return("Redo insert"); } virtual void undo(); virtual void redo(); }; // Delete command class FXTextDelete : public FXTextCommand { FXDECLARE_ABSTRACT(FXTextDelete) public: FXTextDelete(FXText* txt, int p, int nd, const char* del); virtual FXString undoName() const { return("Undo delete"); } virtual FXString redoName() const { return("Redo delete"); } virtual void undo(); virtual void redo(); }; // Replace command class FXTextReplace : public FXTextCommand { FXDECLARE_ABSTRACT(FXTextReplace) public: FXTextReplace(FXText* txt, int p, int nd, int ni, const char* del, const char* ins); virtual FXString undoName() const { return("Undo replace"); } virtual FXString redoName() const { return("Redo replace"); } virtual void undo(); virtual void redo(); }; class Preferences : public DialogBox { FXDECLARE(Preferences) protected: FXTextField* wrapmargin; FXString wrapmargin_prev; FXTextField* tabsize; FXString tabsize_prev; FXCheckButton* stripcr; FXbool stripcr_prev; FXText* editor; WriteWindow* editwin; FXColor textcolor_prev; FXColor backcolor_prev; FXColor seltextcolor_prev; FXColor selbackcolor_prev; FXColor hilitetextcolor_prev; FXColor hilitebackcolor_prev; FXColor cursorcolor_prev; FXColor barcolor_prev; FXColor numbercolor_prev; private: Preferences() : wrapmargin(NULL), tabsize(NULL), stripcr(NULL), stripcr_prev(false), editor(NULL), editwin(NULL), textcolor_prev(FXRGB(0, 0, 0)), backcolor_prev(FXRGB(0, 0, 0)), seltextcolor_prev(FXRGB(0, 0, 0)), selbackcolor_prev(FXRGB(0, 0, 0)), hilitetextcolor_prev(FXRGB(0, 0, 0)), hilitebackcolor_prev(FXRGB(0, 0, 0)), cursorcolor_prev(FXRGB(0, 0, 0)), barcolor_prev(FXRGB(0, 0, 0)), numbercolor_prev(FXRGB(0, 0, 0)) {} Preferences(const Preferences&); Preferences& operator=(const Preferences&); public: enum { ID_ACCEPT=DialogBox::ID_LAST, ID_CANCEL, ID_TEXT_BACK, ID_TEXT_FORE, ID_TEXT_SELBACK, ID_TEXT_SELFORE, ID_TEXT_HILITEBACK, ID_TEXT_HILITEFORE, ID_TEXT_CURSOR, ID_TEXT_NUMBACK, ID_TEXT_NUMFORE, ID_LAST }; public: // Create preferences dialog Preferences(WriteWindow* owner); // Owner is text window XFileWrite* getApp() const { return((XFileWrite*)DialogBox::getApp()); } FXuint execute(FXuint); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdAccept(FXObject*, FXSelector, void*); long onCmdTextBackColor(FXObject*, FXSelector, void*); long onUpdTextBackColor(FXObject*, FXSelector, void*); long onCmdTextForeColor(FXObject*, FXSelector, void*); long onUpdTextForeColor(FXObject*, FXSelector, void*); long onCmdTextSelBackColor(FXObject*, FXSelector, void*); long onUpdTextSelBackColor(FXObject*, FXSelector, void*); long onCmdTextSelForeColor(FXObject*, FXSelector, void*); long onUpdTextSelForeColor(FXObject*, FXSelector, void*); long onCmdTextHiliteBackColor(FXObject*, FXSelector, void*); long onUpdTextHiliteBackColor(FXObject*, FXSelector, void*); long onCmdTextHiliteForeColor(FXObject*, FXSelector, void*); long onUpdTextHiliteForeColor(FXObject*, FXSelector, void*); long onCmdTextCursorColor(FXObject*, FXSelector, void*); long onUpdTextCursorColor(FXObject*, FXSelector, void*); long onCmdTextBarColor(FXObject*, FXSelector, void*); long onUpdTextBarColor(FXObject*, FXSelector, void*); long onCmdTextNumberColor(FXObject*, FXSelector, void*); long onUpdTextNumberColor(FXObject*, FXSelector, void*); }; // Editor main window class WriteWindow : public FXMainWindow { FXDECLARE(WriteWindow) protected: FXToolBarShell* dragshell; // Shell for floating toolbar FXMenuPane* filemenu; // File menu FXMenuPane* editmenu; // Edit menu FXMenuPane* searchmenu; // Search menu FXMenuPane* prefsmenu; // Preferences menu FXMenuPane* viewmenu; // View menu FXMenuPane* windowmenu; // Window menu FXMenuPane* helpmenu; // Help menu FXMenuPane* popupmenu; // Popup menu FXHorizontalFrame* undoredoblock; // Undo/redo block on status line FXText* editor; // Multiline text widget FXMenuBar* menubar; // Menu bar FXToolBar* toolbar; // Tool bar FXStatusBar* statusbar; // Status bar FXFont* font; // Text window font FXUndoList undolist; // Undo list FXRecentFiles mrufiles; // Recent files list FXString filename; // File being edited FXTime filetime; // Original modtime of file FXbool filenameset; // Filename is set FXString searchpath; // To search for files FXbool stripcr; // Strip carriage returns FXbool linesnum; // Lines numbering FXbool readonly; // Text is read only InputDialog* printdialog; Preferences* prefsdialog; FXSearchDialog* searchdialog; FXReplaceDialog* replacedialog; FXbool smoothscroll; FXbool fromreg; // Read window size and position from the regsitry FXuint ww; // Window width FXuint hh; // Window height FXuint xx; // Window x position FXuint yy; // Window y position FXButton* cut; // Cut button FXButton* paste; // Paste button FXMenuCommand* cutmc; // Cut menu item FXMenuCommand* pastemc; // Paste menu item protected: void loadConfig(); void saveConfig(); FXString unique() const; WriteWindow* findUnused() const; WriteWindow* findWindow(const FXString& file) const; int backwardByContext(int pos) const; int forwardByContext(int pos) const; protected: enum { MAXUNDOSIZE = 1000000, // Don't let the undo buffer get out of hand KEEPUNDOSIZE = 500000 // When MAXUNDOSIZE was exceeded, trim down to this size }; private: WriteWindow() : dragshell(NULL), filemenu(NULL), editmenu(NULL), searchmenu(NULL), prefsmenu(NULL), viewmenu(NULL), windowmenu(NULL), helpmenu(NULL), popupmenu(NULL), undoredoblock(NULL), editor(NULL), menubar(NULL), toolbar(NULL), statusbar(NULL), font(NULL), filetime(0), filenameset(false), stripcr(false), linesnum(false), readonly(false), printdialog(NULL), prefsdialog(NULL), searchdialog(NULL), replacedialog(NULL), smoothscroll(false), fromreg(false), ww(0), hh(0), xx(0), yy(0), cut(NULL), paste(NULL), cutmc(NULL), pastemc(NULL) {} WriteWindow(const WriteWindow&); WriteWindow& operator=(const WriteWindow&); public: long onUpdateTitle(FXObject*, FXSelector, void*); long onFocusIn(FXObject*, FXSelector, void*); long onCmdAbout(FXObject*, FXSelector, void*); long onSigHarvest(FXObject*, FXSelector, void*); // File management long onCmdNew(FXObject*, FXSelector, void*); long onCmdOpen(FXObject*, FXSelector, void*); long onCmdOpenRecent(FXObject*, FXSelector, void*); long onCmdOpenSelected(FXObject*, FXSelector, void*); long onCmdSave(FXObject*, FXSelector, void*); long onUpdSave(FXObject*, FXSelector, void*); long onCmdSaveAs(FXObject*, FXSelector, void*); long onCmdFont(FXObject*, FXSelector, void*); long onCmdPrint(FXObject*, FXSelector, void*); long onUpdReadOnly(FXObject*, FXSelector, void*); // Text display long onCmdLineNumbers(FXObject*, FXSelector, void*); long onUpdLineNumbers(FXObject*, FXSelector, void*); long onCmdWrap(FXObject*, FXSelector, void*); long onUpdWrap(FXObject*, FXSelector, void*); long onCmdLinesNum(FXObject*, FXSelector, void*); long onUpdLinesNum(FXObject*, FXSelector, void*); // Text changes long onTextInserted(FXObject*, FXSelector, void*); long onTextReplaced(FXObject*, FXSelector, void*); long onTextDeleted(FXObject*, FXSelector, void*); long onTextRightMouse(FXObject*, FXSelector, void*); long onTextChanged(FXObject*, FXSelector, void*); long onEditDNDMotion(FXObject*, FXSelector, void*); long onEditDNDDrop(FXObject*, FXSelector, void*); // Miscellaneous long onUpdOverstrike(FXObject*, FXSelector, void*); long onUpdNumRows(FXObject*, FXSelector, void*); long onCmdMorePrefs(FXObject*, FXSelector, void*); long onCmdWindow(FXObject*, FXSelector, void*); long onUpdWindow(FXObject*, FXSelector, void*); long onCmdSearch(FXObject*, FXSelector, void*); long onCmdReplace(FXObject*, FXSelector, void*); long onCmdSearchSel(FXObject*, FXSelector, void*); long onCmdGotoLine(FXObject*, FXSelector, void*); public: enum { ID_ABOUT=FXMainWindow::ID_LAST, ID_NEW, ID_OPEN, ID_OPEN_TREE, ID_OPEN_SELECTED, ID_OPEN_RECENT, ID_HARVEST, ID_SAVE, ID_SAVEAS, ID_FONT, ID_WINDOW, ID_PRINT, ID_TEXT_LINENUMS, ID_SEARCH, ID_REPLACE, ID_SEARCH_FORW_SEL, ID_SEARCH_BACK_SEL, ID_GOTO_LINE, ID_TOGGLE_WRAP, ID_TOGGLE_LINES_NUM, ID_TEXT, ID_INCLUDE_PATH, ID_OVERSTRIKE, ID_PREFERENCES, ID_NUM_ROWS, ID_WINDOW_1, ID_WINDOW_2, ID_WINDOW_3, ID_WINDOW_4, ID_WINDOW_5, ID_WINDOW_6, ID_WINDOW_7, ID_WINDOW_8, ID_WINDOW_9, ID_WINDOW_10, ID_WINDOW_11, ID_WINDOW_12, ID_WINDOW_13, ID_WINDOW_14, ID_WINDOW_15, ID_WINDOW_16, ID_WINDOW_17, ID_WINDOW_18, ID_WINDOW_19, ID_WINDOW_20, ID_WINDOW_21, ID_WINDOW_22, ID_WINDOW_23, ID_WINDOW_24, ID_WINDOW_25, ID_WINDOW_26, ID_WINDOW_27, ID_WINDOW_28, ID_WINDOW_29, ID_WINDOW_30, ID_WINDOW_31, ID_WINDOW_32, ID_WINDOW_33, ID_WINDOW_34, ID_WINDOW_35, ID_WINDOW_36, ID_WINDOW_37, ID_WINDOW_38, ID_WINDOW_39, ID_WINDOW_40, ID_WINDOW_41, ID_WINDOW_42, ID_WINDOW_43, ID_WINDOW_44, ID_WINDOW_45, ID_WINDOW_46, ID_WINDOW_47, ID_WINDOW_48, ID_WINDOW_49, ID_WINDOW_50, ID_LAST }; public: // Create new text window WriteWindow(XFileWrite* a, const FXString& file, const FXbool readonly); // Create window virtual void create(); // Detach window virtual void detach(); // Close the window, return true if actually closed virtual FXbool close(FXbool notify = false); // Return XFileWrite application XFileWrite* getApp() const { return((XFileWrite*)FXMainWindow::getApp()); } // Return this window's filename const FXString& getFilename() const { return(filename); } // Change this window's filename void setFilename(const FXString& file) { filename = file; } // Has a filename been set or is it a new window FXbool isFilenameSet() const { return(filenameset); } // Obtain a pointer on the text widget FXText* getEditor() const { return(editor); } // Get the value of the stripcr flag FXbool getStripcr() const { return(stripcr); } // Set the value of the stripcr flag void setStripcr(FXbool val) { stripcr = val; } void setSmoothScroll(FXbool smooth) { smoothscroll = smooth; } // Is it modified FXbool isModified() const; // Load text from file FXbool loadFile(const FXString& file); // Save text to file FXbool saveFile(const FXString& file); // Return true if changes have been saved FXbool saveChanges(); // Visit given line void visitLine(int line); // Delete text window virtual ~WriteWindow(); }; typedef FXObjectListOf WriteWindowList; #endif xfe-1.42/src/SearchPanel.cpp0000644000175100017510000042753712746101422012646 00000000000000// Search panel #include "config.h" #include "i18n.h" #include #include #include #include #include #include "xfedefs.h" #include "startupnotification.h" #include "icons.h" #include "File.h" #include "FileDict.h" #include "FileDialog.h" #include "FileList.h" #include "MessageBox.h" #include "ArchInputDialog.h" #include "HistInputDialog.h" #include "BrowseInputDialog.h" #include "OverwriteBox.h" #include "CommandWindow.h" #include "ExecuteBox.h" #include "XFileExplorer.h" #include "SearchPanel.h" #if defined(linux) extern FXStringDict* fsdevices; // Devices from fstab #endif // Global Variables extern FXMainWindow* mainWindow; extern FXString homedir; extern FXString xdgdatahome; extern FXbool allowPopupScroll; extern FXuint single_click; // Clipboard extern FXString clipboard; extern FXuint clipboard_type; extern char OpenHistory[OPEN_HIST_SIZE][MAX_COMMAND_SIZE]; extern int OpenNum; #if defined(linux) extern FXbool pkg_format; #endif // Button separator margins and height #define SEP_SPACE 5 #define SEP_HEIGHT 20 // Map FXDEFMAP(SearchPanel) SearchPanelMap[] = { FXMAPFUNC(SEL_CLIPBOARD_LOST, 0, SearchPanel::onClipboardLost), FXMAPFUNC(SEL_CLIPBOARD_GAINED, 0, SearchPanel::onClipboardGained), FXMAPFUNC(SEL_CLIPBOARD_REQUEST, 0, SearchPanel::onClipboardRequest), FXMAPFUNC(SEL_CLIPBOARD_REQUEST, 0, SearchPanel::onClipboardRequest), FXMAPFUNC(SEL_CLICKED, SearchPanel::ID_FILELIST, SearchPanel::onCmdItemClicked), FXMAPFUNC(SEL_DOUBLECLICKED, SearchPanel::ID_FILELIST, SearchPanel::onCmdItemDoubleClicked), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_GOTO_PARENTDIR, SearchPanel::onCmdGotoParentdir), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_OPEN_WITH, SearchPanel::onCmdOpenWith), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_OPEN, SearchPanel::onCmdOpen), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_VIEW, SearchPanel::onCmdEdit), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_EDIT, SearchPanel::onCmdEdit), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_COMPARE, SearchPanel::onCmdCompare), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_REFRESH, SearchPanel::onCmdRefresh), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_PROPERTIES, SearchPanel::onCmdProperties), FXMAPFUNC(SEL_MIDDLEBUTTONPRESS, SearchPanel::ID_FILELIST, SearchPanel::onCmdEdit), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_SELECT_ALL, SearchPanel::onCmdSelect), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_DESELECT_ALL, SearchPanel::onCmdSelect), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_SELECT_INVERSE, SearchPanel::onCmdSelect), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, SearchPanel::ID_FILELIST, SearchPanel::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_POPUP_MENU, SearchPanel::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_COPY_CLIPBOARD, SearchPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_CUT_CLIPBOARD, SearchPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_COPYTO, SearchPanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_MOVETO, SearchPanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_RENAME, SearchPanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_SYMLINK, SearchPanel::onCmdFileMan), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_ADD_TO_ARCH, SearchPanel::onCmdAddToArch), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_EXTRACT, SearchPanel::onCmdExtract), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_TRASH, SearchPanel::onCmdFileTrash), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_FILE_DELETE, SearchPanel::onCmdFileDelete), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_GO_SCRIPTDIR, SearchPanel::onCmdGoScriptDir), FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_DIR_USAGE, SearchPanel::onCmdDirUsage), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_STATUS, SearchPanel::onUpdStatus), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_FILE_RENAME, SearchPanel::onUpdSelMult), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_GOTO_PARENTDIR, SearchPanel::onUpdSelMult), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_COMPARE, SearchPanel::onUpdCompare), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_COPY_CLIPBOARD, SearchPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_CUT_CLIPBOARD, SearchPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_PROPERTIES, SearchPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_FILE_TRASH, SearchPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_FILE_DELETE, SearchPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_DIR_USAGE, SearchPanel::onUpdDirUsage), #if defined(linux) FXMAPFUNC(SEL_COMMAND, SearchPanel::ID_PKG_QUERY, SearchPanel::onCmdPkgQuery), FXMAPFUNC(SEL_UPDATE, SearchPanel::ID_PKG_QUERY, SearchPanel::onUpdPkgQuery), #endif }; // Object implementation FXIMPLEMENT(SearchPanel, FXVerticalFrame, SearchPanelMap, ARRAYNUMBER(SearchPanelMap)) // Contruct Search Panel SearchPanel::SearchPanel(FXComposite* p, FXuint name_size, FXuint dir_size, FXuint size_size, FXuint type_size, FXuint ext_size, FXuint modd_size, FXuint user_size, FXuint grou_size, FXuint attr_size, FXColor listbackcolor, FXColor listforecolor, FXuint opts, int x, int y, int w, int h) : FXVerticalFrame(p, opts, x, y, w, h, 0, 0, 0, 0) { // Global container FXVerticalFrame* cont = new FXVerticalFrame(this, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1); // Container for the action toolbar FXHorizontalFrame* toolbar = new FXHorizontalFrame(cont, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, DEFAULT_SPACING, 0, 0); // File list FXVerticalFrame* cont2 = new FXVerticalFrame(cont, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); list = new FileList(this, cont2, this, ID_FILELIST, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|_ICONLIST_DETAILED|_FILELIST_SEARCH); list->setHeaderSize(0, name_size); list->setHeaderSize(1, dir_size); list->setHeaderSize(2, size_size); list->setHeaderSize(3, type_size); list->setHeaderSize(4, ext_size); list->setHeaderSize(5, modd_size); list->setHeaderSize(6, user_size); list->setHeaderSize(7, grou_size); list->setHeaderSize(8, attr_size); list->setTextColor(listforecolor); list->setBackColor(listbackcolor); // Set list style FXuint liststyle = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "liststyle", _ICONLIST_DETAILED); list->setListStyle(liststyle); // Set dirs first FXuint dirsfirst = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "dirs_first", 1); list->setDirsFirst(dirsfirst); // Set ignore case FXuint ignorecase = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "ignore_case", 1); list->setIgnoreCase(ignorecase); // Toolbar buttons FXHotKey hotkey; FXString key; // Refresh panel toolbar button key = getApp()->reg().readStringEntry("KEYBINDINGS", "refresh", "Ctrl-R"); refreshbtn = new FXButton(toolbar, TAB+_("Refresh panel")+PARS(key), reloadicon, this, SearchPanel::ID_REFRESH, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); refreshbtn->addHotKey(hotkey); // Goto dir toolbar button key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_up", "Backspace"); gotodirbtn = new FXButton(toolbar, TAB+_("Go to parent folder")+PARS(key), gotodiricon, this, SearchPanel::ID_GOTO_PARENTDIR, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); gotodirbtn->addHotKey(hotkey); // Copy / cut / properties toolbar buttons key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); copybtn = new FXButton(toolbar, TAB+_("Copy selected files to clipboard")+PARS(key), copy_clpicon, this, SearchPanel::ID_COPY_CLIPBOARD, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); copybtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); cutbtn = new FXButton(toolbar, TAB+_("Cut selected files to clipboard")+PARS(key), cut_clpicon, this, SearchPanel::ID_CUT_CLIPBOARD, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); cutbtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "properties", "F9"); propbtn = new FXButton(toolbar, TAB+_("Show properties of selected files")+PARS(key), attribicon, this, SearchPanel::ID_PROPERTIES, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); propbtn->addHotKey(hotkey); // Separator new FXFrame(toolbar, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); new FXVerticalSeparator(toolbar, LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|SEPARATOR_GROOVE|LAYOUT_FIX_HEIGHT, 0, 0, 0, SEP_HEIGHT); new FXFrame(toolbar, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); // Move to trash / delete toolbar buttons key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to_trash", "Del"); trashbtn = new FXButton(toolbar, TAB+_("Move selected files to trash can")+PARS(key), filedeleteicon, this, SearchPanel::ID_FILE_TRASH, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); trashbtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "delete", "Shift-Del"); delbtn = new FXButton(toolbar, TAB+_("Delete selected files")+PARS(key), filedelete_permicon, this, SearchPanel::ID_FILE_DELETE, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); delbtn->addHotKey(hotkey); // Separator new FXFrame(toolbar, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); new FXVerticalSeparator(toolbar, LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|SEPARATOR_GROOVE|LAYOUT_FIX_HEIGHT, 0, 0, 0, SEP_HEIGHT); new FXFrame(toolbar, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); // Icon view toolbar buttons key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); bigiconsbtn = new FXButton(toolbar, TAB+_("Big icon list")+PARS(key), bigiconsicon, list, IconList::ID_SHOW_BIG_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); bigiconsbtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); smalliconsbtn = new FXButton(toolbar, TAB+_("Small icon list")+PARS(key), smalliconsicon, list, IconList::ID_SHOW_MINI_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); smalliconsbtn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); detailsbtn = new FXButton(toolbar, TAB+_("Detailed file list")+PARS(key), detailsicon, list, IconList::ID_SHOW_DETAILS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); detailsbtn->addHotKey(hotkey); // Status bar statusbar = new FXHorizontalFrame(cont, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 3, 3, 3, 3); statusbar->setTarget(this); statusbar->setSelector(FXSEL(SEL_UPDATE, SearchPanel::ID_STATUS)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); thumbbtn = new FXToggleButton(statusbar, TAB+_("Show thumbnails")+PARS(key), TAB+_("Hide thumbnails")+PARS(key), showthumbicon, hidethumbicon, this->list, FileList::ID_TOGGLE_THUMBNAILS, TOGGLEBUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); thumbbtn->addHotKey(hotkey); new FXHorizontalFrame(statusbar, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0); status = new FXLabel(statusbar, _("Status"), NULL, JUSTIFY_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X); corner = new FXDragCorner(statusbar); // File associations associations = NULL; associations = new FileDict(getApp()); // Dialogs archdialog = NULL; opendialog = NULL; operationdialogsingle = NULL; operationdialogrename = NULL; operationdialogmultiple = NULL; comparedialog = NULL; // Trahscan locations trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; // Default programs identifiers progs[""] = TXTVIEWER; progs[""] = TXTEDITOR; progs[""] = IMGVIEWER; progs[""] = IMGEDITOR; progs[""] = PDFVIEWER; progs[""] = AUDIOPLAYER; progs[""] = VIDEOPLAYER; progs[""] = ARCHIVER; // Class variable initializations ctrlflag = false; shiftf10 = false; urilistType = 0; xfelistType = 0; kdelistType = 0; utf8Type = 0; } // Create window void SearchPanel::create() { // Register special uri-list type used for Gnome, XFCE and Xfe xfelistType = getApp()->registerDragType("x-special/gnome-copied-files"); // Register special uri-list type used for KDE kdelistType = getApp()->registerDragType("application/x-kde-cutselection"); FXVerticalFrame::create(); // Single click navigation if (single_click == SINGLE_CLICK_DIR_FILE) { list->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } else { list->setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); } } // Clean up SearchPanel::~SearchPanel() { delete list; if (opendialog != NULL) { delete opendialog; } if (archdialog != NULL) { delete archdialog; } if (operationdialogsingle != NULL) { delete operationdialogsingle; } if (operationdialogrename != NULL) { delete operationdialogrename; } if (operationdialogmultiple != NULL) { delete operationdialogmultiple; } if (comparedialog != NULL) { delete comparedialog; } } // Double Click on File Item long SearchPanel::onCmdItemDoubleClicked(FXObject* sender, FXSelector sel, void* ptr) { // Wait cursor getApp()->beginWaitCursor(); FXlong item = (FXlong)ptr; if (item > -1) { #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); FXString cmd, cmdname, filename, pathname, parentdir; // File name and path filename = list->getItemFilename(item); pathname = list->getItemFullPathname(item); // If directory, open the directory if (list->isItemDirectory(item)) { // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), pathname.text()); getApp()->endWaitCursor(); return(0); } // Change directory in Xfe ((XFileExplorer*)mainWindow)->setDirectory(pathname); // Raise the Xfe window ((XFileExplorer*)mainWindow)->raise(); ((XFileExplorer*)mainWindow)->setFocus(); // Warning message when setting current folder in Xfe FXbool warn = getApp()->reg().readUnsignedEntry("OPTIONS", "folder_warn", true); if (warn) { MessageBox::information(((XFileExplorer*)mainWindow), BOX_OK, _("Information"), _("Current folder has been set to '%s'"), pathname.text()); } } else if (list->isItemFile(item)) { // Parent directory parentdir = FXPath::directory(pathname); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); FileAssoc* association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to open the file if (association->command.section(',', 0) != "") { cmdname = association->command.section(',', 0); // Use a default program if possible switch (progs[cmdname]) { case TXTVIEWER: cmdname = txtviewer; break; case TXTEDITOR: cmdname = txteditor; break; case IMGVIEWER: cmdname = imgviewer; break; case IMGEDITOR: cmdname = imgeditor; break; case PDFVIEWER: cmdname = pdfviewer; break; case AUDIOPLAYER: cmdname = audioplayer; break; case VIDEOPLAYER: cmdname = videoplayer; break; case ARCHIVER: cmdname = archiver; break; case NONE: // No program found ; break; } // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Or execute the file else if (list->isItemExecutable(item)) { execFile(pathname); } // Or call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (list->isItemExecutable(item)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } getApp()->endWaitCursor(); return(1); } // Execute file with an optional confirm dialog void SearchPanel::execFile(FXString pathname) { int ret; FXString cmd, cmdname, parentdir; #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Parent directory parentdir = FXPath::directory(pathname); // File is executable, but is it a text file? FXString str = mimetype(pathname); FXbool isTextFile = true; if (strstr(str.text(), "charset=binary")) { isTextFile = false; } // With confirmation dialog FXbool confirm_execute = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_execute", true); if (isTextFile && (confirm_execute == 1)) { FXString msg; msg.format(_("File %s is an executable text file, what do you want to do?"), pathname.text()); ExecuteBox* dlg = new ExecuteBox(this, _("Confirm Execute"), msg); FXuint answer = dlg->execute(PLACEMENT_CURSOR); delete dlg; // Execute if (answer == EXECBOX_CLICKED_EXECUTE) { cmdname = FXPath::name(pathname); cmd = ::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } // Execute in console mode if (answer == EXECBOX_CLICKED_CONSOLE) { ret = chdir(parentdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), parentdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), parentdir.text()); } } cmdname = FXPath::name(pathname); cmd = ::quote(pathname); // Make and show command window // The CommandWindow object will delete itself when closed! CommandWindow* cmdwin = new CommandWindow(getApp(), _("Command log"), cmd, 30, 80); cmdwin->create(); cmdwin->setIcon(runicon); } // Edit if (answer == EXECBOX_CLICKED_EDIT) { FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); cmd = txteditor; cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } // Without confirmation dialog else { cmdname = FXPath::name(pathname); cmd = ::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } } // Single click on File Item long SearchPanel::onCmdItemClicked(FXObject* sender, FXSelector sel, void* ptr) { if (single_click != SINGLE_CLICK_NONE) { // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // In detailed mode, avoid single click when cursor is not over the first column int x, y; FXuint state; getCursorPosition(x, y, state); FXbool allow = true; if (!(list->getListStyle()&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) && ((x-list->getXPosition()) > list->getHeaderSize(0))) { allow = false; } // Single click with control or shift if (state&(CONTROLMASK|SHIFTMASK)) { return(1); } // Single click without control or shift else { FXString cmd, cmdname, filename, pathname, parentdir; // Wait cursor getApp()->beginWaitCursor(); #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif FXlong item = (FXlong)ptr; if (item > -1) { // File name and path filename = list->getItemFilename(item); pathname = list->getItemFullPathname(item); // If directory, open the directory if ((single_click != SINGLE_CLICK_NONE) && list->isItemDirectory(item) && allow) { // Does not have access if (!::isReadExecutable(pathname)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), pathname.text()); getApp()->endWaitCursor(); return(0); } // Change directory in Xfe ((XFileExplorer*)mainWindow)->setDirectory(pathname); // Raise the Xfe window ((XFileExplorer*)mainWindow)->raise(); ((XFileExplorer*)mainWindow)->setFocus(); // Warning message when setting current folder in Xfe FXbool warn = getApp()->reg().readUnsignedEntry("OPTIONS", "folder_warn", true); if (warn) { MessageBox::information(((XFileExplorer*)mainWindow), BOX_OK, _("Information"), _("Current folder has been set to '%s'"), pathname.text()); } } // If file, use the association if any else if ((single_click == SINGLE_CLICK_DIR_FILE) && list->isItemFile(item) && allow) { // Parent directory parentdir = FXPath::directory(pathname); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); FileAssoc* association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to open the file if (association->command.section(',', 0) != "") { cmdname = association->command.section(',', 0); // Use a default program if possible switch (progs[cmdname]) { case TXTVIEWER: cmdname = txtviewer; break; case TXTEDITOR: cmdname = txteditor; break; case IMGVIEWER: cmdname = imgviewer; break; case IMGEDITOR: cmdname = imgeditor; break; case PDFVIEWER: cmdname = pdfviewer; break; case AUDIOPLAYER: cmdname = audioplayer; break; case VIDEOPLAYER: cmdname = videoplayer; break; case ARCHIVER: cmdname = archiver; break; case NONE: // No program found ; break; } // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, parentdir, searchdir, usesn, snexcepts); #else runcmd(cmd, parentdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Or execute the file else if (list->isItemExecutable(item)) { execFile(pathname); } // Or call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (list->isItemExecutable(item)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } getApp()->endWaitCursor(); } } return(1); } // Open with long SearchPanel::onCmdOpenWith(FXObject*, FXSelector, void*) { char** str = NULL; if (list->getNumSelectedItems() == 0) { return(0); } FXString cmd = "", cmdname; if (opendialog == NULL) { opendialog = new HistInputDialog(this, "", _("Open selected file(s) with:"), _("Open With"), "", bigfileopenicon, HIST_INPUT_EXECUTABLE_FILE, true, _("A&ssociate")); } opendialog->setText(cmd); // Dialog with history list and associate checkbox opendialog->CursorEnd(); opendialog->selectAll(); opendialog->clearItems(); for (int i = 0; i < OpenNum; i++) { opendialog->appendItem(OpenHistory[i]); } opendialog->sortItems(); opendialog->setDirectory(ROOTDIR); if (opendialog->execute()) { cmd = opendialog->getText(); if (cmd == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { // Handles "associate" checkbox for "open with..." dialog if (opendialog->getOption()) { FXString filename = list->getItemFilename(u); FXString ext = filename.rafter('.', 2).lower(); if ((ext == "tar.gz") || (ext == "tar.bz2") || (ext == "tar.xz") || (ext == "tar.z")) // Special cases { } else { ext = FXPath::extension(filename).lower(); } if (ext == "") { ext = FXPath::name(filename); } FileAssoc* association = list->getItemAssoc(u); if (association) { // Update existing association FXString oldfileassoc = getApp()->reg().readStringEntry("FILETYPES", ext.text(), ""); oldfileassoc.erase(0, oldfileassoc.section(';', 0).section(',', 0).length()); oldfileassoc.prepend(opendialog->getText()); getApp()->reg().writeStringEntry("FILETYPES", ext.text(), oldfileassoc.text()); // Handle file association str = new char* [2]; str[0] = new char[strlen(ext.text())+1]; str[1] = new char[strlen(oldfileassoc.text())+1]; strlcpy(str[0], ext.text(), ext.length()+1); strlcpy(str[1], oldfileassoc.text(), oldfileassoc.length()+1); mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC), str); } else { // New association FXString newcmd = opendialog->getText().append(";Document;;;;"); getApp()->reg().writeStringEntry("FILETYPES", ext.text(), newcmd.text()); // Handle file association str = new char* [2]; str[0] = new char[strlen(ext.text())+1]; str[1] = new char[strlen(newcmd.text())+1]; strlcpy(str[0], ext.text(), ext.length()+1); strlcpy(str[1], newcmd.text(), newcmd.length()+1); mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC), str); } } // End FXString pathname = list->getItemFullPathname(u); cmdname = cmd; cmd += " "; cmd = cmd+::quote(pathname); } } // Run command if it exists getApp()->beginWaitCursor(); #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // If command exists, run it if (::existCommand(cmdname)) #ifdef STARTUP_NOTIFICATION { runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); } #else { runcmd(cmd, searchdir, searchdir); } #endif // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); return(1); } // Update history list OpenNum = opendialog->getHistorySize(); cmd = opendialog->getText(); // Check if cmd is a new string, i.e. is not already in history FXbool newstr = true; for (int i = 0; i < OpenNum-1; i++) { if (streq(OpenHistory[i], cmd.text())) { newstr = false; break; } } // History limit reached if (OpenNum > OPEN_HIST_SIZE) { OpenNum--; } // New string if (newstr) { // FIFO strlcpy(OpenHistory[0], cmd.text(), cmd.length()+1); for (int i = 1; i < OpenNum; i++) { strlcpy(OpenHistory[i], opendialog->getHistoryItem(i-1).text(), opendialog->getHistoryItem(i-1).length()+1); } } getApp()->endWaitCursor(); } return(1); } // Open single or multiple files long SearchPanel::onCmdOpen(FXObject*, FXSelector, void*) { // Wait cursor getApp()->beginWaitCursor(); FXString pathname, samecmd, cmd, cmdname, itemslist = " "; FileAssoc* association; FXbool same = true; FXbool first = true; if (list->getNumSelectedItems() == 0) { getApp()->endWaitCursor(); return(0); } // Default programs FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); // Check if all files have the same association for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { // Increment number of selected items pathname = list->getItemFullPathname(u); association = assocdict->findFileBinding(pathname.text()); if (association) { cmd = association->command.section(',', 0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case TXTEDITOR: cmd = txteditor; break; case IMGVIEWER: cmd = imgviewer; break; case IMGEDITOR: cmd = imgeditor; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No program found ; break; } if (cmd != "") { // First selected item if (first) { samecmd = cmd; first = false; } if (samecmd != cmd) { same = false; break; } // List of selected items itemslist += ::quote(pathname) + " "; } else { same = false; break; } } else { same = false; break; } } } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Same command for all files : open them if (same) { cmdname = samecmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = samecmd+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Files have different commands : handle them separately else { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to open the file cmd = association->command.section(',', 0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case TXTEDITOR: cmd = txteditor; break; case IMGVIEWER: cmd = imgviewer; break; case IMGEDITOR: cmd = imgeditor; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No program found ; break; } if (cmd != "") { cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // or execute the file else if (list->isItemExecutable(u)) { execFile(pathname); } // or call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // If no association but executable else if (list->isItemExecutable(u)) { execFile(pathname); } // Other cases else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } getApp()->endWaitCursor(); return(1); } // View/Edit files long SearchPanel::onCmdEdit(FXObject*, FXSelector s, void*) { // Wait cursor getApp()->beginWaitCursor(); FXString pathname, samecmd, cmd, cmdname, itemslist = " "; FileAssoc* association; FXbool same = true; FXbool first = true; if (list->getNumSelectedItems() == 0) { getApp()->endWaitCursor(); return(0); } FXString txtviewer = getApp()->reg().readStringEntry("PROGS", "txtviewer", DEFAULT_TXTVIEWER); FXString txteditor = getApp()->reg().readStringEntry("PROGS", "txteditor", DEFAULT_TXTEDITOR); FXString imgviewer = getApp()->reg().readStringEntry("PROGS", "imgviewer", DEFAULT_IMGVIEWER); FXString imgeditor = getApp()->reg().readStringEntry("PROGS", "imgeditor", DEFAULT_IMGEDITOR); FXString pdfviewer = getApp()->reg().readStringEntry("PROGS", "pdfviewer", DEFAULT_PDFVIEWER); FXString audioplayer = getApp()->reg().readStringEntry("PROGS", "audioplayer", DEFAULT_AUDIOPLAYER); FXString videoplayer = getApp()->reg().readStringEntry("PROGS", "videoplayer", DEFAULT_VIDEOPLAYER); FXString archiver = getApp()->reg().readStringEntry("PROGS", "archiver", DEFAULT_ARCHIVER); // Update associations dictionary FileDict* assocdict = new FileDict(getApp()); // Check if all files have the same association for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { // Increment number of selected items pathname = list->getItemFullPathname(u); association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to edit/view the files if (FXSELID(s) == ID_EDIT) // Edit { cmd = association->command.section(',', 2); // Use a default editor if possible switch (progs[cmd]) { case TXTEDITOR: cmd = txteditor; break; case IMGEDITOR: cmd = imgeditor; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default editor found ; break; } if (cmd.length() == 0) { cmd = txteditor; } } else // Any other is View { cmd = association->command.section(',', 1); // Use a default viewer if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case IMGVIEWER: cmd = imgviewer; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default viewer found ; break; } if (cmd.length() == 0) { cmd = txtviewer; } } if (cmd.text() != NULL) { // First selected item if (first) { samecmd = cmd; first = false; } if (samecmd != cmd) { same = false; break; } // List of selected items itemslist += ::quote(pathname) + " "; } else { same = false; break; } } // No association else { same = false; break; } } } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif // Same association for all files : execute the associated or default editor or viewer if (same) { cmdname = samecmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } // Files have different associations : handle them separately else { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); // Only View / Edit regular files (not directories) if (::isFile(pathname)) { association = assocdict->findFileBinding(pathname.text()); // If there is an association if (association) { // Use it to edit/view the file if (FXSELID(s) == ID_EDIT) // Edit { cmd = association->command.section(',', 2); // Use a default editor if possible switch (progs[cmd]) { case TXTEDITOR: cmd = txteditor; break; case IMGEDITOR: cmd = imgeditor; break; case ARCHIVER: cmd = archiver; break; } if (cmd.length() == 0) { cmd = txteditor; } } else // Any other is View { cmd = association->command.section(',', 1); // Use a default viewer if possible switch (progs[cmd]) { case TXTVIEWER: cmd = txtviewer; break; case IMGVIEWER: cmd = imgviewer; break; case PDFVIEWER: cmd = pdfviewer; break; case AUDIOPLAYER: cmd = audioplayer; break; case VIDEOPLAYER: cmd = videoplayer; break; case ARCHIVER: cmd = archiver; break; case NONE: // No default viewer found ; break; } if (cmd.length() == 0) { cmd = txtviewer; } } if (cmd.text() != NULL) { cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } // No association else { if (FXSELID(s) == ID_EDIT) { cmd = txteditor; } else { cmd = txtviewer; } cmdname = cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd = cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, call the "Open with..." dialog else { getApp()->endWaitCursor(); this->handle(this, FXSEL(SEL_COMMAND, ID_OPEN_WITH), NULL); } } } } } } getApp()->endWaitCursor(); return(1); } // Compare two files long SearchPanel::onCmdCompare(FXObject*, FXSelector s, void*) { list->setFocus(); int num = list->getNumSelectedItems(); // Only one or two selected items can be handled if ((num != 1) && (num != 2)) { getApp()->endWaitCursor(); return(0); } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); #endif FXString filecomparator = getApp()->reg().readStringEntry("PROGS", "filecomparator", DEFAULT_FILECOMPARATOR); FXString pathname, cmd, cmdname, itemslist = " "; // One selected item if (num == 1) { // Get the selected item for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); itemslist += ::quote(pathname) + " "; } } // Open a dialog to select the other item to be compared if (comparedialog == NULL) { comparedialog = new BrowseInputDialog(this, "", "", _("Compare"), _("With:"), bigcompareicon, BROWSE_INPUT_FILE); } comparedialog->setIcon(bigcompareicon); comparedialog->setMessage(pathname); comparedialog->setText(""); int rc = 1; rc = comparedialog->execute(PLACEMENT_CURSOR); // Get item path and add it to the list FXString str = comparedialog->getText(); itemslist += ::quote(str); if (!rc || (str == "")) { return(0); } } // Two selected items else if (num == 2) { // Get the two selected items for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); itemslist += ::quote(pathname) + " "; } } } // Wait cursor getApp()->beginWaitCursor(); // If command exists, run it cmdname = filecomparator; if (::existCommand(cmdname)) { cmd = cmdname+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd, cmdname, searchdir, searchdir, usesn, snexcepts); #else runcmd(cmd, searchdir, searchdir); #endif } // If command does not exist, issue an error message else { getApp()->endWaitCursor(); MessageBox::error(this, BOX_OK, _("Error"), _("Program %s not found. Please define a file comparator program in the Preferences dialog!"), cmdname.text()); } getApp()->endWaitCursor(); return(1); } // Force panel refresh long SearchPanel::onCmdRefresh(FXObject* sender, FXSelector, void*) { list->onCmdRefresh(0, 0, 0); return(1); } // Go to parent directory long SearchPanel::onCmdGotoParentdir(FXObject*, FXSelector, void*) { if (list->getNumSelectedItems() != 1) { return(0); } // Get selected item path name FXString pathname; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); break; } } // Parent directory name FXString parentdir = FXPath::directory(pathname); // Does not have access if (!::isReadExecutable(parentdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), parentdir.text()); getApp()->endWaitCursor(); return(0); } // Change directory in Xfe ((XFileExplorer*)mainWindow)->setDirectory(parentdir); // Raise the Xfe window ((XFileExplorer*)mainWindow)->raise(); ((XFileExplorer*)mainWindow)->setFocus(); // Warning message when setting current folder in Xfe FXbool warn = getApp()->reg().readUnsignedEntry("OPTIONS", "folder_warn", true); if (warn) { MessageBox::information(((XFileExplorer*)mainWindow), BOX_OK, _("Information"), _("Current folder has been set to '%s'"), parentdir.text()); } return(1); } // File or directory properties long SearchPanel::onCmdProperties(FXObject* sender, FXSelector, void*) { int num, itm; // There is one selected file in the file list num = list->getNumSelectedItems(&itm); if (num == 1) { FXString filename = list->getItemFilename(itm); FXString pathname = FXPath::directory(list->getItemFullPathname(itm)); PropertiesBox* attrdlg = new PropertiesBox(this, filename, pathname); attrdlg->create(); attrdlg->show(PLACEMENT_OWNER); } // There are multiple selected files in the file list else if (num > 1) { FXString* files = new FXString[num]; FXString* paths = new FXString[num]; int i = 0; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { files[i] = list->getItemText(u).section('\t', 0); paths[i] = FXPath::directory(list->getItemFullPathname(u)); i++; } } PropertiesBox* attrdlg = new PropertiesBox(this, files, num, paths); attrdlg->create(); attrdlg->show(PLACEMENT_OWNER); } return(1); } // Handle item selection long SearchPanel::onCmdSelect(FXObject* sender, FXSelector sel, void* ptr) { switch (FXSELID(sel)) { case ID_SELECT_ALL: list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SELECT_ALL), ptr); return(1); case ID_DESELECT_ALL: list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL), ptr); return(1); case ID_SELECT_INVERSE: list->handle(sender, FXSEL(SEL_COMMAND, FileList::ID_SELECT_INVERSE), ptr); return(1); } return(1); } // Set search root path void SearchPanel::setSearchPath(FXString path) { searchdir = path; list->setDirectory(path, false); } // Append an item to the file list // Note that thumbnails are not displayed here long SearchPanel::appendItem(FXString& pathname) { FXString filename, dirname; FXString grpid, usrid, atts, mod, ext, del; FileAssoc* fileassoc; FXString filetype, lowext; FXIcon* big, *mini; time_t filemtime, filectime; struct stat info, linfo; FXbool isLink, isBrokenLink, isDir; // Only process valid file paths and paths different from the search directory if (lstatrep(pathname.text(), &linfo) == 0) { filename = FXPath::name(pathname); dirname = FXPath::directory(pathname); // Get file/link info and indicate if it is a link isLink = S_ISLNK(linfo.st_mode); isBrokenLink = false; // Find if it is a broken link if (isLink && (statrep(pathname.text(), &info) != 0)) { isBrokenLink = true; } // File times filemtime = linfo.st_mtime; filectime = linfo.st_ctime; // Find if it is a folder isDir = false; if (S_ISDIR(linfo.st_mode)) { isDir = true; } // Extension ext = FXPath::extension(pathname); // User name usrid = FXSystem::userName(linfo.st_uid); // Group name grpid = FXSystem::groupName(linfo.st_gid); // Permissions (caution : we don't use the FXSystem::modeString() function because // it seems to be incompatible with the info.st_mode format) atts = ::permissions(linfo.st_mode); // Mod time mod = FXSystem::time("%x %X", linfo.st_mtime); del = ""; ext = ""; // Obtain the extension for files only if (!isDir) { ext = FXPath::extension(pathname); } // Obtain the stat info on the file itself if (statrep(pathname.text(), &info) != 0) { // Except in the case of a broken link if (isBrokenLink) { lstatrep(pathname.text(), &info); } else { goto end; } } // Assume no associations fileassoc = NULL; // Determine icons and type if (isDir) { if (!::isReadExecutable(pathname)) { big = bigfolderlockedicon; mini = minifolderlockedicon; filetype = _("Folder"); } else { big = bigfoldericon; mini = minifoldericon; filetype = _("Folder"); } } else if (S_ISCHR(info.st_mode)) { big = bigchardevicon; mini = minichardevicon; filetype = _("Character Device"); } else if (S_ISBLK(info.st_mode)) { big = bigblockdevicon; mini = miniblockdevicon; filetype = _("Block Device"); } else if (S_ISFIFO(info.st_mode)) { big = bigpipeicon; mini = minipipeicon; filetype = _("Named Pipe"); } else if (S_ISSOCK(info.st_mode)) { big = bigsocketicon; mini = minisocketicon; filetype = _("Socket"); } else if ((info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) && !(S_ISDIR(info.st_mode) || S_ISCHR(info.st_mode) || S_ISBLK(info.st_mode) || S_ISFIFO(info.st_mode) || S_ISSOCK(info.st_mode))) { big = bigexecicon; mini = miniexecicon; filetype = _("Executable"); if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } else { big = bigdocicon; mini = minidocicon; filetype = _("Document"); if (associations) { fileassoc = associations->findFileBinding(pathname.text()); } } // If association is found, use it if (fileassoc) { filetype = fileassoc->extension.text(); if (fileassoc->bigicon) { big = fileassoc->bigicon; } if (fileassoc->miniicon) { mini = fileassoc->miniicon; } } // Symbolic links have a specific type if (isBrokenLink) { filetype = _("Broken link"); } else if (isLink) { if (associations) { // Don't forget to remove trailing '/' here! fileassoc = associations->findFileBinding(::cleanPath(::readLink(pathname)).text()); if (fileassoc) { filetype = _("Link to ")+fileassoc->extension; } else { filetype = _("Link to ")+filetype; } } } // Don't display the file size for directories FXString hsize; if (isDir) { hsize = ""; } else { char size[64]; #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", (FXulong)linfo.st_size); #else snprintf(size, sizeof(size)-1, "%llu", (FXulong)linfo.st_size); #endif hsize = ::hSize(size); } #if defined(linux) // Devices have a specific icon if (fsdevices->find(pathname.text())) { filetype = _("Mount point"); if (::streq(fsdevices->find(pathname.text()), "harddisk")) { big = bigharddiskicon; mini = harddiskicon; } else if (::streq(fsdevices->find(pathname.text()), "nfsdisk")) { big = bignfsdriveicon; mini = nfsdriveicon; } else if (::streq(fsdevices->find(pathname.text()), "smbdisk")) { big = bignfsdriveicon; mini = nfsdriveicon; } else if (::streq(fsdevices->find(pathname.text()), "floppy")) { big = bigfloppyicon; mini = floppyicon; } else if (::streq(fsdevices->find(pathname.text()), "cdrom")) { big = bigcdromicon; mini = cdromicon; } else if (::streq(fsdevices->find(pathname.text()), "zip")) { big = bigzipicon; mini = zipicon; } } #endif // Symbolic links have a specific icon if (isLink) { // Broken link if (isBrokenLink) { big = bigbrokenlinkicon; mini = minibrokenlinkicon; } else { big = biglinkicon; mini = minilinkicon; } } // Add item to the file list FXString str = filename + "\t" + dirname + "\t" + hsize + "\t" + filetype + "\t" + ext + "\t" + mod + "\t" + usrid +"\t" + grpid + "\t" + atts + "\t" + del + "\t" + pathname; // Append item to the list list->appendItem(str, big, mini); // Get last item int count = list->getNumItems(); FileItem* item = (FileItem*)list->getItem(count-1); if (item == NULL) { fprintf(stderr, "%s::appendItem: NULL item specified.\n", getClassName()); exit(EXIT_FAILURE); } // Set icons item->setBigIcon(big, false); item->setMiniIcon(mini, false); // Set item flags from the obtained info if (S_ISDIR(info.st_mode)) { item->state |= FileItem::FOLDER; } else { item->state &= ~FileItem::FOLDER; } if (S_ISLNK(info.st_mode)) { item->state |= FileItem::SYMLINK; } else { item->state &= ~FileItem::SYMLINK; } if (S_ISCHR(info.st_mode)) { item->state |= FileItem::CHARDEV; } else { item->state &= ~FileItem::CHARDEV; } if (S_ISBLK(info.st_mode)) { item->state |= FileItem::BLOCKDEV; } else { item->state &= ~FileItem::BLOCKDEV; } if (S_ISFIFO(info.st_mode)) { item->state |= FileItem::FIFO; } else { item->state &= ~FileItem::FIFO; } if (S_ISSOCK(info.st_mode)) { item->state |= FileItem::SOCK; } else { item->state &= ~FileItem::SOCK; } if ((info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) && !(S_ISDIR(info.st_mode) || S_ISCHR(info.st_mode) || S_ISBLK(info.st_mode) || S_ISFIFO(info.st_mode) || S_ISSOCK(info.st_mode))) { item->state |= FileItem::EXECUTABLE; } else { item->state &= ~FileItem::EXECUTABLE; } // We can drag items item->state |= FileItem::DRAGGABLE; // Set item attributes item->size = (FXulong)linfo.st_size; item->assoc = fileassoc; item->date = filemtime; item->cdate = filectime; // And finally, don't forget to create the appended item! item->create(); } else { return(0); } end: return(1); } // File list context menu long SearchPanel::onCmdPopupMenu(FXObject* o, FXSelector s, void* p) { // No item in list if (list->getNumItems() == 0) { return(0); } list->setAllowRefresh(false); // Check if control key was pressed ctrlflag = false; shiftf10 = false; if (p != NULL) { FXEvent* event = (FXEvent*)p; if (event->state&CONTROLMASK) { ctrlflag = true; } if (event->state&SHIFTMASK && (event->code == KEY_F10)) { shiftf10 = true; } } // Use to select the item under cursor when right clicking // Only when Shift-F10 was not pressed if (!shiftf10 && (list->getNumSelectedItems() <= 1)) { int x, y; FXuint state; list->getCursorPosition(x, y, state); int item = list->getItemAt(x, y); if (list->getCurrentItem() >= 0) { list->deselectItem(list->getCurrentItem()); } if (item >= 0) { list->setCurrentItem(item); list->selectItem(item); } } // If control flag is set, deselect all items if (ctrlflag) { list->handle(o, FXSEL(SEL_COMMAND, FileList::ID_DESELECT_ALL), p); } // Popup menu pane FXMenuPane* menu = new FXMenuPane(this); int x, y; FXuint state; getRoot()->getCursorPosition(x, y, state); int num, itm; num = list->getNumSelectedItems(&itm); // No selection or control key was pressed if ((num == 0) || ctrlflag) { // Reset the control flag ctrlflag = false; new FXMenuCheck(menu, _("Thum&bnails"), list, FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("B&ig icons"), list, IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(menu, _("&Small icons"), list, IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(menu, _("F&ull file list"), list, IconList::ID_SHOW_DETAILS); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("&Rows"), list, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(menu, _("&Columns"), list, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(menu, _("Autosize"), list, FileList::ID_AUTOSIZE); new FXMenuSeparator(menu); new FXMenuRadio(menu, _("&Name"), list, FileList::ID_SORT_BY_NAME); new FXMenuRadio(menu, _("Si&ze"), list, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(menu, _("&Type"), list, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(menu, _("E&xtension"), list, FileList::ID_SORT_BY_EXT); new FXMenuRadio(menu, _("&Date"), list, FileList::ID_SORT_BY_TIME); new FXMenuRadio(menu, _("&User"), list, FileList::ID_SORT_BY_USER); new FXMenuRadio(menu, _("&Group"), list, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(menu, _("Per&missions"), list, FileList::ID_SORT_BY_PERM); new FXMenuSeparator(menu); new FXMenuCheck(menu, _("I&gnore case"), list, FileList::ID_SORT_CASE); new FXMenuCheck(menu, _("Fold&ers first"), list, FileList::ID_DIRS_FIRST); new FXMenuCheck(menu, _("Re&verse order"), list, FileList::ID_SORT_REVERSE); } // Non empty selection else { // Submenu items FXMenuPane* submenu = new FXMenuPane(this); new FXMenuCheck(submenu, _("Thum&bnails"), list, FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("B&ig icons"), list, IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(submenu, _("&Small icons"), list, IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(submenu, _("&Full file list"), list, IconList::ID_SHOW_DETAILS); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("&Rows"), list, FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(submenu, _("&Columns"), list, FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(submenu, _("&Autosize"), list, FileList::ID_AUTOSIZE); new FXMenuSeparator(submenu); new FXMenuRadio(submenu, _("&Name"), list, FileList::ID_SORT_BY_NAME); new FXMenuRadio(submenu, _("Si&ze"), list, FileList::ID_SORT_BY_SIZE); new FXMenuRadio(submenu, _("&Type"), list, FileList::ID_SORT_BY_TYPE); new FXMenuRadio(submenu, _("E&xtension"), list, FileList::ID_SORT_BY_EXT); new FXMenuRadio(submenu, _("&Date"), list, FileList::ID_SORT_BY_TIME); new FXMenuRadio(submenu, _("&User"), list, FileList::ID_SORT_BY_USER); new FXMenuRadio(submenu, _("&Group"), list, FileList::ID_SORT_BY_GROUP); new FXMenuRadio(submenu, _("Per&missions"), list, FileList::ID_SORT_BY_PERM); new FXMenuSeparator(submenu); new FXMenuCheck(submenu, _("Ignore c&ase"), list, FileList::ID_SORT_CASE); new FXMenuCheck(submenu, _("Fold&ers first"), list, FileList::ID_DIRS_FIRST); new FXMenuCheck(submenu, _("Re&verse order"), list, FileList::ID_SORT_REVERSE); new FXMenuCascade(menu, _("Pane&l"), NULL, submenu); new FXMenuSeparator(menu); FXbool ar = false; if (list->getItem(itm) && list->isItemFile(itm)) { new FXMenuCommand(menu, _("Open &with..."), fileopenicon, this, SearchPanel::ID_OPEN_WITH); new FXMenuCommand(menu, _("&Open"), fileopenicon, this, SearchPanel::ID_OPEN); FXString name = this->list->getItemText(itm).section('\t', 0); // Last and before last file extensions FXString ext1 = name.rafter('.', 1).lower(); FXString ext2 = name.rafter('.', 2).lower(); // Display the extract and package menus according to the archive extensions if ((num == 1) && ((ext2 == "tar.gz") || (ext2 == "tar.bz2") || (ext2 == "tar.xz") || (ext2 == "tar.z"))) { ar = true; new FXMenuCommand(menu, _("E&xtract to..."), archexticon, this, SearchPanel::ID_EXTRACT); } else if ((num == 1) && ((ext1 == "gz") || (ext1 == "bz2") || (ext1 == "xz") || (ext1 == "z"))) { ar = true; new FXMenuCommand(menu, _("&Extract here"), archexticon, this, SearchPanel::ID_EXTRACT); } else if ((num == 1) && ((ext1 == "tar") || (ext1 == "tgz") || (ext1 == "tbz2") || (ext1 == "tbz") || (ext1 == "taz") || (ext1 == "txz") || (ext1 == "zip") || (ext1 == "7z") || (ext1 == "lzh") || (ext1 == "rar") || (ext1 == "ace") || (ext1 == "arj"))) { ar = true; new FXMenuCommand(menu, _("E&xtract to..."), archexticon, this, SearchPanel::ID_EXTRACT); } #if defined(linux) else if ((num == 1) && ((ext1 == "rpm") || (ext1 == "deb"))) { ar = true; new FXMenuCommand(menu, _("&View"), packageicon, this, SearchPanel::ID_VIEW); } #endif // Not archive nor package if (!ar) { new FXMenuCommand(menu, _("&View"), viewicon, this, SearchPanel::ID_VIEW); new FXMenuCommand(menu, _("&Edit"), editicon, this, SearchPanel::ID_EDIT); if (num == 1) { new FXMenuCommand(menu, _("Com&pare..."), compareicon, this, SearchPanel::ID_COMPARE); } else { new FXMenuCommand(menu, _("Com&pare"), compareicon, this, SearchPanel::ID_COMPARE); } } } if (!ar) { new FXMenuCommand(menu, _("&Add to archive..."), archaddicon, this, SearchPanel::ID_ADD_TO_ARCH); } #if defined(linux) if ((num == 1) && !ar) { new FXMenuCommand(menu, _("&Packages query "), packageicon, this, SearchPanel::ID_PKG_QUERY); } #endif // Build scripts menu new FXMenuSeparator(menu); FXString scriptpath = homedir + PATHSEPSTRING CONFIGPATH PATHSEPSTRING XFECONFIGPATH PATHSEPSTRING SCRIPTPATH; FXMenuPane* scriptsmenu = new FXMenuPane(this); new FXMenuCascade(menu, _("Scripts"), runicon, scriptsmenu); readScriptDir(scriptsmenu, scriptpath); new FXMenuSeparator(scriptsmenu); new FXMenuCommand(scriptsmenu, _("&Go to script folder"), gotodiricon, this, SearchPanel::ID_GO_SCRIPTDIR); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("&Go to parent folder"), gotodiricon, this, SearchPanel::ID_GOTO_PARENTDIR); new FXMenuCommand(menu, _("&Copy"), copy_clpicon, this, SearchPanel::ID_COPY_CLIPBOARD); new FXMenuCommand(menu, _("C&ut"), cut_clpicon, this, SearchPanel::ID_CUT_CLIPBOARD); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Re&name..."), renameiticon, this, SearchPanel::ID_FILE_RENAME); new FXMenuCommand(menu, _("Copy &to..."), copy_clpicon, this, SearchPanel::ID_FILE_COPYTO); new FXMenuCommand(menu, _("&Move to..."), moveiticon, this, SearchPanel::ID_FILE_MOVETO); new FXMenuCommand(menu, _("Symlin&k to..."), minilinkicon, this, SearchPanel::ID_FILE_SYMLINK); new FXMenuCommand(menu, _("M&ove to trash"), filedeleteicon, this, SearchPanel::ID_FILE_TRASH); new FXMenuCommand(menu, _("&Delete"), filedelete_permicon, this, SearchPanel::ID_FILE_DELETE); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Compare &sizes"), charticon, this, SearchPanel::ID_DIR_USAGE); new FXMenuCommand(menu, _("P&roperties"), attribicon, this, SearchPanel::ID_PROPERTIES); } menu->create(); allowPopupScroll = true; // Allow keyboard scrolling menu->popup(NULL, x, y); getApp()->runModalWhileShown(menu); allowPopupScroll = false; list->setAllowRefresh(true); return(1); } // Read all executable file names that are located into the script directory // Sort entries alphabetically int SearchPanel::readScriptDir(FXMenuPane* scriptsmenu, FXString dir) { DIR* dp; struct dirent** namelist; // Open directory if ((dp = opendir(dir.text())) == NULL) { return(0); } // Eventually add a / at the end of the directory name if (dir[dir.length()-1] != '/') { dir = dir+"/"; } // Read directory and sort entries alphabetically int n = scandir(dir.text(), &namelist, NULL, alphasort); if (n < 0) { perror("scandir"); } else { for (int k = 0; k < n; k++) { // Avoid hidden directories and '.' and '..' if (namelist[k]->d_name[0] != '.') { FXString pathname = dir + namelist[k]->d_name; // Recurse if non empty directory if (::isDirectory(pathname)) { if (!::isEmptyDir(pathname)) { FXMenuPane* submenu = new FXMenuPane(this); new FXMenuCascade(scriptsmenu, namelist[k]->d_name, NULL, submenu); readScriptDir(submenu, pathname); } } // Add only executable files to the list else if (isReadExecutable(pathname)) { new FXMenuCommand(scriptsmenu, namelist[k]->d_name + FXString("\t\t") + pathname, miniexecicon, this, FilePanel::ID_RUN_SCRIPT); } } free(namelist[k]); } free(namelist); } // Close directory (void)closedir(dp); return(1); } // Add files or directory to an archive long SearchPanel::onCmdAddToArch(FXObject* o, FXSelector, void*) { int ret; FXString name, ext1, ext2, cmd, archive = ""; File* f; // Enter search directory ret = chdir(searchdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), searchdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), searchdir.text()); } return(0); } // If only one item is selected, use its name as a starting guess for the archive name if (list->getNumSelectedItems() == 1) { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { name = list->getItemFilename(u); break; } } archive = name; } // Initial archive name with full path and default extension archive = homedir+PATHSEPSTRING+archive+".tar.gz"; // Archive dialog if (archdialog == NULL) { archdialog = new ArchInputDialog(this, ""); } archdialog->setText(archive); archdialog->CursorEnd(); if (archdialog->execute()) { if (archdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // Get string and preserve escape characters archive = ::quote(archdialog->getText()); // Get extensions of the archive name ext1 = archdialog->getText().rafter('.', 1).lower(); ext2 = archdialog->getText().rafter('.', 2).lower(); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zcvf "+archive+" "; } else if (ext2 == "tar.bz2") { cmd = "tar -jcvf "+archive+" "; } else if (ext2 == "tar.xz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext2 == "tar.z") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "tar") { cmd = "tar -cvf "+archive+" "; } else if (ext1 == "gz") { cmd = "gzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zcvf "+archive+" "; } else if (ext1 == "taz") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "bz2") { cmd = "bzip2 -v "; } else if (ext1 == "xz") { cmd = "xz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jcvf "+archive+" "; } else if (ext1 == "txz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext1 == "z") { cmd = "compress -v "; } else if (ext1 == "zip") { cmd = "zip -r "+archive+" "; } else if (ext1 == "7z") { cmd = "7z a "+archive+" "; } // Default archive format else { archive += ".tar.gz"; cmd = "tar -zcvf "+archive+" "; } for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { name = FXPath::relative(searchdir, list->getItemFullPathname(u)); cmd += " "; cmd = cmd+::quote(name); cmd += " "; } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Create archive"), ARCHIVE); f->create(); // Create archive f->archive(archive, cmd); getApp()->endWaitCursor(); delete f; } return(1); } // Extract archive long SearchPanel::onCmdExtract(FXObject*, FXSelector, void*) { FXString name, ext1, ext2, cmd, dir; File* f; // File selection dialog FileDialog browse(this, _("Select a destination folder")); const char* patterns[] = { _("All Files"), "*", NULL }; browse.setDirectory(homedir); browse.setPatternList(patterns); browse.setSelectMode(SELECT_FILE_DIRECTORY); int item; list->getNumSelectedItems(&item); if (list->getItem(item)) { // Path FXString path = FXPath::directory(list->getItemFullPathname(item)); // Archive name and extensions name = list->getItemText(item).text(); ext1 = name.section('\t', 0).rafter('.', 1).lower(); ext2 = name.section('\t', 0).rafter('.', 2).lower(); name = ::quote(path + PATHSEPSTRING + name.section('\t', 0)); // Handle different archive formats FXbool dialog = true; if (ext2 == "tar.gz") { cmd = "tar -zxvf "; } else if (ext2 == "tar.bz2") { cmd = "tar -jxvf "; } else if (ext2 == "tar.xz") { cmd = "tar -Jxvf "; } else if (ext2 == "tar.z") { cmd = "tar -Zxvf "; } else if (ext1 == "tar") { cmd = "tar -xvf "; } else if (ext1 == "gz") { cmd = "gunzip -v "; dialog = false; } else if (ext1 == "tgz") { cmd = "tar -zxvf "; } else if (ext1 == "taz") { cmd = "tar -Zxvf "; } else if (ext1 == "bz2") { cmd = "bunzip2 -v "; dialog = false; } else if (ext1 == "xz") { cmd = "unxz -v "; dialog = false; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jxvf "; } else if (ext1 == "txz") { cmd = "tar -Jxvf "; } else if (ext1 == "z") { cmd = "uncompress -v "; dialog = false; } else if (ext1 == "zip") { cmd = "unzip -o "; } else if (ext1 == "7z") { cmd = "7z x -y "; } else if (ext1 == "rar") { cmd = "unrar x -o+ "; } else if (ext1 == "lzh") { cmd = "lha -xf "; } else if (ext1 == "ace") { cmd = "unace x "; } else if (ext1 == "arj") { cmd = "arj x -y "; } else { cmd = "tar -zxvf "; } // Final extract command cmd += name+" "; // Extract with file dialog if (dialog) { // Extract archive if (browse.execute()) { dir = browse.getFilename(); if (isWritable(dir)) { // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Extract archive"), EXTRACT); f->create(); // Extract archive f->extract(name, dir, cmd); getApp()->endWaitCursor(); delete f; } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), dir.text()); } } } // Extract here (without file dialog) else { if (isWritable(path)) { // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Extract archive"), EXTRACT); f->create(); // Extract archive f->extract(name, path, cmd); getApp()->endWaitCursor(); delete f; } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), path.text()); } } } return(1); } // Directory usage on file selection long SearchPanel::onCmdDirUsage(FXObject* o, FXSelector, void*) { FXString pathname, command, itemslist = " "; FXString cmd1 = "/usr/bin/du --apparent-size -k -s "; FXString cmd2 = " 2> /dev/null | /usr/bin/sort -rn | /usr/bin/cut -f2 | /usr/bin/xargs -d '\n' /usr/bin/du --apparent-size --total --si -s 2> /dev/null"; // Construct selected files list for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); // List of selected items itemslist += ::quote(pathname) + " "; } } // Command to be executed command = cmd1 + itemslist + cmd2; // Make and show command window CommandWindow* cmdwin=new CommandWindow(getApp(),_("Sizes of Selected Items"),command,25,50); cmdwin->create(); cmdwin->setIcon(charticon); return(1); } // Trash files from the file list long SearchPanel::onCmdFileTrash(FXObject*, FXSelector, void*) { int firstitem = 0; File* f = NULL; FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); // If we don't have permission to write to the trash directory if (!::isWritable(trashfileslocation)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to trash location %s: Permission denied"), trashfileslocation.text()); return(0); } // Items number in the file list int num = list->getNumSelectedItems(); if (num < 1) { return(0); } if (confirm_trash) { FXString message; if (num == 1) { FXString pathname; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); } } if (::isDirectory(pathname)) { message.format(_("Move folder %s to trash can?"), pathname.text()); } else { message.format(_("Move file %s to trash can?"), pathname.text()); } } else { message.format(_("Move %s selected items to trash can?"), FXStringVal(num).text()); } MessageBox box(this, _("Confirm Trash"), message, delete_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Move to trash"), DELETE, num); f->create(); list->setAllowRefresh(false); // Overwrite initialisations FXbool overwrite = false; FXbool overwrite_all = false; FXbool skip_all = false; // Delete selected files FXString filename, pathname; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { // Get index of first selected item if (firstitem == 0) { firstitem = u; } // Get file name and path filename = list->getItemFilename(u); pathname = list->getItemFullPathname(u); // File could have already been trashed above in the tree if (!::exists(pathname)) { continue; } // If we don't have permission to write to the file if (!::isWritable(pathname)) { // Overwrite dialog if necessary if (!(overwrite_all | skip_all)) { f->hideProgressDialog(); FXString msg; msg.format(_("File %s is write-protected, move it anyway to trash can?"), pathname.text()); if (num ==1) { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Trash"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 1) { overwrite = true; } else { goto end; } } else { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Trash"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Overwrite case 1: overwrite = true; break; // Overwrite all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } } if ((overwrite | overwrite_all) & !skip_all) { // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); break; } } f->showProgressDialog(); } // If we have permission to write else { // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move to trash file operation cancelled!")); break; } } } } end: getApp()->endWaitCursor(); delete f; list->setAllowRefresh(true); list->onCmdRefresh(0, 0, 0); return(1); } // Definitively delete files from the file list or the tree list (no trash can) long SearchPanel::onCmdFileDelete(FXObject*, FXSelector, void*) { int firstitem = 0; File* f = NULL; FXbool confirm_del = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete", true); FXbool confirm_del_emptydir = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete_emptydir", true); // Items number in the file list int num = list->getNumSelectedItems(); if (num == 0) { return(0); } // If exist selected files, use them if (num >= 1) { if (confirm_del) { FXString message; if (num == 1) { FXString pathname; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { pathname = list->getItemFullPathname(u); } } if (::isDirectory(pathname)) { message.format(_("Definitively delete folder %s ?"), pathname.text()); } else { message.format(_("Definitively delete file %s ?"), pathname.text()); } } else { message.format(_("Definitively delete %s selected items?"), FXStringVal(num).text()); } MessageBox box(this, _("Confirm Delete"), message, delete_big_permicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("File delete"), DELETE, num); f->create(); list->setAllowRefresh(false); // Overwrite initialisations FXbool overwrite = false; FXbool overwrite_all = false; FXbool skip_all = false; FXbool ask_del_empty = true; FXbool skip_all_del_emptydir = false; // Delete selected files FXString filename, pathname; for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { // Get index of first selected item if (firstitem == 0) { firstitem = u; } // Get file name and path filename = list->getItemFilename(u); pathname = list->getItemFullPathname(u); // File could have already been deleted above in the tree if (!::exists(pathname)) { continue; } // Confirm empty directory deletion if (confirm_del & confirm_del_emptydir & ask_del_empty) { if ((::isEmptyDir(pathname) == 0) && !::isLink(pathname)) { if (skip_all_del_emptydir) { continue; } f->hideProgressDialog(); FXString msg; msg.format(_("Folder %s is not empty, delete it anyway?"), pathname.text()); OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Yes case 1: break; // Yes for all case 2: ask_del_empty = false; break; // Skip case 3: continue; break; // Skip all case 4: skip_all_del_emptydir = true; continue; break; } f->showProgressDialog(); } } // If we don't have permission to write to the file if (!::isWritable(pathname)) { // Overwrite dialog if necessary if (!(overwrite_all | skip_all)) { f->hideProgressDialog(); FXString msg; msg.format(_("File %s is write-protected, delete it anyway?"), pathname.text()); if (num ==1) { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 1) { overwrite = true; } else { goto end; } } else { OverwriteBox* dlg = new OverwriteBox(this, _("Confirm Delete"), msg); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; switch (answer) { // Cancel case 0: goto end; break; // Yes case 1: overwrite = true; break; // Yes for all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } } if ((overwrite | overwrite_all) & !skip_all) { // Definitively remove file or folder f->remove(pathname); } f->showProgressDialog(); } // If we have permission to write else { // Definitively remove file or folder f->remove(pathname); // If is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (pathname.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+filename+".trashinfo"; ::unlink(trashinfopathname.text()); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Delete file operation cancelled!")); break; } } } } end: getApp()->endWaitCursor(); delete f; } list->setAllowRefresh(true); list->onCmdRefresh(0, 0, 0); return(1); } // We now really do have the clipboard, keep clipboard content long SearchPanel::onClipboardGained(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardGained(sender, sel, ptr); return(1); } // We lost the clipboard long SearchPanel::onClipboardLost(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardLost(sender, sel, ptr); return(1); } // Somebody wants our clipboard content long SearchPanel::onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuchar* data; FXuint len; // Perhaps the target wants to supply its own data for the clipboard if (FXVerticalFrame::onClipboardRequest(sender, sel, ptr)) { return(1); } // Clipboard target is xfelistType (Xfe, Gnome or XFCE) if (event->target == xfelistType) { // Prepend "copy" or "cut" as in the Gnome way and avoid duplicating these strings if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { if (clipboard_type == CUT_CLIPBOARD) { clipboard = "cut\n" + clipboard; } else { clipboard = "copy\n" + clipboard; } } // Return clipboard content if (event->target == xfelistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); // Return because xfelistType is not compatible with other types return(1); } } } // Clipboard target is kdelisType (KDE) if (event->target == kdelistType) { // The only data to be passed in this case is "0" for copy and "1" for cut // The uri data are passed using the standard uri-list type FXString flag; if (clipboard_type == CUT_CLIPBOARD) { flag = "1"; } else { flag = "0"; } // Return clipboard content if (event->target == kdelistType) { FXMEMDUP(&data, flag.text(), FXuchar, 1); setDNDData(FROM_CLIPBOARD, event->target, data, 1); } } // Clipboard target is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) if (event->target == urilistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } // Clipboard target is utf8Type (to paste file pathes as text to other applications) if (event->target == utf8Type) { if (!clipboard.empty()) { int beg = 0, end = 0; FXString str = ""; FXString pathname, url; // Clipboard don't contain 'copy\n' or 'cut\n' as first line if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); } // Clipboard contains 'copy\n' or 'cut\n' as first line, thus skip it else { // Start after the 'copy\n' or 'cut\n' prefix end = clipboard.find('\n', 0); end++; beg = end; // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); } if (!str.empty()) { len = str.length(); FXMEMDUP(&data, str.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } } return(0); } // Copy or cut to clipboard long SearchPanel::onCmdCopyCut(FXObject*, FXSelector sel, void*) { // Clear clipboard clipboard.clear(); // Clipboard type if (FXSELID(sel) == ID_CUT_CLIPBOARD) { clipboard_type = CUT_CLIPBOARD; } else { clipboard_type = COPY_CLIPBOARD; } // Items number in the file list int num = list->getNumSelectedItems(); if (num == 0) { return(0); } // If exist selected files, use them if (num >= 1) { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { FXString pathname = list->getItemFullPathname(u); clipboard += FXURL::encode(::fileToURI(pathname))+"\n"; } } } // Remove the last \n of the list, for compatibility with some file managers (e.g. nautilus 2.30.1) clipboard.erase(clipboard.length()-1); // Acquire the clipboard FXDragType types[4]; types[0] = xfelistType; types[1] = kdelistType; types[2] = urilistType; types[3] = utf8Type; if (acquireClipboard(types, 4)) { return(0); } return(1); } // Copy/Move/Rename/Symlink file(s) long SearchPanel::onCmdFileMan(FXObject* sender, FXSelector sel, void*) { int num; FXString src, targetdir, target, name, source; // Confirmation dialog? FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); // Number of selected items num = list->getNumSelectedItems(); // If no item, return if (num <= 0) { return(0); } // Obtain the list of source files for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u)) { src += list->getItemFullPathname(u)+"\n"; } } // Name and directory of the first source file source = src.section('\n', 0); name = FXPath::name(source); FXString dir = FXPath::directory(source); // Initialise target dir name x: targetdir = homedir; if (targetdir != ROOTDIR) { target = targetdir+PATHSEPSTRING; } else { target = targetdir; } // Target dir for the rename command if (FXSELID(sel) == ID_FILE_RENAME) { targetdir = dir; } // Configure the command, title, message, etc. FXIcon* icon = NULL; FXString command, title, message; if (FXSELID(sel) == ID_FILE_RENAME) { command = "rename"; title = _("Rename"); icon = move_bigicon; if (num == 1) { message = _("Rename "); message += name; target = name; title = _("Rename"); } else { return(0); } } if (FXSELID(sel) == ID_FILE_COPYTO) { command = "copy"; title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = _("Copy "); message += source; } else { message.format(_("Copy %s items"), FXStringVal(num).text()); } } if (FXSELID(sel) == ID_FILE_MOVETO) { command = "move"; title = _("Move"); icon = move_bigicon; if (num == 1) { message = _("Move "); message += source; title = _("Move"); } else { message.format(_("Move %s items"), FXStringVal(num).text()); } } if (FXSELID(sel) == ID_FILE_SYMLINK) { command = "symlink"; title = _("Symlink"); icon = link_bigicon; if (num == 1) { message = _("Symlink "); message += source; target += name; } else { message.format(_("Symlink %s items"), FXStringVal(num).text()); } } // File operation dialog, if needed if (ask_before_copy || (source == target) || (FXSELID(sel) == ID_FILE_COPYTO) || (FXSELID(sel) == ID_FILE_MOVETO) || (FXSELID(sel) == ID_FILE_RENAME) || (FXSELID(sel) == ID_FILE_SYMLINK)) { if (num == 1) { if (FXSELID(sel) == ID_FILE_RENAME) { if (operationdialogrename == NULL) { operationdialogrename = new InputDialog(this, "", "", title, _("To:"), icon); } operationdialogrename->setTitle(title); operationdialogrename->setIcon(icon); operationdialogrename->setMessage(message); operationdialogrename->setText(target); if (::isDirectory(source)) // directory { operationdialogrename->selectAll(); } else { int pos = target.rfind('.'); if (pos <= 0) { operationdialogrename->selectAll(); // no extension or dot file } else { operationdialogrename->setSelection(0, pos); } } int rc = 1; rc = operationdialogrename->execute(PLACEMENT_CURSOR); target = operationdialogrename->getText(); // Target name contains '/' if (target.contains(PATHSEPCHAR)) { MessageBox::error(this, BOX_OK, _("Error"), _("Character '/' is not allowed in file or folder names, operation cancelled")); return(0); } if (!rc) { return(0); } } else { if (operationdialogsingle == NULL) { operationdialogsingle = new BrowseInputDialog(this, "", "", title, _("To:"), icon, BROWSE_INPUT_MIXED); } operationdialogsingle->setTitle(title); operationdialogsingle->setIcon(icon); operationdialogsingle->setMessage(message); operationdialogsingle->setText(target); // Select file name without path if (FXSELID(sel) == ID_FILE_SYMLINK) { int pos = target.rfind(PATHSEPSTRING); if (pos >= 0) { operationdialogsingle->setSelection(pos+1, target.length()); } } operationdialogsingle->setDirectory(targetdir); int rc = 1; rc = operationdialogsingle->execute(PLACEMENT_CURSOR); target = operationdialogsingle->getText(); if (!rc) { return(0); } } } else { if (operationdialogmultiple == NULL) { operationdialogmultiple = new BrowseInputDialog(this, "", "", title, _("To folder:"), icon, BROWSE_INPUT_FOLDER); } operationdialogmultiple->setTitle(title); operationdialogmultiple->setIcon(icon); operationdialogmultiple->setMessage(message); operationdialogmultiple->setText(target); operationdialogmultiple->CursorEnd(); operationdialogmultiple->setDirectory(targetdir); int rc = 1; rc = operationdialogmultiple->execute(PLACEMENT_CURSOR); target = operationdialogmultiple->getText(); if (!rc) { return(0); } } } // Nothing entered if (target == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // Except for rename, an absolute path is required if ((FXSELID(sel) != ID_FILE_RENAME) && !ISPATHSEP(target[0])) { MessageBox::warning(this, BOX_OK, _("Warning"), _("You must enter an absolute path!")); goto x; } // Update target and target parent directory target=::filePath(target,targetdir); if (::isDirectory(target)) { targetdir = target; } else { targetdir = FXPath::directory(target); } // Target directory not writable if (!::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // Multiple sources and non existent destination if ((num > 1) && !::exists(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), target.text()); return(0); } // Multiple sources and target is a file if ((num > 1) && ::isFile(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), target.text()); return(0); } // Target is a directory and is not writable if (::isDirectory(target) && !::isWritable(target)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), target.text()); return(0); } // Target is a file and its parent directory is not writable if (::isFile(target) && !::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // Target parent directory doesn't exist if (!::exists(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), targetdir.text()); return(0); } // Target parent directory is not a directory if (!::isDirectory(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), targetdir.text()); return(0); } // One source File* f = NULL; int ret; if (num == 1) { // An empty source file name corresponds to the ".." file // Don't perform any file operation on it! if (source == "") { return(0); } // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY, num); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); } } else if (command == "rename") { f = new File(this, _("File rename"), RENAME, num); f->create(); ret = f->rename(source, target); // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } } else if (command == "move") { f = new File(this, _("File move"), MOVE, num); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); } } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK, num); f->create(); f->symlink(source, target); } // Shouldn't happen else { exit(EXIT_FAILURE); } getApp()->endWaitCursor(); delete f; } // Multiple sources // Note : rename cannot be used in this case! else if (num > 1) { // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY, num); } else if (command == "move") { f = new File(this, _("File move"), MOVE, num); } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK, num); } // Shouldn't happen else { exit(EXIT_FAILURE); } f->create(); list->setAllowRefresh(false); // Loop on the multiple files for (int i = 0; i < num; i++) { // Individual source file source = src.section('\n', i); // File could have already been moved above in the tree if (!::exists(source)) { continue; } // An empty file name corresponds to the ".." file (why?) // Don't perform any file operation on it! if (source != "") { if (command == "copy") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); break; } } else if (command == "move") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); break; } } else if (command == "symlink") { ret = f->symlink(source, target); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the symlink operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Symlink operation cancelled!")); break; } } // Shouldn't happen else { exit(EXIT_FAILURE); } } } getApp()->endWaitCursor(); delete f; } // Force list refresh list->setAllowRefresh(true); list->onCmdRefresh(0, 0, 0); return(1); } // Go to script directory long SearchPanel::onCmdGoScriptDir(FXObject* o, FXSelector sel, void*) { FXString scriptpath = homedir + PATHSEPSTRING CONFIGPATH PATHSEPSTRING XFECONFIGPATH PATHSEPSTRING SCRIPTPATH; if (!::exists(scriptpath)) { // Create the script directory according to the umask int mask = umask(0); umask(mask); errno = 0; int ret = mkpath(scriptpath.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create script folder %s: %s"), scriptpath.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create script folder %s"), scriptpath.text()); } return(0); } } // Change directory in Xfe ((XFileExplorer*)mainWindow)->setDirectory(scriptpath); // Raise the Xfe window ((XFileExplorer*)mainWindow)->raise(); ((XFileExplorer*)mainWindow)->setFocus(); return(1); } // Clear file list and reset panel status void SearchPanel::clearItems(void) { status->setText(_("0 items")); list->clearItems(); } // Update the status bar long SearchPanel::onUpdStatus(FXObject* sender, FXSelector, void*) { // Update the status bar int item = -1; FXString str, linkto; char size[64]; FXulong sz = 0; FXString hsize = _("0 bytes"); FXString path = list->getDirectory(); int num = list->getNumSelectedItems(); item = list->getCurrentItem(); if (num > 1) { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u) && !list->isItemDirectory(u)) { sz += list->getItemFileSize(u); #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", sz); #else snprintf(size, sizeof(size)-1, "%llu", sz); #endif hsize = ::hSize(size); } } str.format(_("%s in %s selected items"), hsize.text(), FXStringVal(num).text()); } else { if ((num == 0) || (item < 0)) { num = list->getNumItems(); if (num == 1) { str = _("1 item"); } else { str = FXStringVal(num)+_(" items"); } } else // num=1 { FXString string = list->getItemText(item); FXString name = string.section('\t', 0); FXString type = string.section('\t', 3); FXString date = string.section('\t', 5); FXString usr = string.section('\t', 6); FXString grp = string.section('\t', 7); FXString perm = string.section('\t', 8); if (type.contains(_("Broken link"))) { linkto = ::readLink(path+PATHSEPSTRING+name); str = name + "->" + linkto.text() + " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } else if (type.contains(_("Link"))) { linkto = ::readLink(path+PATHSEPSTRING+name); str = name + "->" + linkto.text() + " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } else { for (int u = 0; u < list->getNumItems(); u++) { if (list->isItemSelected(u) && !list->isItemDirectory(u)) { sz = list->getItemFileSize(u); #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", sz); #else snprintf(size, sizeof(size)-1, "%llu", sz); #endif hsize = ::hSize(size); break; } } str = hsize+ " | " + type + " | " + date + " | " + usr + " | " + grp + " | " + perm; } } } status->setText(str); return(1); } // Update the status of the menu items that should be disabled // when the number of selected items is not one long SearchPanel::onUpdSelMult(FXObject* o, FXSelector sel, void*) { int num; num = list->getNumSelectedItems(); if (num == 1) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update the file compare menu item long SearchPanel::onUpdCompare(FXObject* o, FXSelector sel, void*) { // Menu item is enabled only when two files are selected int num; num = list->getNumSelectedItems(); if ((num == 1) || (num == 2)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update menu items and toolbar buttons that are related to file operations long SearchPanel::onUpdMenu(FXObject* o, FXSelector sel, void*) { // Menu item is disabled when nothing is selected int num; num = list->getNumSelectedItems(); if (num == 0) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } return(1); } // Update directory usage menu item long SearchPanel::onUpdDirUsage(FXObject* o, FXSelector, void*) { // Menu item is enabled only when at least two items are selected int num, item; num = list->getNumSelectedItems(&item); if (num > 1) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } #if defined(linux) // Query packages data base long SearchPanel::onCmdPkgQuery(FXObject* o, FXSelector sel, void*) { FXString cmd; // Name of the current selected file FXString file = list->getCurrentFile(); // Command to perform if (pkg_format == DEB_PKG) { cmd = "dpkg -S " + ::quote(file); } else if (pkg_format == RPM_PKG) { cmd = "rpm -qf " + ::quote(file); } else { MessageBox::error(this, BOX_OK, _("Error"), _("No compatible package manager (rpm or dpkg) found!")); return(0); } // Query command cmd += " 2>&1"; // Wait cursor getApp()->beginWaitCursor(); // Perform the command FILE* pcmd = popen(cmd.text(), "r"); if (!pcmd) { MessageBox::error(this, BOX_OK, _("Error"), _("Failed command: %s"), cmd.text()); return(0); } // Get command output char text[10000] = { 0 }; FXString buf; while (fgets(text, sizeof(text), pcmd)) { buf += text; } snprintf(text, sizeof(text)-1, "%s", buf.text()); // Close the stream and display error message if any if ((pclose(pcmd) == -1) && (errno != ECHILD)) // ECHILD can be set if the child was caught by sigHarvest { getApp()->endWaitCursor(); MessageBox::error(this, BOX_OK, _("Error"), "%s", text); return(0); } getApp()->endWaitCursor(); // Get package name, or detect when the file isn't in a package FXString str = text; if (pkg_format == DEB_PKG) // DEB based distribution { FXString substr = str.section(':', 1); if (substr.length()-2 == file.length()) // No other word than the file name { str = str.section(':', 0); // (plus ' ' at the beginning and '\n' at the end) } else { str = ""; } } if (pkg_format == RPM_PKG) // RPM based distribution { if (str.find(' ') != -1) // Space character exists in the string { str = ""; } } // Display the related output message FXString message; if (str == "") { message.format(_("File %s does not belong to any package."), file.text()); MessageBox::information(this, BOX_OK, _("Information"), "%s", message.text()); } else { message.format(_("File %s belongs to the package: %s"), file.text(), str.text()); MessageBox::information(this, BOX_OK, _("Information"), "%s", message.text()); } return(1); } // Update the package query menu long SearchPanel::onUpdPkgQuery(FXObject* o, FXSelector sel, void*) { // Menu item is disabled when multiple selection // or when unique selection and the selected item is a directory int num; num = list->getNumSelectedItems(); if (num > 1) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else // num=1 { int item = list->getCurrentItem(); if ((item >= 0) && list->isItemDirectory(item)) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } } return(1); } #endif xfe-1.42/src/xfeutils.h0000644000175100017510000003413512634230017011754 00000000000000#ifndef XFEUTILS_H #define XFEUTILS_H // The functions comparenat(), comparewnat(), comparenat_left(), comparenat_right() // comparewnat_left() and comparewnat_right() for natural sort order // are adapted from the following software: /* * strnatcmp.c -- Perform 'natural order' comparisons of strings in C. * Copyright (C) 2000, 2004 by Martin Pool * * 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 this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * 3. This notice may not be removed or altered from any source distribution. */ // The convaccents() function and the accents table are adapted from // code found here: http://rosettacode.org/wiki/Natural_sorting #include #include #include #include #include #include #include #include // Global variables #if defined(linux) extern FXStringDict* mtdevices; extern FXStringDict* updevices; #endif // Vector of strings typedef std::vector vector_FXString; // Single click types enum { SINGLE_CLICK_NONE, SINGLE_CLICK_DIR, SINGLE_CLICK_DIR_FILE, }; // Wait cursor states enum { BEGIN_CURSOR, END_CURSOR, QUERY_CURSOR }; // Indexes of default programs enum { NONE = 0, TXTVIEWER = 1, TXTEDITOR = 2, IMGVIEWER = 3, IMGEDITOR = 4, PDFVIEWER = 5, AUDIOPLAYER = 6, VIDEOPLAYER = 7, ARCHIVER = 8, }; // Start directory modes enum { START_HOMEDIR = 0, START_CURRENTDIR = 1, START_LASTDIR = 2, }; // Note : some inline functions must be declared in the header file or they won't compile! static inline int comparenat_right(const char* a, const char* b) { int bias = 0; /* The longest run of digits wins. That aside, the greatest * value wins, but we can't know that it will until we've scanned * both numbers to know that they have the same magnitude, so we * remember it in BIAS. */ for ( ; ; a++, b++) { if (!isdigit(*a) && !isdigit(*b)) { return(bias); } else if (!isdigit(*a)) { return(-1); } else if (!isdigit(*b)) { return(+1); } else if (*a < *b) { if (!bias) { bias = -1; } } else if (*a > *b) { if (!bias) { bias = +1; } } else if (!*a && !*b) { return(bias); } } return(0); } static inline int comparenat_left(const char* a, const char* b) { /* Compare two left-aligned numbers: the first to have a * different value wins. */ for ( ; ; a++, b++) { if (!isdigit(*a) && !isdigit(*b)) { return(0); } else if (!isdigit(*a)) { return(-1); } else if (!isdigit(*b)) { return(+1); } else if (*a < *b) { return(-1); } else if (*a > *b) { return(+1); } } return(0); } // Perform natural comparison on single byte strings (so foo10 comes after foo2, 0.2foo comes before 10.2foo, etc.) static inline int comparenat(const char* a, const char* b, FXbool igncase) { int ai, bi; char ca, cb; int fractional, result; ai = bi = 0; while (1) { ca = a[ai]; cb = b[bi]; if ((ca == '\t') && (cb == '\t')) { return(0); } /* skip over leading spaces or zeros */ while (isspace(ca)) { ca = a[++ai]; } while (isspace(cb)) { cb = b[++bi]; } /* process run of digits */ if (isdigit(ca) && isdigit(cb)) { fractional = (ca == '0' || cb == '0'); if (fractional) { if ((result = comparenat_left(a+ai, b+bi)) != 0) { return(result); } } else { if ((result = comparenat_right(a+ai, b+bi)) != 0) { return(result); } } } if (!ca && !cb) { /* The strings compare the same. Perhaps the caller * will want to call strcmp to break the tie. */ return(0); } if (igncase) { ca = tolower(ca); cb = tolower(cb); } if (ca < cb) { return(-1); } else if (ca > cb) { return(+1); } ++ai; ++bi; } } // Lookup table of accents and ligatures // For comparisons, À is converted to A, é to e, etc. static const wchar_t* const accents[] = /* copied from Perl6 code */ { L"À", L"A", L"Á", L"A", L"Â", L"A", L"Ã", L"A", L"Ä", L"A", L"Å", L"A", L"à", L"a", L"á", L"a", L"â", L"a", L"ã", L"a", L"ä", L"a", L"å", L"a", L"Ç", L"C", L"ç", L"c", L"È", L"E", L"É", L"E", L"Ê", L"E", L"Ë", L"E", L"è", L"e", L"é", L"e", L"ê", L"e", L"ë", L"e", L"Ì", L"I", L"Í", L"I", L"Î", L"I", L"Ï", L"I", L"ì", L"i", L"í", L"i", L"î", L"i", L"ï", L"i", L"Ò", L"O", L"Ó", L"O", L"Ô", L"O", L"Õ", L"O", L"Ö", L"O", L"Ø", L"O", L"ò", L"o", L"ó", L"o", L"ô", L"o", L"õ", L"o", L"ö", L"o", L"ø", L"o", L"Ñ", L"N", L"ñ", L"n", L"Ù", L"U", L"Ú", L"U", L"Û", L"U", L"Ü", L"U", L"ù", L"u", L"ú", L"u", L"û", L"u", L"ü", L"u", L"Ý", L"Y", L"ÿ", L"y", L"ý", L"y", L"Þ", L"TH", L"þ", L"th", L"Ð", L"TH", L"ð", L"th", L"Æ", L"AE", L"æ", L"ae", L"ß", L"ss", L"ffl", L"ffl", L"ffi", L"ffi", L"fi", L"fi", L"ff", L"ff", L"fl", L"fl", L"ſ", L"s", L"ʒ", L"z", L"st", L"st", L"œ", L"oe", /* ... come on ... */ }; // Convert accents and ligatures to Ascii for comparison purpose // So when comparing wide chars, À is evaluated as A, é as e, etc. static inline wchar_t convaccents(const wchar_t wc, const wchar_t* const* tbl, int len) { // Don't convert an Ascii char if (wc < 127) { return(wc); } wchar_t wr = wc; // Search the lookup table // and get the converted char if any for (int n = 0; n < len; n += 2) { if (wc != tbl[n][0]) { continue; } else { wr = tbl[n+1][0]; break; } } return(wr); } static inline int comparewnat_right(const wchar_t* wa, const wchar_t* wb) { int bias = 0; /* The longest run of digits wins. That aside, the greatest * value wins, but we can't know that it will until we've scanned * both numbers to know that they have the same magnitude, so we * remember it in BIAS. */ for ( ; ; wa++, wb++) { if (!iswdigit(*wa) && !iswdigit(*wb)) { return(bias); } else if (!iswdigit(*wa)) { return(-1); } else if (!iswdigit(*wb)) { return(+1); } else if (*wa < *wb) { if (!bias) { bias = -1; } } else if (*wa > *wb) { if (!bias) { bias = +1; } } else if (!*wa && !*wb) { return(bias); } } return(0); } static inline int comparewnat_left(const wchar_t* wa, const wchar_t* wb) { /* Compare two left-aligned numbers: the first to have a * different value wins. */ for ( ; ; wa++, wb++) { if (!iswdigit(*wa) && !iswdigit(*wb)) { return(0); } else if (!iswdigit(*wa)) { return(-1); } else if (!iswdigit(*wb)) { return(+1); } else if (*wa < *wb) { return(-1); } else if (*wa > *wb) { return(+1); } } return(0); } // Perform natural comparison on wide strings (so foo10 comes after foo2, 0.2foo comes before 10.2foo, etc.) static inline int comparewnat(const wchar_t* wa, const wchar_t* wb, int igncase) { wint_t ai, bi; wchar_t wca, wcb; int fractional, result; ai = bi = 0; while (1) { wca = wa[ai]; wcb = wb[bi]; /* skip over leading spaces or zeros */ while (iswspace(wca)) { wca = wa[++ai]; } while (iswspace(wcb)) { wcb = wb[++bi]; } /* convert accents */ wca = convaccents(wca, accents, sizeof(accents)/sizeof(wchar_t*)); wcb = convaccents(wcb, accents, sizeof(accents)/sizeof(wchar_t*)); /* process run of digits */ if (iswdigit(wca) && iswdigit(wcb)) { fractional = (wca == L'0' || wcb == L'0'); if (fractional) { if ((result = comparewnat_left(wa+ai, wb+bi)) != 0) { return(result); } } else { if ((result = comparewnat_right(wa+ai, wb+bi)) != 0) { return(result); } } } if (!wca && !wcb) { /* The strings compare the same. Perhaps the caller * will want to call strcmp to break the tie. */ return(0); } if (igncase) { wca = towlower(wca); wcb = towlower(wcb); } if (wca < wcb) { return(-1); } else if (wca > wcb) { return(+1); } ++ai; ++bi; } } // Convert a character to lower case static inline int toLower(int c) { return('A' <= c && c <= 'Z' ? c + 32 : c); } // To test if two strings are equal (strcmp replacement, thanks to Francesco Abbate) static inline int streq(const char* a, const char* b) { if ((a == NULL) || (b == NULL)) { return(0); } return(strcmp(a, b) == 0); } // Convert a string to lower cases and returns the string size static inline void strlow(char* str) { while (*str) { *str = ::toLower(*str); ++str; } } // Replacement of the stat function static inline int statrep(const char* filename, struct stat* buf) { #if defined(linux) static int ret; // It's a mount point if (mtdevices->find(filename)) { // Mount point is down if (streq(updevices->find(filename), "down")) { return(-1); } // Mount point is up else { ret = stat(filename, buf); if ((ret == -1) && (errno != EACCES)) { updevices->remove(filename); updevices->insert(filename, "down"); } return(ret); } } // It's not a mount point else #endif return(stat(filename, buf)); } // Replacement of the lstat function static inline int lstatrep(const char* filename, struct stat* buf) { #if defined(linux) static int ret; // It's a mount point if (mtdevices->find(filename)) { // Mount point is down if (streq(updevices->find(filename), "down")) { return(-1); } // Mount point is up else { ret = lstat(filename, buf); if ((ret == -1) && (errno != EACCES)) { updevices->remove(filename); updevices->insert(filename, "down"); } return(ret); } } // It's not a mount point else #endif return(lstat(filename, buf)); } FXHotKey _parseAccel(const FXString&); FXbool existCommand(const FXString); FXString getKeybinding(FXEvent*); int mkpath(const char*, mode_t); FXString createTrashpathname(FXString, FXString); int createTrashinfo(FXString, FXString, FXString, FXString); FXString mimetype(FXString); FXString quote(FXString); FXbool isUtf8(const char*, FXuint); int statrep(const char*, struct stat*); int lstatrep(const char*, struct stat*); #if defined(linux) int lstatmt(const char*, struct stat*); #endif size_t strlcpy(char*, const char*, size_t); size_t strlcat(char*, const char*, size_t); FXulong dirsize(const char*); FXulong pathsize(char*, FXuint*, FXuint*, FXulong*, int* = NULL); FXString hSize(char*); FXString cleanPath(const FXString); FXString filePath(const FXString); FXString filePath(const FXString, const FXString); FXString fileFromURI(FXString); FXString fileToURI(const FXString&); FXString buildCopyName(const FXString&); FXlong deltime(FXString); int isEmptyDir(const FXString); int hasSubDirs(const FXString); FXbool exists(const FXString&); FXbool isDirectory(const FXString&); FXbool isFile(const FXString&); FXbool isGroupMember(gid_t); FXbool isWritable(const FXString&); FXbool isReadable(const FXString&); FXbool isReadExecutable(const FXString&); FXbool isLink(const FXString&); FXbool info(const FXString&, struct stat&); FXString permissions(FXuint); FXString readLink(const FXString&); FXbool identical(const FXString&, const FXString&); int setWaitCursor(FXApp*, FXuint); int runst(FXString); FXString getCommandOutput(FXString); FXIcon* loadiconfile(FXApp*, const FXString, const FXString); FXString truncLine(FXString, FXuint); FXString multiLines(FXString, FXuint); #endif xfe-1.42/src/Keybindings.h0000644000175100017510000000777612625057514012403 00000000000000#ifndef KEYBINDINGS_H #define KEYBINDINGS_H #include "DialogBox.h" #include "IconList.h" class KeybindingsBox : public DialogBox { FXDECLARE(KeybindingsBox) protected: IconList* glbBindingsList; IconList* xfeBindingsList; IconList* xfiBindingsList; IconList* xfwBindingsList; FXStringDict* glbBindingsDict; FXStringDict* xfeBindingsDict; FXStringDict* xfiBindingsDict; FXStringDict* xfwBindingsDict; FXStringDict* glbBindingsDict_prev; FXStringDict* xfeBindingsDict_prev; FXStringDict* xfiBindingsDict_prev; FXStringDict* xfwBindingsDict_prev; FXbool changed; private: KeybindingsBox() : glbBindingsList(NULL), xfeBindingsList(NULL), xfiBindingsList(NULL), xfwBindingsList(NULL), glbBindingsDict(NULL), xfeBindingsDict(NULL), xfiBindingsDict(NULL), xfwBindingsDict(NULL), glbBindingsDict_prev(NULL), xfeBindingsDict_prev(NULL), xfiBindingsDict_prev(NULL), xfwBindingsDict_prev(NULL), changed(false) {} public: enum { ID_ACCEPT=DialogBox::ID_LAST, ID_CANCEL, ID_GLB_BINDINGS_LIST, ID_XFE_BINDINGS_LIST, ID_XFI_BINDINGS_LIST, ID_XFW_BINDINGS_LIST, ID_GLB_SORT_BY_ACTIONNAME, ID_GLB_SORT_BY_REGISTRYKEY, ID_GLB_SORT_BY_KEYBINDING, ID_XFE_SORT_BY_ACTIONNAME, ID_XFE_SORT_BY_REGISTRYKEY, ID_XFE_SORT_BY_KEYBINDING, ID_XFI_SORT_BY_ACTIONNAME, ID_XFI_SORT_BY_REGISTRYKEY, ID_XFI_SORT_BY_KEYBINDING, ID_XFW_SORT_BY_ACTIONNAME, ID_XFW_SORT_BY_REGISTRYKEY, ID_XFW_SORT_BY_KEYBINDING, ID_LAST }; KeybindingsBox(FXWindow*, FXStringDict*, FXStringDict*, FXStringDict*, FXStringDict*); virtual void create(); virtual ~KeybindingsBox(); FXuint execute(FXuint); long onCmdAccept(FXObject*, FXSelector, void*); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdDefineGlbKeybindings(FXObject*, FXSelector, void*); long onCmdDefineXfeKeybindings(FXObject*, FXSelector, void*); long onCmdDefineXfiKeybindings(FXObject*, FXSelector, void*); long onCmdDefineXfwKeybindings(FXObject*, FXSelector, void*); long onCmdGlbSortByActionName(FXObject*, FXSelector, void*); long onCmdGlbSortByRegistryKey(FXObject*, FXSelector, void*); long onCmdGlbSortByKeyBinding(FXObject*, FXSelector, void*); long onCmdXfeSortByActionName(FXObject*, FXSelector, void*); long onCmdXfeSortByRegistryKey(FXObject*, FXSelector, void*); long onCmdXfeSortByKeyBinding(FXObject*, FXSelector, void*); long onCmdXfiSortByActionName(FXObject*, FXSelector, void*); long onCmdXfiSortByRegistryKey(FXObject*, FXSelector, void*); long onCmdXfiSortByKeyBinding(FXObject*, FXSelector, void*); long onCmdXfwSortByActionName(FXObject*, FXSelector, void*); long onCmdXfwSortByRegistryKey(FXObject*, FXSelector, void*); long onCmdXfwSortByKeyBinding(FXObject*, FXSelector, void*); long onCmdGlbHeaderClicked(FXObject*, FXSelector, void*); long onCmdXfeHeaderClicked(FXObject*, FXSelector, void*); long onCmdXfiHeaderClicked(FXObject*, FXSelector, void*); long onCmdXfwHeaderClicked(FXObject*, FXSelector, void*); long onUpdGlbHeader(FXObject*, FXSelector, void*); long onUpdXfeHeader(FXObject*, FXSelector, void*); long onUpdXfiHeader(FXObject*, FXSelector, void*); long onUpdXfwHeader(FXObject*, FXSelector, void*); public: static int compareSection(const char* p, const char* q, int s); static int ascendingActionName(const IconItem* a, const IconItem* b); static int descendingActionName(const IconItem* a, const IconItem* b); static int ascendingRegistryKey(const IconItem* a, const IconItem* b); static int descendingRegistryKey(const IconItem* a, const IconItem* b); static int ascendingKeybinding(const IconItem* a, const IconItem* b); static int descendingKeybinding(const IconItem* a, const IconItem* b); }; #endif xfe-1.42/src/File.cpp0000644000175100017510000016545712727535534011356 00000000000000// File management class with progress dialog #include "config.h" #include "i18n.h" #include #include #if defined(linux) #include #endif // For Sun compatibility #ifdef __sun #include #endif #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "OverwriteBox.h" #include "MessageBox.h" #include "CommandWindow.h" #include "File.h" // Delay before the progress bar should be shown (ms) #define SHOW_PROGRESSBAR_DELAY 1000 // Progress dialog width #define PROGRESSDIALOG_WIDTH 200 // Message Map FXDEFMAP(File) FileMap[] = { FXMAPFUNC(SEL_COMMAND, File::ID_CANCEL_BUTTON, File::onCmdCancel), FXMAPFUNC(SEL_TIMEOUT, File::ID_TIMEOUT, File::onTimeout), }; // Object implementation FXIMPLEMENT(File, DialogBox, FileMap, ARRAYNUMBER(FileMap)) // Construct object File::File(FXWindow* owner, FXString title, const FXuint operation, const FXuint num) : DialogBox(owner, title, DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE) { // Progress window FXPacker* buttons = new FXPacker(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 10, 10, PROGRESSDIALOG_WIDTH, PROGRESSDIALOG_WIDTH, 5, 5); FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Cancel Button cancelButton = new FXButton(buttons, _("&Cancel"), NULL, this, File::ID_CANCEL_BUTTON, FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_X, 0, 0, 0, 0, 20, 20); cancelButton->setFocus(); cancelButton->addHotKey(KEY_Escape); cancelled = false; // Progress bar progressbar = NULL; // Progress bar colors (foreground and background) FXuint r, g, b, l; FXColor textcolor, textaltcolor; FXColor fgcolor = getApp()->reg().readColorEntry("SETTINGS", "pbarcolor", FXRGB(0, 0, 255)); FXColor bgcolor = getApp()->reg().readColorEntry("SETTINGS", "backcolor", FXRGB(255, 255, 255)); // Text color is white or black depending on the background luminance r = FXREDVAL(bgcolor); g = FXGREENVAL(bgcolor); b = FXBLUEVAL(bgcolor); l = (FXuint)(0.3*r+0.59*g+0.11*b); if (l < 150) { textcolor = FXRGB(255, 255, 255); } else { textcolor = FXRGB(0, 0, 0); } // Alternate text color is white or black depending on the foreground luminance r = FXREDVAL(fgcolor); g = FXGREENVAL(fgcolor); b = FXBLUEVAL(fgcolor); l = (FXuint)(0.3*r+0.59*g+0.11*b); if (l < 150) { textaltcolor = FXRGB(255, 255, 255); } else { textaltcolor = FXRGB(0, 0, 0); } // Progress dialog depends on the file operation switch (operation) { case COPY: // Labels and progress bar uplabel = new FXLabel(contents, _("Source:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("Target:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); progressbar = new FXProgressBar(contents, NULL, 0, LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK|PROGRESSBAR_PERCENTAGE, 0, 0, 0, 0, PROGRESSDIALOG_WIDTH); progressbar->setBarColor(fgcolor); progressbar->setTextColor(textcolor); progressbar->setTextAltColor(textaltcolor); datatext = _("Copied data:"); datalabel = new FXLabel(contents, datatext, NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); // Timer on getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); break; case MOVE: // Labels and progress bar uplabel = new FXLabel(contents, _("Source:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("Target:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); progressbar = new FXProgressBar(contents, NULL, 0, LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK|PROGRESSBAR_PERCENTAGE, 0, 0, 0, 0, PROGRESSDIALOG_WIDTH); progressbar->setBarColor(fgcolor); progressbar->setTextColor(textcolor); progressbar->setTextAltColor(textaltcolor); datatext = _("Moved data:"); datalabel = new FXLabel(contents, datatext, NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); // Timer on getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); break; case DELETE: // Labels uplabel = new FXLabel(contents, _("Delete:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("From:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); datalabel = NULL; // Timer on getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); break; case CHMOD: // Labels uplabel = new FXLabel(contents, _("Changing permissions..."), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("File:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); datalabel = NULL; // Timer on getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); break; case CHOWN: // Labels uplabel = new FXLabel(contents, _("Changing owner..."), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("File:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); datalabel = NULL; // Timer on getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); break; #if defined(linux) case MOUNT: // Labels uplabel = new FXLabel(contents, _("Mount file system..."), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("Mount the folder:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); datalabel = NULL; break; case UNMOUNT: // Labels uplabel = new FXLabel(contents, _("Unmount file system..."), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); downlabel = new FXLabel(contents, _("Unmount the folder:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_X); datalabel = NULL; break; #endif default: // Other : RENAME, SYMLINK, ARCHIVE, EXTRACT, PKG_INSTALL, PKG_UNINSTALL // Progress dialog not used uplabel = NULL; downlabel = NULL; datalabel = NULL; } FXbool confirm_overwrite = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_overwrite", true); // Initialize the overwrite flags if (confirm_overwrite) { overwrite = false; overwrite_all = false; skip_all = false; } else { overwrite = true; overwrite_all = true; skip_all = false; } // Total data read totaldata = 0; // Owner window ownerwin = owner; // Number of selected items numsel = num; // Error message box mbox = new MessageBox(ownerwin, _("Error"), "", errorbigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); } // Destructor File::~File() { getApp()->removeTimeout(this, File::ID_TIMEOUT); delete progressbar; delete mbox; } // Create and initialize void File::create() { DialogBox::create(); } // Force timeout for progress dialog (used before opening confirmation or error dialogs) void File::forceTimeout(void) { getApp()->removeTimeout(this, File::ID_TIMEOUT); hide(); getApp()->forceRefresh(); getApp()->flush(); } // Restart timeout for progress dialog (used after closing confirmation or error dialogs) void File::restartTimeout(void) { getApp()->addTimeout(this, File::ID_TIMEOUT, SHOW_PROGRESSBAR_DELAY); } // Read bytes FXlong File::fullread(int fd, FXuchar* ptr, FXlong len) { FXlong nread; #ifdef EINTR do { nread = read(fd, ptr, len); } while (nread < 0 && errno == EINTR); #else nread = read(fd, ptr, len); #endif return(nread); } // Write bytes FXlong File::fullwrite(int fd, const FXuchar* ptr, FXlong len) { FXlong nwritten, ntotalwritten = 0; while (len > 0) { nwritten = write(fd, ptr, len); if (nwritten < 0) { #ifdef EINTR if (errno == EINTR) { continue; } #endif return(-1); } ntotalwritten += nwritten; ptr += nwritten; len -= nwritten; } return(ntotalwritten); } // Construct overwrite dialog and get user answer FXuint File::getOverwriteAnswer(FXString srcpath, FXString tgtpath) { // Message string FXString msg; if (::isDirectory(tgtpath)) { msg.format(_("Folder %s already exists.\nOverwrite?\n=> Caution, files within this folder could be overwritten!"), tgtpath.text()); } else { msg.format(_("File %s already exists.\nOverwrite?"), tgtpath.text()); } // Read time format FXString timeformat = getApp()->reg().readStringEntry("SETTINGS", "time_format", DEFAULT_TIME_FORMAT); // Get the size and mtime of the source and target struct stat linfo; FXString srcsize, srcmtime, tgtsize, tgtmtime; FXbool statsrc = false, stattgt = false; if (lstatrep(srcpath.text(), &linfo) == 0) { statsrc = true; srcmtime = FXSystem::time(timeformat.text(), linfo.st_mtime); char buf[MAXPATHLEN]; if (S_ISDIR(linfo.st_mode)) // Folder { FXulong dirsize = 0; FXuint nbfiles = 0, nbsubfolders = 0; FXulong totalsize=0; strlcpy(buf, srcpath.text(), srcpath.length()+1); dirsize = pathsize(buf, &nbfiles, &nbsubfolders,&totalsize); #if __WORDSIZE == 64 snprintf(buf, sizeof(buf), "%lu", dirsize); #else snprintf(buf, sizeof(buf), "%llu", dirsize); #endif } else // File #if __WORDSIZE == 64 { snprintf(buf, sizeof(buf), "%lu", (FXulong)linfo.st_size); } #else { snprintf(buf, sizeof(buf), "%llu", (FXulong)linfo.st_size); } #endif srcsize = ::hSize(buf); } if (lstatrep(tgtpath.text(), &linfo) == 0) { stattgt = true; tgtmtime = FXSystem::time(timeformat.text(), linfo.st_mtime); char buf[64]; if (S_ISDIR(linfo.st_mode)) // Folder { FXulong dirsize = 0; FXuint nbfiles = 0, nbsubfolders = 0; FXulong totalsize=0; strlcpy(buf, tgtpath.text(), tgtpath.length()+1); dirsize = pathsize(buf, &nbfiles, &nbsubfolders,&totalsize); #if __WORDSIZE == 64 snprintf(buf, sizeof(buf), "%lu", dirsize); #else snprintf(buf, sizeof(buf), "%llu", dirsize); #endif } else // File #if __WORDSIZE == 64 { snprintf(buf, sizeof(buf), "%lu", (FXulong)linfo.st_size); } #else { snprintf(buf, sizeof(buf), "%llu", (FXulong)linfo.st_size); } #endif tgtsize = ::hSize(buf); } // Overwrite dialog OverwriteBox* dlg; if (statsrc && stattgt) { if (numsel == 1) { dlg = new OverwriteBox(ownerwin, _("Confirm Overwrite"), msg, srcsize, srcmtime, tgtsize, tgtmtime, OVWBOX_SINGLE_FILE); } else { dlg = new OverwriteBox(ownerwin, _("Confirm Overwrite"), msg, srcsize, srcmtime, tgtsize, tgtmtime); } } else { if (numsel == 1) { dlg = new OverwriteBox(ownerwin, _("Confirm Overwrite"), msg, OVWBOX_SINGLE_FILE); } else { dlg = new OverwriteBox(ownerwin, _("Confirm Overwrite"), msg); } } FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; restartTimeout(); return(answer); } // Copy ordinary file int File::copyfile(const FXString& source, const FXString& target, const FXbool preserve_date) { FXString destfile; FXuchar buffer[32768]; struct stat info; struct utimbuf timbuf; FXlong nread, nwritten; FXlong size, dataread = 0; int src, dst; int ok = false; FXbool warn = getApp()->reg().readUnsignedEntry("OPTIONS", "preserve_date_warn", true); if ((src = ::open(source.text(), O_RDONLY)) >= 0) { if (statrep(source.text(), &info) == 0) { // If destination is a directory if (::isDirectory(target)) { destfile = target+PATHSEPSTRING+FXPath::name(source); } else { destfile = target; } // Copy file block by block size = info.st_size; if ((dst = ::open(destfile.text(), O_WRONLY|O_CREAT|O_TRUNC, info.st_mode)) >= 0) { while (1) { errno = 0; nread = File::fullread(src, buffer, sizeof(buffer)); int errcode = errno; if (nread < 0) { forceTimeout(); FXString str; if (errcode) { str.format(_("Can't copy file %s: %s"), target.text(), strerror(errcode)); } else { str.format(_("Can't copy file %s"), target.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { ::close(dst); ::close(src); cancelled = true; return(false); } } if (nread == 0) { break; } // Force timeout checking for progress dialog checkTimeout(); // Set percentage value for progress dialog dataread += nread; totaldata += nread; if (progressbar) { // Percentage int pct = (100.0*dataread)/size; progressbar->setProgress(pct); // Total data copied FXString hsize; char size[64]; #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%ld", totaldata); #else snprintf(size, sizeof(size)-1, "%lld", totaldata); #endif hsize = ::hSize(size); #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%s %s", datatext.text(), hsize.text()); #else snprintf(size, sizeof(size)-1, "%s %s", datatext.text(), hsize.text()); #endif datalabel->setText(size); } // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Source: ")+source; if (uplabel) { uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } label = _("Target: ")+target; if (downlabel) { downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } getApp()->repaint(); // If cancel button was clicked, close files and return if (cancelled) { ::close(dst); ::close(src); return(false); } errno = 0; nwritten = File::fullwrite(dst, buffer, nread); errcode = errno; if (nwritten < 0) { forceTimeout(); FXString str; if (errcode) { str.format(_("Can't copy file %s: %s"), target.text(), strerror(errcode)); } else { str.format(_("Can't copy file %s"), target.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { ::close(dst); ::close(src); cancelled = true; return(false); } } } ok = true; ::close(dst); // Keep original date if asked if (preserve_date) { timbuf.actime = info.st_atime; timbuf.modtime = info.st_mtime; errno = 0; int rc = utime(destfile.text(), &timbuf); int errcode = errno; if (warn && rc) { forceTimeout(); FXString str; if (errcode) { str.format(_("Can't preserve date when copying file %s : %s"), target.text(), strerror(errcode)); } else { str.format(_("Can't preserve date when copying file %s"), target.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { ::close(src); cancelled = true; return(false); } } } } #if defined(linux) // If source file is on a ISO9660 file system (CD or DVD, thus read-only) // then add to the target the write permission for the user if (ok) { struct statfs fs; if ((statfs(source.text(), &fs) == 0) && (fs.f_type == 0x9660)) { ::chmod(target.text(), info.st_mode|S_IWUSR); } } #endif } ::close(src); } // File cannot be opened else { forceTimeout(); int errcode = errno; FXString str; if (errcode) { str.format(_("Can't copy file %s: %s"), target.text(), strerror(errcode)); } else { str.format(_("Can't copy file %s"), target.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { cancelled = true; return(false); } ok = -1; // Prevent displaying an error message // in the calling function } return(ok); } // Copy directory int File::copydir(const FXString& source, const FXString& target, struct stat& parentinfo, inodelist* inodes, const FXbool preserve_date) { DIR* dirp; struct dirent* dp; struct stat linfo; struct utimbuf timbuf; inodelist* in, inode; FXString destfile, oldchild, newchild; FXbool warn = getApp()->reg().readUnsignedEntry("OPTIONS", "preserve_date_warn", true); // Destination file destfile = target; // See if visited this inode already for (in = inodes; in; in = in->next) { if (in->st_ino == parentinfo.st_ino) { return(true); } } // Try make directory, if none exists yet if ((mkdir(destfile.text(), parentinfo.st_mode|S_IWUSR) != 0) && (errno != EEXIST)) { return(false); } // Can we stat it if ((lstatrep(destfile.text(), &linfo) != 0) || !S_ISDIR(linfo.st_mode)) { return(false); } // Try open directory to copy dirp = opendir(source.text()); if (!dirp) { return(false); } // Add this to the list inode.st_ino = linfo.st_ino; inode.next = inodes; // Copy stuff while ((dp = readdir(dirp)) != NULL) { if ((dp->d_name[0] != '.') || ((dp->d_name[1] != '\0') && ((dp->d_name[1] != '.') || (dp->d_name[2] != '\0')))) { oldchild = source; if (!ISPATHSEP(oldchild[oldchild.length()-1])) { oldchild.append(PATHSEP); } oldchild.append(dp->d_name); newchild = destfile; if (!ISPATHSEP(newchild[newchild.length()-1])) { newchild.append(PATHSEP); } newchild.append(dp->d_name); if (!copyrec(oldchild, newchild, &inode, preserve_date)) { // If the cancel button was pressed if (cancelled) { closedir(dirp); return(false); } // Or a permission problem occured else { FXString str; if (::isDirectory(oldchild)) { str.format(_("Can't copy folder %s : Permission denied"), oldchild.text()); } else { str.format(_("Can't copy file %s : Permission denied"), oldchild.text()); } forceTimeout(); mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { closedir(dirp); cancelled = true; return(false); } } } } } // Close directory closedir(dirp); // Keep original date if asked if (preserve_date) { if (lstatrep(source.text(), &linfo) == 0) { timbuf.actime = linfo.st_atime; timbuf.modtime = linfo.st_mtime; errno = 0; int rc = utime(destfile.text(), &timbuf); int errcode = errno; if (warn && rc) { forceTimeout(); FXString str; if (errcode) { str.format(_("Can't preserve date when copying folder %s: %s"), target.text(), strerror(errcode)); } else { str.format(_("Can't preserve date when copying folder %s"), target.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { cancelled = true; return(false); } } } } // Success return(true); } // Recursive copy int File::copyrec(const FXString& source, const FXString& target, inodelist* inodes, const FXbool preserve_date) { struct stat linfo1, linfo2; // Source file or directory does not exist if (lstatrep(source.text(), &linfo1) != 0) { return(false); } // If target is not a directory, remove it if allowed if (lstatrep(target.text(), &linfo2) == 0) { if (!S_ISDIR(linfo2.st_mode)) { if (!(overwrite|overwrite_all)) { return(false); } if (::unlink(target.text()) != 0) { return(false); } } } // Source is directory: copy recursively if (S_ISDIR(linfo1.st_mode)) { return(File::copydir(source, target, linfo1, inodes, preserve_date)); } // Source is regular file: copy block by block if (S_ISREG(linfo1.st_mode)) { return(File::copyfile(source, target, preserve_date)); } // Remove target if it already exists if (::exists(target)) { int ret = File::remove(target); if (!ret) { return(false); } } // Source is fifo: make a new one if (S_ISFIFO(linfo1.st_mode)) { return(mkfifo(target.text(), linfo1.st_mode)); } // Source is device: make a new one if (S_ISBLK(linfo1.st_mode) || S_ISCHR(linfo1.st_mode) || S_ISSOCK(linfo1.st_mode)) { return(mknod(target.text(), linfo1.st_mode, linfo1.st_rdev) == 0); } // Source is symbolic link: make a new one if (S_ISLNK(linfo1.st_mode)) { FXString lnkfile = ::readLink(source); return(::symlink(lnkfile.text(), target.text()) == 0); } // This shouldn't happen return(false); } // Copy file (with progress dialog) // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function int File::copy(const FXString& source, const FXString& target, const FXbool confirm_dialog, const FXbool preserve_date) { FXString targetfile; // Source doesn't exist if (!::exists(source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Source %s doesn't exist"), source.text()); return(-1); } // Source and target are identical if (::identical(target, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), target.text()); return(-1); } // Source path is included into target path FXString str = source + PATHSEPSTRING; if (target.left(str.length()) == str) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Target %s is a sub-folder of source"), target.text()); return(-1); } // Target is an existing directory if (::isDirectory(target)) { targetfile = target+PATHSEPSTRING+FXPath::name(source); } else { targetfile = target; } // Source and target are identical => add a suffix to the name if (::identical(source, targetfile)) { targetfile = ::buildCopyName(::cleanPath(targetfile)); // Remove trailing / if any } // Source and target file are identical if (::identical(targetfile, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), targetfile.text()); return(-1); } // Target already exists if (::exists(targetfile)) { // Overwrite dialog if necessary if ( (!(overwrite_all | skip_all)) & confirm_dialog ) { FXString label = _("Source: ")+source; if (uplabel) { uplabel->setText(::multiLines(label, MAX_MESSAGE_LENGTH)); } label = _("Target: ")+targetfile; if (downlabel) { downlabel->setText(::multiLines(label, MAX_MESSAGE_LENGTH)); } getApp()->repaint(); forceTimeout(); FXuint answer = getOverwriteAnswer(source, targetfile); switch (answer) { // Cancel case 0: forceTimeout(); cancelled = true; return(false); break; // Overwrite case 1: overwrite = true; break; // Overwrite all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } if ( (!(overwrite | overwrite_all)) | skip_all ) { return(true); } // Remove targetfile if source is not a directory if (!::isDirectory(source)) { if (File::remove(targetfile) == false) { forceTimeout(); return(false); } } } // Copy file or directory return(File::copyrec(source, targetfile, NULL, preserve_date)); } // Remove file or directory (with progress dialog) // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function int File::remove(const FXString& file) { FXString dirname; struct stat linfo; static FXbool ISDIR = false; // Caution! ISDIR is common to all File instances, is that we want? if (lstatrep(file.text(), &linfo) == 0) { // It is a directory if (S_ISDIR(linfo.st_mode)) { DIR* dirp = opendir(file.text()); if (dirp) { struct dirent* dp; FXString child; // Used to display only one progress dialog when deleting a directory ISDIR = true; // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Delete folder: ")+file; if (uplabel) { uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } dirname = FXPath::directory(FXPath::absolute(file)); label = _("From: ")+dirname; if (downlabel) { downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { closedir(dirp); return(false); } while ((dp = readdir(dirp)) != NULL) { if ((dp->d_name[0] != '.') || ((dp->d_name[1] != '\0') && ((dp->d_name[1] != '.') || (dp->d_name[2] != '\0')))) { child = file; if (!ISPATHSEP(child[child.length()-1])) { child.append(PATHSEP); } child.append(dp->d_name); if (!File::remove(child)) { closedir(dirp); return(false); } } } closedir(dirp); } if (rmdir(file.text()) == -1) { int errcode = errno; forceTimeout(); FXString str; if (errcode) { str.format(_("Can't delete folder %s: %s"), file.text(), strerror(errcode)); } else { str.format(_("Can't delete folder %s"), file.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { cancelled = true; return(false); } return(-1); // To prevent displaying an error message // in the calling function } else { return(true); } } else { // If it was not a directory if (!ISDIR) { // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Delete:")+file; if (uplabel) { uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } dirname = FXPath::directory(FXPath::absolute(file)); label = _("From: ")+dirname; if (downlabel) { downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(false); } } if (::unlink(file.text()) == -1) { int errcode = errno; forceTimeout(); FXString str; if (errcode) { str.format(_("Can't delete file %s: %s"), file.text(), strerror(errcode)); } else { str.format(_("Can't delete file %s"), file.text()); } mbox->setText(str); FXuint answer = mbox->execute(PLACEMENT_OWNER); restartTimeout(); if (answer == BOX_CLICKED_CANCEL) { cancelled = true; return(false); } return(-1); // To prevent displaying an error message // in the calling function } else { return(true); } } } return(-1); } // Rename a file or a directory (no progress dialog) // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function int File::rename(const FXString& source, const FXString& target) { // Source doesn't exist if (!::exists(source)) { MessageBox::error(this, BOX_OK, _("Error"), _("Source %s doesn't exist"), source.text()); return(-1); } // Source and target are identical if (::identical(target, source)) { MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), target.text()); return(-1); } // Target already exists => only allow overwriting destination if both source and target are files if (::exists(target)) { // Source or target are a directory if (::isDirectory(source) || ::isDirectory(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s already exists"), target.text()); return(-1); } // Source and target are files else { FXuint answer = getOverwriteAnswer(source, target); if (answer == 0) { return(-1); } } } // Rename file using the standard C function // This should only work for files that are on the same file system if (::rename(source.text(), target.text()) == 0) { return(true); } int errcode = errno; if ((errcode != EXDEV) && (errcode != ENOTEMPTY)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Can't rename to target %s: %s"), target.text(), strerror(errcode)); return(-1); } // If files are on different file systems, use the copy/delete scheme and preserve the original date int ret = this->copy(source, target, false, true); if (ret == true) { return(remove(source.text()) == true); } else { return(false); } } // Move files // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function int File::move(const FXString& source, const FXString& target, const FXbool restore) { // Source doesn't exist if (!::exists(source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Source %s doesn't exist"), source.text()); return(-1); } // Source and target are identical if (identical(target, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), target.text()); return(-1); } // Source path is included into target path FXString str = source + PATHSEPSTRING; if (target.left(str.length()) == str) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Target %s is a sub-folder of source"), target.text()); return(-1); } // Target is an existing directory (don't do this in the restore case) FXString targetfile; if (!restore && ::isDirectory(target)) { targetfile = target+PATHSEPSTRING+FXPath::name(source); } else { targetfile = target; } // Source and target file are identical if (::identical(targetfile, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), targetfile.text()); return(-1); } // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Source: ")+source; if (uplabel) { uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } label = _("Target: ")+target; if (downlabel) { downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); } getApp()->repaint(); // Target file already exists if (::exists(targetfile)) { // Overwrite dialog if necessary if (!overwrite_all & !skip_all) { forceTimeout(); FXuint answer = getOverwriteAnswer(source, targetfile); restartTimeout(); switch (answer) { // Cancel case 0: forceTimeout(); cancelled = true; return(false); break; // Overwrite case 1: overwrite = true; break; // Overwrite all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } if ( (!(overwrite | overwrite_all)) | skip_all ) { // Hide progress dialog and restart timer forceTimeout(); restartTimeout(); return(true); } } // Get the size of the source FXulong srcsize = 0; struct stat linfo; if (lstatrep(source.text(), &linfo) == 0) { char buf[MAXPATHLEN]; if (S_ISDIR(linfo.st_mode)) // Folder { FXuint nbfiles = 0, nbsubfolders = 0; FXulong totalsize=0; strlcpy(buf, source.text(), source.length()+1); srcsize = pathsize(buf, &nbfiles, &nbsubfolders,&totalsize); totaldata += srcsize; } else // File { srcsize = (FXulong)linfo.st_size; totaldata += srcsize; } } if (progressbar) { // Trick to display a percentage int pct = (100.0*rand())/RAND_MAX+50; progressbar->setProgress((int)pct); // Total data moved FXString hsize; char size[64]; #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%ld", totaldata); #else snprintf(size, sizeof(size)-1, "%lld", totaldata); #endif hsize = ::hSize(size); #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%s %s", datatext.text(), hsize.text()); #else snprintf(size, sizeof(size)-1, "%s %s", datatext.text(), hsize.text()); #endif datalabel->setText(size); } // Rename file using the standard C function // This should only work for files that are on the same file system if (::rename(source.text(), targetfile.text()) == 0) { return(true); } int errcode = errno; if ((errcode != EXDEV) && (errcode != ENOTEMPTY)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Can't rename to target %s: %s"), targetfile.text(), strerror(errcode)); return(-1); } // If files are on different file systems, use the copy/delete scheme and preserve the original date totaldata -= srcsize; // Avoid counting data twice int ret = this->copy(source, target, false, true); if (ret == true) { return(remove(source.text()) == true); } else { return(false); } } // Symbolic Link file (no progress dialog) // Return 0 to allow displaying an error message in the calling function // Return -1 to prevent displaying an error message in the calling function int File::symlink(const FXString& source, const FXString& target) { // Source doesn't exist if (!::exists(source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Source %s doesn't exist"), source.text()); return(-1); } // Source and target are identical if (::identical(target, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), target.text()); return(-1); } // Target is an existing directory FXString targetfile; if (::isDirectory(target)) { targetfile = target+PATHSEPSTRING+FXPath::name(source); } else { targetfile = target; } // Source and target are identical if (::identical(targetfile, source)) { forceTimeout(); MessageBox::error(this, BOX_OK, _("Error"), _("Destination %s is identical to source"), targetfile.text()); return(-1); } // Target already exists if (::exists(targetfile)) { // Overwrite dialog if necessary if (!(overwrite_all | skip_all)) { FXuint answer = getOverwriteAnswer(source, targetfile); switch (answer) { // Cancel case 0: forceTimeout(); return(false); break; // Overwrite case 1: overwrite = true; break; // Overwrite all case 2: overwrite_all = true; break; // Skip case 3: overwrite = false; break; // Skip all case 4: skip_all = true; break; } } if ( (!(overwrite | overwrite_all)) | skip_all ) { return(true); } } // Create symbolic link using the standard C function errno = 0; // Use the relative path for the symbolic link FXString relativepath; if (::exists(target) && ::isDirectory(target)) { relativepath = FXPath::relative(target, source); } else { relativepath = FXPath::relative(FXPath::directory(target), source); } int ret = ::symlink(relativepath.text(), targetfile.text()); int errcode = errno; if (ret == 0) { return(true); } else { forceTimeout(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't symlink %s: %s"), target.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't symlink %s"), target.text()); } return(-1); } } // Chmod a file or directory, recursively or not // We don't process symbolic links (since their permissions cannot be changed) // // Note : the variable file returns the last processed file // It can be different from the initial path, if recursive chmod is used // (Used to fill an error message, if needed) int File::chmod(char* path, char* file, mode_t mode, FXbool rec, const FXbool dironly, const FXbool fileonly) { struct stat linfo; // Initialise the file variable with the initial path strlcpy(file, path, strlen(path)+1); // If it doesn't exist if (lstatrep(path, &linfo)) { return(-1); } // If it's a symbolic link if (S_ISLNK(linfo.st_mode)) { return(0); } if (!S_ISDIR(linfo.st_mode)) // File { if (dironly) { return(0); } // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing permissions..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("File:")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } return(::chmod(path, mode)); } else // Directory { if ((rec == false) && !fileonly) { // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing permissions..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("Folder: ")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } if (::chmod(path, mode)) // Do not change recursively { return(-1); } } else { return(rchmod(path, file, mode, dironly, fileonly)); // Recursive change } } return(0); } // Recursive chmod for a directory // We don't process symbolic links (since their permissions cannot be changed) int File::rchmod(char* path, char* file, mode_t mode, const FXbool dironly, const FXbool fileonly) { struct stat linfo; // Initialize the file variable with the initial path strlcpy(file, path, strlen(path)+1); // If it doesn't exist if (lstatrep(path, &linfo)) { return(-1); } // If it's a symbolic link if (S_ISLNK(linfo.st_mode)) { return(0); } if (!S_ISDIR(linfo.st_mode)) // File { if (dironly) { return(0); } // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing permissions..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("File:")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } return(::chmod(path, mode)); } DIR* dir; struct dirent* entry; int i, pl = strlen(path); if (!(dir = opendir(path))) { return(-1); } for (i = 0; (entry = readdir(dir)); i++) { if ((entry->d_name[0] != '.') || ((entry->d_name[1] != '\0') && ((entry->d_name[1] != '.') || (entry->d_name[2] != '\0')))) { int pl1 = pl, l = strlen(entry->d_name); char* path1 = (char*)alloca(pl1+l+2); strlcpy(path1, path, strlen(path)+1); if (path1[pl1-1] != '/') { path1[pl1++] = '/'; } strlcpy(path1+pl1, entry->d_name, strlen(entry->d_name)+1); // Modify the file variable with the new path strlcpy(file, path1, strlen(path1)+1); if (rchmod(path1, file, mode, dironly, fileonly)) { closedir(dir); return(-1); } } } if (closedir(dir)) { return(-1); } if (fileonly) { return(0); } else { return(::chmod(path, mode)); } } // Chown a file or directory, recursively or not // We don't follow symbolic links // // Note : the variable file returns the last processed file // It can be different from the initial path, if recursive chmod is used // (Used to fill an error message, if needed) int File::chown(char* path, char* file, uid_t uid, gid_t gid, const FXbool rec, const FXbool dironly, const FXbool fileonly) { struct stat linfo; // Initialise the file variable with the initial path strlcpy(file, path, strlen(path)+1); // If it doesn't exist if (lstatrep(path, &linfo)) { return(-1); } if (!S_ISDIR(linfo.st_mode)) // File { if (dironly) { return(0); } // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing owner..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("File:")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } if (::lchown(path, uid, gid)) { return(-1); } } else // Directory { if ((rec == false) && !fileonly) { // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing owner..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("Folder: ")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } if (::lchown(path, uid, gid)) // Do not change recursively { return(-1); } } else if (rchown(path, file, uid, gid, dironly, fileonly)) // Recursive change { return(-1); } } return(0); } // Recursive chown for a directory // We don't follow symbolic links int File::rchown(char* path, char* file, uid_t uid, gid_t gid, const FXbool dironly, const FXbool fileonly) { struct stat linfo; // Initialise the file variable with the initial path strlcpy(file, path, strlen(path)+1); // If it doesn't exist if (lstatrep(path, &linfo)) { return(-1); } if (!S_ISDIR(linfo.st_mode)) // file { if (dironly) { return(0); } // Force timeout checking for progress dialog checkTimeout(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // Set labels for progress dialog FXString label = _("Changing owner..."); uplabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); label = _("File:")+FXString(path); downlabel->setText(::truncLine(label, MAX_MESSAGE_LENGTH)); getApp()->repaint(); // If cancel button was clicked, return if (cancelled) { return(-1); } return(::lchown(path, uid, gid)); } DIR* dir; struct dirent* entry; int i, pl = strlen(path); if (!(dir = opendir(path))) { return(-1); } for (i = 0; (entry = readdir(dir)); i++) { if ((entry->d_name[0] != '.') || ((entry->d_name[1] != '\0') && ((entry->d_name[1] != '.') || (entry->d_name[2] != '\0')))) { int pl1 = pl, l = strlen(entry->d_name); char* path1 = (char*)alloca(pl1+l+2); strlcpy(path1, path, strlen(path)+1); if (path1[pl1-1] != '/') { path1[pl1++] = '/'; } strlcpy(path1+pl1, entry->d_name, strlen(entry->d_name)+1); strlcpy(file, path1, strlen(path1)+1); if (rchown(path1, file, uid, gid, dironly, fileonly)) { closedir(dir); return(-1); } } } if (closedir(dir)) { return(-1); } if (fileonly) { return(0); } else { return(::lchown(path, uid, gid)); } } // Extract an archive in a specified directory int File::extract(const FXString name, const FXString dir, const FXString cmd) { int ret; // Change to the specified directory FXString currentdir = FXSystem::getCurrentDirectory(); ret = chdir(dir.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), dir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), dir.text()); } return(0); } // Make and show command window CommandWindow* cmdwin = new CommandWindow(getApp(), _("Extract archive"), cmd, 30, 80); cmdwin->create(); cmdwin->setIcon(archexticon); // The command window object deletes itself after closing the window! // Return to initial directory ret = chdir(currentdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), currentdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), currentdir.text()); } return(0); } return(1); } // Create an archive int File::archive(const FXString name, const FXString cmd) { // Target file already exists if (::exists(FXPath::dequote(name))) { FXString msg; msg.format(_("File %s already exists.\nOverwrite?"), name.text()); OverwriteBox* dlg = new OverwriteBox(ownerwin, _("Confirm Overwrite"), msg, OVWBOX_SINGLE_FILE); FXuint answer = dlg->execute(PLACEMENT_OWNER); delete dlg; if (answer == 0) { return(false); } } // Make and show command window CommandWindow* cmdwin = new CommandWindow(getApp(), _("Add to archive"), cmd, 30, 80); cmdwin->create(); cmdwin->setIcon(archaddicon); // The command window object deletes itself after closing the window! return(1); } #if defined(linux) int File::mount(const FXString dir, const FXString msg, const FXString cmd, const FXuint op) { FXbool mount_messages = getApp()->reg().readUnsignedEntry("OPTIONS", "mount_messages", true); // Show progress dialog (no timer here) show(PLACEMENT_OWNER); getApp()->forceRefresh(); getApp()->flush(); // Set labels for progress dialog uplabel->setText(msg); downlabel->setText(dir.text()); getApp()->repaint(); // Give cancel button an opportunity to be clicked if (cancelButton) { getApp()->runModalWhileEvents(cancelButton); } // If cancel button was clicked, return if (cancelled) { return(-1); } // Perform the mount/unmount command FILE* pcmd = popen(cmd.text(), "r"); if (!pcmd) { MessageBox::error(this, BOX_OK, _("Error"), _("Failed command: %s"), cmd.text()); return(-1); } // Get error message if any char text[10000] = { 0 }; FXString buf; while (fgets(text, sizeof(text), pcmd)) { buf += text; } snprintf(text, sizeof(text)-1, "%s", buf.text()); // Close the stream if ((pclose(pcmd) == -1) && (strcmp(text, "") != 0)) { MessageBox::error(this, BOX_OK, _("Error"), "%s", text); return(-1); } // Hide progress dialog hide(); // Success message, eventually if (mount_messages) { if (op == MOUNT) { MessageBox::information(this, BOX_OK, _("Success"), _("Folder %s was successfully mounted."), dir.text()); } else { MessageBox::information(this, BOX_OK, _("Success"), _("Folder %s was successfully unmounted."), dir.text()); } } return(1); } // Install / Upgrade package int File::pkgInstall(const FXString name, const FXString cmd) { // Make and show command window CommandWindow* cmdwin = new CommandWindow(getApp(), _("Install/Upgrade package"), cmd, 10, 80); cmdwin->create(); FXString msg; msg.format(_("Installing package: %s \n"), name.text()); cmdwin->appendText(msg.text()); // The command window object deletes itself after closing the window! return(1); } // Uninstall package int File::pkgUninstall(const FXString name, const FXString cmd) { // Make and show command window CommandWindow* cmdwin = new CommandWindow(getApp(), _("Uninstall package"), cmd, 10, 80); cmdwin->create(); FXString msg; msg.format(_("Uninstalling package: %s \n"), name.text()); cmdwin->appendText(msg.text()); // The command window object deletes itself after closing the window! return(1); } #endif // Handle cancel button in progress bar dialog long File::onCmdCancel(FXObject*, FXSelector, void*) { cancelled = true; return(1); } // Handle timeout for progress bar long File::onTimeout(FXObject*, FXSelector, void*) { show(PLACEMENT_OWNER); getApp()->forceRefresh(); getApp()->flush(); return(1); } xfe-1.42/src/ArchInputDialog.h0000644000175100017510000000356712625057514013144 00000000000000#ifndef ARCHINPUTDIALOG_H #define ARCHINPUTDIALOG_H #include "DialogBox.h" class XComApp; class ArchInputDialog : public DialogBox { FXDECLARE(ArchInputDialog) protected: FXTextField* input; FXPopup* popup; FXOptionMenu* optionmenu; FXOption* option_tgz; FXOption* option_zip; FXOption* option_7zip; FXOption* option_tbz2; FXOption* option_txz; FXOption* option_tar; FXOption* option_taz; FXOption* option_gz; FXOption* option_bz2; FXOption* option_xz; FXOption* option_z; private: ArchInputDialog() : input(NULL), popup(NULL), optionmenu(NULL), option_tgz(NULL), option_zip(NULL), option_7zip(NULL), option_tbz2(NULL), option_txz(NULL), option_tar(NULL), option_taz(NULL), option_gz(NULL), option_bz2(NULL), option_xz(NULL), option_z(NULL) {} public: enum { ID_BROWSE_PATH=DialogBox::ID_LAST, ID_FORMAT_TAR_GZ, ID_FORMAT_ZIP, ID_FORMAT_7ZIP, ID_FORMAT_TAR_BZ2, ID_FORMAT_TAR_XZ, ID_FORMAT_TAR, ID_FORMAT_TAR_Z, ID_FORMAT_GZ, ID_FORMAT_BZ2, ID_FORMAT_XZ, ID_FORMAT_Z, ID_LAST }; ArchInputDialog(FXWindow*, FXString); virtual void create(); virtual ~ArchInputDialog(); long onCmdKeyPress(FXObject*, FXSelector, void*); long onCmdBrowsePath(FXObject*, FXSelector, void*); long onCmdOption(FXObject*, FXSelector, void*); long onUpdOption(FXObject*, FXSelector, void*); FXString getText() { return(input->getText()); } void setText(const FXString& text) { input->setText(text); } void selectAll() { input->setSelection(0, (input->getText()).length()); } void CursorEnd() { input->onCmdCursorEnd(0, 0, 0); } }; #endif xfe-1.42/src/DirHistBox.cpp0000644000175100017510000000716712625057511012476 00000000000000// Display a history list box and allows the user to select a string // This is based on FXChoiceBox #include "config.h" #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "DirHistBox.h" #define VISIBLE_LINES 10 // Map FXDEFMAP(DirHistBox) DirHistBoxMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, DirHistBox::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, DirHistBox::onKeyRelease), FXMAPFUNC(SEL_FOCUSOUT, 0, DirHistBox::onCmdClose), FXMAPFUNC(SEL_COMMAND, DirHistBox::ID_CLOSE, DirHistBox::onCmdClose), FXMAPFUNC(SEL_CLICKED, DirHistBox::ID_CLICKED, DirHistBox::onCmdClicked), }; // Object implementation FXIMPLEMENT(DirHistBox, DialogBox, DirHistBoxMap, ARRAYNUMBER(DirHistBoxMap)) // Construct list box with given caption, icon, message text, and with choices from array of strings DirHistBox::DirHistBox(FXWindow* owner, const char** choices, FXuint opts, int x, int y, int w, int h) : DialogBox(owner, "", opts, x, y, w, h, 0, 0, 0, 0, 0, 0) { register int n; FXHorizontalFrame* hor = new FXHorizontalFrame(this, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); list = new FXList(hor, this, ID_CLICKED, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLING_OFF); list->setBackColor(this->getBackColor()); n = list->fillItems(choices); list->setNumVisible(FXMIN(n, VISIBLE_LINES)); } // Construct list box with given caption, icon, message text, and with choices from newline separated strings DirHistBox::DirHistBox(FXWindow* owner, const FXString& choices, FXuint opts, int x, int y, int w, int h) : DialogBox(owner, "", opts, x, y, w, h, 0, 0, 0, 0, 0, 0) { register int n; FXHorizontalFrame* hor = new FXHorizontalFrame(this, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); list = new FXList(hor, this, ID_CLICKED, LIST_BROWSESELECT|LAYOUT_FILL_Y|LAYOUT_FILL_X|HSCROLLING_OFF); list->setBackColor(this->getBackColor()); n = list->fillItems(choices); list->setNumVisible(FXMIN(n, VISIBLE_LINES)); } // Select item when click in list long DirHistBox::onCmdClicked(FXObject*, FXSelector, void*) { getApp()->stopModal(this, list->getCurrentItem()); hide(); return(1); } // Close dialog long DirHistBox::onCmdClose(FXObject*, FXSelector, void*) { getApp()->stopModal(this, -1); hide(); return(1); } // Destroy list box DirHistBox::~DirHistBox() { list = (FXList*)-1L; } // Show a modal list dialog int DirHistBox::box(FXWindow* owner, FXuint opts, const char** choices, int x, int y, int w, int h) { DirHistBox box(owner, choices, opts, x, y, w, h); return(box.execute(PLACEMENT_DEFAULT)); } // Show a modal list dialog int DirHistBox::box(FXWindow* owner, FXuint opts, const FXString& choices, int x, int y, int w, int h) { DirHistBox box(owner, choices, opts, x, y, w, h); return(box.execute(PLACEMENT_DEFAULT)); } // Keyboard press; handle escape to close the dialog long DirHistBox::onKeyPress(FXObject* sender, FXSelector sel, void* ptr) { if (FXTopWindow::onKeyPress(sender, sel, ptr)) { return(1); } if (((FXEvent*)ptr)->code == KEY_Escape) { handle(this, FXSEL(SEL_COMMAND, ID_CLOSE), NULL); return(1); } return(0); } // Keyboard release; handle escape to close the dialog long DirHistBox::onKeyRelease(FXObject* sender, FXSelector sel, void* ptr) { if (FXTopWindow::onKeyRelease(sender, sel, ptr)) { return(1); } if (((FXEvent*)ptr)->code == KEY_Escape) { return(1); } return(0); } xfe-1.42/src/KeybindingsDialog.cpp0000644000175100017510000000457112625057511014041 00000000000000// Dialog to let the user enter a key binding #include "config.h" #include "i18n.h" #include #include #include "xfeutils.h" #include "KeybindingsDialog.h" FXDEFMAP(KeybindingsDialog) KeybindingsDialogMap[] = { FXMAPFUNC(SEL_KEYPRESS, 0, KeybindingsDialog::onCmdKeyPress), }; // Object implementation FXIMPLEMENT(KeybindingsDialog, DialogBox, KeybindingsDialogMap, ARRAYNUMBER(KeybindingsDialogMap)) // Construct a dialog box KeybindingsDialog::KeybindingsDialog(FXWindow* win, FXString input, FXString message, FXString title, FXIcon* icon) : DialogBox(win, title, DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE) { // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, PACK_UNIFORM_WIDTH|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Accept new FXButton(buttons, _("&Accept"), NULL, this, ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT, 0, 0, 0, 0, 20, 20); // Vertical frame FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Icon and message line FXMatrix* matrix = new FXMatrix(contents, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(matrix, "", icon, LAYOUT_LEFT); new FXLabel(matrix, message.text(), NULL, JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW); // Label if (input=="") { input=" "; // Otherwise no line will be added! } keylabel = new FXLabel(contents, input.text(), NULL, LAYOUT_CENTER_X); } void KeybindingsDialog::create() { DialogBox::create(); } // A key was pressed long KeybindingsDialog::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); // Get and display key binding string from user input FXString key = getKeybinding(event); keylabel->setText(key); return(1); } return(0); } xfe-1.42/src/MessageBox.cpp0000644000175100017510000003116512634030547012507 00000000000000// Message box. Taken from the FOX library and slightly modified for translation purpose. // Also added a SU button #include "config.h" #include "i18n.h" #include #include #include #include "icons.h" #include "xfedefs.h" #include "xfeutils.h" #include "MessageBox.h" // Padding for message box buttons #define HORZ_PAD 30 #define VERT_PAD 2 #define BOX_BUTTON_MASK (BOX_OK|BOX_OK_CANCEL|BOX_YES_NO|BOX_YES_NO_CANCEL|BOX_QUIT_CANCEL|BOX_QUIT_SAVE_CANCEL|BOX_OK_SU|BOX_YES_NO_ALL_CANCEL) // Map FXDEFMAP(MessageBox) MessageBoxMap[] = { FXMAPFUNC(SEL_COMMAND, MessageBox::ID_CANCEL, MessageBox::onCmdCancel), FXMAPFUNCS(SEL_COMMAND, MessageBox::ID_CLICKED_YES, MessageBox::ID_CLICKED_ALL, MessageBox::onCmdClicked), FXMAPFUNC(SEL_COMMAND, MessageBox::ID_CLICKED_SU, MessageBox::onCmdSu), }; // Object implementation FXIMPLEMENT(MessageBox, DialogBox, MessageBoxMap, ARRAYNUMBER(MessageBoxMap)) // Construct message box with given caption, icon, and message text MessageBox::MessageBox(FXWindow* owner, const FXString& caption, const FXString& text, FXIcon* ic, FXuint opts, FXuint textopts, int x, int y) : DialogBox(owner, caption, opts|DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MAXIMIZE|DECOR_CLOSE, x, y, 0, 0, 0, 0, 0, 0, 4, 4) { initialize(text, ic, opts&BOX_BUTTON_MASK, textopts); } // Construct free floating message box with given caption, icon, and message text MessageBox::MessageBox(FXApp* a, const FXString& caption, const FXString& text, FXIcon* ic, FXuint opts, FXuint textopts, int x, int y) : DialogBox(a, caption, opts|DECOR_TITLE|DECOR_BORDER|DECOR_STRETCHABLE|DECOR_MINIMIZE|DECOR_MAXIMIZE|DECOR_CLOSE, x, y, 0, 0, 0, 0, 0, 0, 4, 4) { initialize(text, ic, opts&BOX_BUTTON_MASK, textopts); } // Build contents void MessageBox::initialize(const FXString& text, FXIcon* ic, FXuint whichbuttons, FXuint textoptions) { FXButton* initial; FXVerticalFrame* content = new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* info = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 10, 10, 10, 10); // Message text msg = new FXLabel(info, FXString::null, ic, textoptions); setText(text); FXHorizontalFrame* buttons = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 10, 10, 10, 10); if (whichbuttons == BOX_OK) { initial = new FXButton(buttons, _("&OK"), NULL, this, ID_CLICKED_OK, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_OK_SU) { initial = new FXButton(buttons, _("&OK"), NULL, this, ID_CLICKED_OK, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); // Su button only if allowed FXbool root_mode = getApp()->reg().readUnsignedEntry("OPTIONS", "root_mode", TRUE); if (root_mode) { FXString key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_root_window", "Shift-F3"); // Space before tab is used to set the correct button height FXButton* btn = new FXButton(buttons, " "+TAB+_("Launch Xfe as root")+PARS(key), minixferooticon, this, ID_CLICKED_SU, BUTTON_DEFAULT|ICON_AFTER_TEXT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); FXHotKey hotkey = _parseAccel(key); btn->addHotKey(hotkey); } initial->setFocus(); } else if (whichbuttons == BOX_OK_CANCEL) { initial = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&OK"), NULL, this, ID_CLICKED_OK, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_YES_NO) { initial = new FXButton(buttons, _("&No"), NULL, this, ID_CLICKED_NO, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_YES, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_YES_NO_CANCEL) { initial = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_YES, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&No"), NULL, this, ID_CLICKED_NO, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_QUIT_CANCEL) { initial = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Quit"), NULL, this, ID_CLICKED_QUIT, BUTTON_DEFAULT|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_QUIT_SAVE_CANCEL) { initial = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Quit"), NULL, this, ID_CLICKED_QUIT, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Save"), NULL, this, ID_CLICKED_SAVE, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } else if (whichbuttons == BOX_YES_NO_ALL_CANCEL) { initial = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Yes"), NULL, this, ID_CLICKED_YES, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&No"), NULL, this, ID_CLICKED_NO, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Yes for &All"), NULL, this, ID_CLICKED_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); initial->setFocus(); } } // Close dialog long MessageBox::onCmdClicked(FXObject*, FXSelector sel, void*) { getApp()->stopModal(this, BOX_CLICKED_YES+(FXSELID(sel)-ID_CLICKED_YES)); hide(); return(1); } // Launch a root Xfe (su mode) long MessageBox::onCmdSu(FXObject*, FXSelector sel, void*) { getApp()->stopModal(this, BOX_CLICKED_YES+(FXSELID(sel)-ID_CLICKED_YES)); hide(); // Wait cursor getApp()->beginWaitCursor(); // Obtain preferred root mode FXbool use_sudo = getApp()->reg().readUnsignedEntry("OPTIONS", "use_sudo", FALSE); // Use sudo or su to launch xfe as root FXString title, sucmd, command; if (use_sudo) { title = _("Enter the user password:"); sucmd = SUDOCMD; } else { title = _("Enter the root password:"); sucmd = SUCMD; } // Get text font FXString fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", "Courier,100,normal,regular"); if (fontspec.empty()) { command = "st -t " + ::quote(title) + sucmd; } else { FXchar fontsize[32]; FXFont* font = new FXFont(getApp(), fontspec); font->create(); snprintf(fontsize, sizeof(fontsize), "%d",(int)(font->getSize()/10)); // Size is in deci-points, thus divide by 10 command = "st -t " + ::quote(title) + " -f '" + (font->getFamily()).text() + ":pixelsize=" + fontsize + "'" + sucmd; } // Execute su or sudo command in an internal st terminal int status = runst(command); // If error if (status < 0) { MessageBox::error(getApp(), BOX_OK, _("Error"), _("An error has occurred!")); getApp()->endWaitCursor(); return(0); } // Wait cursor getApp()->endWaitCursor(); return(1); } // Close dialog with a cancel long MessageBox::onCmdCancel(FXObject* sender, FXSelector, void* ptr) { return(MessageBox::onCmdClicked(sender, FXSEL(SEL_COMMAND, ID_CLICKED_CANCEL), ptr)); } // Show a modal error message FXuint MessageBox::error(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(owner, caption, FXStringVFormat(message, arguments), errorbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal error message, in free floating window FXuint MessageBox::error(FXApp* app, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(app, caption, FXStringVFormat(message, arguments), errorbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal warning message FXuint MessageBox::warning(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(owner, caption, FXStringVFormat(message, arguments), warningbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal warning message, in free floating window FXuint MessageBox::warning(FXApp* app, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(app, caption, FXStringVFormat(message, arguments), warningbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal question dialog FXuint MessageBox::question(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(owner, caption, FXStringVFormat(message, arguments), questionbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal question dialog, in free floating window FXuint MessageBox::question(FXApp* app, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(app, caption, FXStringVFormat(message, arguments), questionbigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal information dialog FXuint MessageBox::information(FXWindow* owner, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(owner, caption, FXStringVFormat(message, arguments), infobigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Show a modal information dialog, in free floating window FXuint MessageBox::information(FXApp* app, FXuint opts, const char* caption, const char* message, ...) { va_list arguments; va_start(arguments, message); MessageBox box(app, caption, FXStringVFormat(message, arguments), infobigicon, opts|DECOR_TITLE|DECOR_BORDER); va_end(arguments); return(box.execute()); } // Set message text void MessageBox::setText(FXString text) { // Set message text with a maximum of MAX_MESSAGE_LENGTH characters per line msg->setText(::multiLines(text, MAX_MESSAGE_LENGTH)); } xfe-1.42/src/Bookmarks.h0000644000175100017510000000522312625057514012046 00000000000000#ifndef BOOKMARKS_H #define BOOKMARKS_H class FXAPI Bookmarks : public FXObject { FXDECLARE(Bookmarks) protected: FXString group; // MRU File group FXObject* target; // Target object to send message FXSelector message; // Message to send int maxbookmarks; // Maximum number of bookmarks to track private: Bookmarks(const Bookmarks&); Bookmarks& operator=(const Bookmarks&); public: long onCmdClear(FXObject*, FXSelector, void*); long onCmdBookmark(FXObject*, FXSelector, void*); long onUpdBookmark(FXObject*, FXSelector, void*); long onUpdAnyBookmarks(FXObject*, FXSelector, void*); public: enum { ID_CLEAR, ID_ANYBOOKMARKS, ID_BOOKMARK_1, ID_BOOKMARK_2, ID_BOOKMARK_3, ID_BOOKMARK_4, ID_BOOKMARK_5, ID_BOOKMARK_6, ID_BOOKMARK_7, ID_BOOKMARK_8, ID_BOOKMARK_9, ID_BOOKMARK_10, ID_BOOKMARK_11, ID_BOOKMARK_12, ID_BOOKMARK_13, ID_BOOKMARK_14, ID_BOOKMARK_15, ID_BOOKMARK_16, ID_BOOKMARK_17, ID_BOOKMARK_18, ID_BOOKMARK_19, ID_BOOKMARK_20 }; public: // Make new Bookmarks Group with default groupname Bookmarks(); // Make new Bookmarks Group with groupname gp Bookmarks(const FXString& gp, FXObject* tgt = NULL, FXSelector sel = 0); // Change number of bookmarks we're tracking void setMaxBookmarks(int mx) { maxbookmarks = mx; } // Return the maximum number of bookmarks being tracked int getMaxBookmarks() const { return(maxbookmarks); } // Set group name void setGroupName(const FXString& name) { group = name; } // Return group name FXString getGroupName() const { return(group); } // Change the target void setTarget(FXObject* t) { target = t; } // Get the target FXObject* getTarget() const { return(target); } // Change the message void setSelector(FXSelector sel) { message = sel; } // Return the message id FXSelector getSelector() const { return(message); } // Obtain the bookmark name at index FXString getBookmark(int index) const; // Change the bookmark name at index void setBookmark(int index, const FXString& filename); // Append a bookmark void appendBookmark(const FXString& filename); // Remove a bookmark void removeBookmark(const FXString& filename); // Clear the list of bookmarks void clear(); // Destructor virtual ~Bookmarks(); }; #endif xfe-1.42/src/foxhacks.cpp0000644000175100017510000035110612625057511012260 00000000000000// This file contains some FOX functions redefinitions (FOX hacks for various purposes, except for Clearlooks controls) #include #include #include #ifdef HAVE_XFT_H #include #endif #ifdef HAVE_XRANDR_H #include #endif extern FXbool file_tooltips; extern FXString xdgconfighome; extern FXbool xim_used; // Hack to fix issues with drag and drop within, from and to the dirList #define SELECT_MASK (TREELIST_SINGLESELECT|TREELIST_BROWSESELECT) // Remove all siblings from [fm,to] void FXTreeList::removeItems(FXTreeItem* fm, FXTreeItem* to, FXbool notify) { register FXTreeItem* olditem = currentitem; register FXTreeItem* prv; register FXTreeItem* nxt; register FXTreeItem* par; if (fm && to) { if (fm->parent != to->parent) { fxerror("%s::removeItems: arguments have different parent.\n", getClassName()); } // Delete items while (1) { // Scan till end while (to->last) { to = to->last; } do { // Notify item will be deleted if (notify && target) { target->tryHandle(this, FXSEL(SEL_DELETED, message), (void*)to); } // Remember hookups nxt = to->next; prv = to->prev; par = to->parent; // !!! Hack to go back to the parent when an item disappeared // Adjust pointers; suggested by Alan Ott anchoritem = par; currentitem = par; extentitem = par; viewableitem = par; // !!! End of hack // Remove item from list if (prv) { prv->next = nxt; } else if (par) { par->first = nxt; } else { firstitem = nxt; } if (nxt) { nxt->prev = prv; } else if (par) { par->last = prv; } else { lastitem = prv; } // Delete it delete to; // Was last one? if (to == fm) { goto x; } to = par; } while (!prv); to = prv; } // Current item has changed x: if (olditem != currentitem) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)currentitem); } } // Deleted current item if (currentitem && (currentitem != olditem)) { if (hasFocus()) { currentitem->setFocus(true); } if (((options&SELECT_MASK) == TREELIST_BROWSESELECT) && currentitem->isEnabled()) { selectItem(currentitem, notify); } } // Redo layout recalc(); } } // Hack to display a tooltip with name, size, date, etc. // We were asked about tip text long FXTreeList::onQueryTip(FXObject* sender, FXSelector sel, void* ptr) { if (FXWindow::onQueryTip(sender, sel, ptr)) { return(1); } // File tooltips are optional if (file_tooltips) { if ((flags&FLAG_TIP) && !(options&TREELIST_AUTOSELECT)) // No tip when autoselect! { int x, y; FXuint buttons; getCursorPosition(x, y, buttons); DirItem* item = (DirItem*)getItemAt(x, y); if (item) { // !!! Hack to display a tooltip with name, size, date, etc. FXString string; // Root folder if (item->getText() == ROOTDIR) { string = _("Root folder"); } // Other folders else { // Get tooltip data FXString str = item->getTooltipData(); if (str == "") { return(0); } // Add name, type, permissions, etc. to the tool tip FXString name = str.section('\t', 0); FXString type = str.section('\t', 1); FXString date = str.section('\t', 2); FXString user = str.section('\t', 3); FXString group = str.section('\t', 4); FXString perms = str.section('\t', 5); FXString deldate = str.section('\t', 6); FXString pathname = str.section('\t', 7); // Compute root file size FXulong dnsize; char dsize[64]; dnsize = ::dirsize(pathname.text()); #if __WORDSIZE == 64 snprintf(dsize, sizeof(dsize)-1, "%lu", dnsize); #else snprintf(dsize, sizeof(dsize)-1, "%llu", dnsize); #endif FXString size = ::hSize(dsize); if (deldate.empty()) { string = _("Name: ")+name+"\n"+_("Size in root: ")+size+"\n"+_("Type: ")+type +"\n"+_("Modified date: ")+date+"\n"+_("User: ")+user+" - "+_("Group: ")+group +"\n"+_("Permissions: ")+perms; } else { string = _("Name: ")+name+"\n"+_("Size in root: ")+size+"\n"+_("Type: ")+type +"\n"+_("Modified date: ")+date+"\n"+_("Deletion date: ")+deldate+"\n"+_("User: ")+user+" - "+_("Group: ")+group +"\n"+_("Permissions: ")+perms; } } // !!! End of hack !!! sender->handle(this, FXSEL(SEL_COMMAND, ID_SETSTRINGVALUE), (void*)&string); return(1); } } } return(0); } // // Hack of FXDCWindow // #define DISPLAY(app) ((Display*)((app)->display)) #define FS ((XFontStruct*)(font->font)) #ifndef HAVE_XFT_H static int utf2db(XChar2b* dst, const char* src, int n) { register int len, p; register FXwchar w; for (p = len = 0; p < n; p += wclen(src+p), len++) { w = wc(src+p); dst[len].byte1 = (w>>8); dst[len].byte2 = (w&255); } return(len); } #endif // Hack to take into account non UTF-8 strings void FXDCWindow::drawText(int x, int y, const char* string, FXuint length) { if (!surface) { fprintf(stderr, "FXDCWindow::drawText: DC not connected to drawable.\n"); exit(EXIT_FAILURE); } if (!font) { fprintf(stderr, "FXDCWindow::drawText: no font selected.\n"); exit(EXIT_FAILURE); } if (!string) { fprintf(stderr, "FXDCWindow::drawText: NULL string argument.\n"); exit(EXIT_FAILURE); } #ifdef HAVE_XFT_H XftColor color; color.pixel = devfg; color.color.red = FXREDVAL(fg)*257; color.color.green = FXGREENVAL(fg)*257; color.color.blue = FXBLUEVAL(fg)*257; color.color.alpha = FXALPHAVAL(fg)*257; // !!! Hack to draw string depending on its encoding !!! if (isUtf8(string, length)) { XftDrawStringUtf8((XftDraw*)xftDraw, &color, (XftFont*)font->font, x, y, (const FcChar8*)string, length); } else { XftDrawString8((XftDraw*)xftDraw, &color, (XftFont*)font->font, x, y, (const FcChar8*)string, length); } // !!! End of hack !!! #else register int count, escapement, defwidth, ww, size, i; register double ang, ux, uy; register FXuchar r, c; XChar2b sbuffer[4096]; count = utf2db(sbuffer, string, FXMIN(length, 4096)); if (font->getAngle()) { ang = font->getAngle()*0.00027270769562411399179; defwidth = FS->min_bounds.width; ux = cos(ang); uy = sin(ang); if (FS->per_char) { r = FS->default_char>>8; c = FS->default_char&255; size = (FS->max_char_or_byte2-FS->min_char_or_byte2+1); if ((FS->min_char_or_byte2 <= c) && (c <= FS->max_char_or_byte2) && (FS->min_byte1 <= r) && (r <= FS->max_byte1)) { defwidth = FS->per_char[(r-FS->min_byte1)*size+(c-FS->min_char_or_byte2)].width; } for (i = escapement = 0; i < count; i++) { XDrawString16(DISPLAY(getApp()), surface->id(), (GC)ctx, (int)(x+escapement*ux), (int)(y-escapement*uy), &sbuffer[i], 1); r = sbuffer[i].byte1; c = sbuffer[i].byte2; escapement += defwidth; if ((FS->min_char_or_byte2 <= c) && (c <= FS->max_char_or_byte2) && (FS->min_byte1 <= r) && (r <= FS->max_byte1)) { if ((ww = FS->per_char[(r-FS->min_byte1)*size+(c-FS->min_char_or_byte2)].width) != 0) { escapement += ww-defwidth; } } } } else { for (i = escapement = 0; i < count; i++) { XDrawString16(DISPLAY(getApp()), surface->id(), (GC)ctx, (int)(x+escapement*ux), (int)(y-escapement*uy), &sbuffer[i], 1); escapement += defwidth; } } } else { XDrawString16(DISPLAY(getApp()), surface->id(), (GC)ctx, x, y, sbuffer, count); } #endif } // // Hack of FXFont // // Hack to take into account non UTF-8 strings int FXFont::getTextWidth(const char* string, FXuint length) const { if (!string) { fprintf(stderr, "FXDCWindow::drawText: NULL string argument.\n"); exit(EXIT_FAILURE); } if (font) { #ifdef HAVE_XFT_H XGlyphInfo extents; // This returns rotated metrics; FOX likes to work with unrotated metrics, so if angle // is not 0, we calculate the unrotated baseline; note however that the calculation is // not 100% pixel exact when the angle is not a multiple of 90 degrees. // !!! Hack to evaluate string extent depending on its encoding !!! if (isUtf8(string, length)) { XftTextExtentsUtf8(DISPLAY(getApp()), (XftFont*)font, (const FcChar8*)string, length, &extents); } else { XftTextExtents8(DISPLAY(getApp()), (XftFont*)font, (const FcChar8*)string, length, &extents); } // !!! End of hack !!! if (angle) { return((int)(0.5+sqrt(extents.xOff*extents.xOff+extents.yOff*extents.yOff))); } return(extents.xOff); #else register const XFontStruct* fs = (XFontStruct*)font; register int defwidth = fs->min_bounds.width; register int width = 0, ww; register FXuint p = 0; register FXuint s; register FXuchar r; register FXuchar c; register FXwchar w; if (fs->per_char) { r = fs->default_char>>8; c = fs->default_char&255; s = (fs->max_char_or_byte2-fs->min_char_or_byte2+1); if ((fs->min_char_or_byte2 <= c) && (c <= fs->max_char_or_byte2) && (fs->min_byte1 <= r) && (r <= fs->max_byte1)) { defwidth = fs->per_char[(r-fs->min_byte1)*s+(c-fs->min_char_or_byte2)].width; } while (p < length) { w = wc(string+p); p += wclen(string+p); r = w>>8; c = w&255; if ((fs->min_char_or_byte2 <= c) && (c <= fs->max_char_or_byte2) && (fs->min_byte1 <= r) && (r <= fs->max_byte1)) { if ((ww = fs->per_char[(r-fs->min_byte1)*s+(c-fs->min_char_or_byte2)].width) != 0) { width += ww; continue; } } width += defwidth; } } else { while (p < length) { p += wclen(string+p); width += defwidth; } } return(width); #endif } return(length); } // // Hack of FXSplitter // // NB : - MIN_PANEL_WIDTH is defined in xfedefs.h // - Don't use LAYOUT_FIX_WIDTH with this hack because it won't work! // This function is taken from the FXSplitter class // and hacked to set a minimum splitter width when moving splitter to right // It replaces the normal function... void FXSplitter::moveHSplit(int pos) { register int smin, smax; //register FXuint hints; FXASSERT(window); //hints=window->getLayoutHints(); // !!! Hack to limit the width to a minimum value !!! if (options&SPLITTER_REVERSED) { smin = barsize; smax = window->getX()+window->getWidth(); } else { smin = window->getX(); smax = width-barsize; } smax = smax-MIN_PANEL_WIDTH; smin = smin+MIN_PANEL_WIDTH; split = pos; if (split < smin) { split = smin; } if (split > smax) { split = smax; } // !!! End of hack } void FXSplitter::moveVSplit(int pos) { register int smin, smax; //register FXuint hints; FXASSERT(window); //hints=window->getLayoutHints(); if (options&SPLITTER_REVERSED) { smin = barsize; smax = window->getY()+window->getHeight(); } else { smin = window->getY(); smax = height-barsize; } smax = smax-MIN_PANEL_WIDTH; smin = smin+MIN_PANEL_WIDTH; split = pos; if (split < smin) { split = smin; } if (split > smax) { split = smax; } } // // Hack of FXRegistry // // Hack to change the defaults directories for config files and icons // The vendor key is not used anymore #define DESKTOP "xferc" #define REGISTRYPATH "/etc:/usr/share:/usr/local/share" // Read registry bool FXRegistry::read() { FXString dirname; register bool ok = false; dirname = FXPath::search(REGISTRYPATH, "xfe"); if (!dirname.empty()) { ok = readFromDir(dirname, false); } // Try search along PATH if still not found if (!ok) { dirname = FXPath::search(FXSystem::getExecPath(), "xfe"); if (!dirname.empty()) { ok = readFromDir(dirname, false); } } // Get path to per-user settings directory dirname = xdgconfighome + PATHSEPSTRING XFECONFIGPATH; // Then read per-user settings; overriding system-wide ones if (readFromDir(dirname, true)) { ok = true; } return(ok); } // Try read registry from directory bool FXRegistry::readFromDir(const FXString& dirname, bool mark) { bool ok = false; // Directory is empty? if (!dirname.empty()) { // First try to load desktop registry if (parseFile(dirname+PATHSEPSTRING DESKTOP, false)) { FXString nn = dirname+PATHSEPSTRING DESKTOP; ok = true; } // Have application key if (!applicationkey.empty()) { if (parseFile(dirname+PATHSEPSTRING+applicationkey + "rc", mark)) { ok = true; } } } return(ok); } // Write registry bool FXRegistry::write() { FXString pathname, tempname; // Settings have not changed if (!isModified()) { return(true); } // We can not save if no application key given if (!applicationkey.empty()) { // Changes written only in the per-user registry pathname = xdgconfighome + PATHSEPSTRING XFECONFIGPATH; // If this directory does not exist, make it if (!FXStat::exists(pathname)) { if (!FXDir::create(pathname)) { return(false); } } else { if (!FXStat::isDirectory(pathname)) { return(false); } } // Add application key pathname.append(PATHSEPSTRING+applicationkey+"rc"); // Construct temp name tempname.format("%s_%d", pathname.text(), fxgetpid()); // Unparse settings into temp file first if (unparseFile(tempname)) { // Rename ATOMICALLY to proper name if (!FXFile::rename(tempname, pathname)) { return(false); } setModified(false); return(true); } } return(false); } // // Hack of FXSettings // // Hack to allow writing any registry global registry key to user settings // for the xfe application only #define MAXVALUE 2000 // Write string static bool writeString(FXFile& file, const FXchar* string) { register FXint len = strlen(string); return(file.writeBlock(string, len) == len); } // Unparse registry file bool FXSettings::unparseFile(const FXString& filename) { // !!! Hack here !!! // Distinguish between xfe and other applications FXbool xfe = (filename.contains(DESKTOP) ? true : false); FXFile file(filename, FXIO::Writing); FXchar line[MAXVALUE]; if (file.isOpen()) { // Loop over all sections for (FXint s = first(); s < size(); s = next(s)) { // Get group FXStringDict* group = data(s); bool sec = false; // Loop over all entries for (FXint e = group->first(); e < group->size(); e = group->next(e)) { // !!! Hack here !!! // Do this always for the xfe application // Is key-value pair marked? if (xfe | group->mark(e)) { // Write section name if not written yet if (!sec) { if (!writeString(file, "[")) { goto x; } if (!writeString(file, key(s))) { goto x; } if (!writeString(file, "]" ENDLINE)) { goto x; } sec = true; } // Write marked key-value pairs only if (!writeString(file, group->key(e))) { goto x; } if (!writeString(file, "=")) { goto x; } if (!writeString(file, enquote(line, group->data(e)))) { goto x; } if (!writeString(file, ENDLINE)) { goto x; } } } // Blank line after end if (sec) { if (!writeString(file, ENDLINE)) { goto x; } } } return(true); } x: return(false); } // // Hack of FXPopup // // The two functions below are taken from the FXPopup class // and hacked to allow navigating using the keyboard on popup menus // They replace the normal functions... // !!! Global variable control keyboard scrolling on right click popup menus !!! extern FXbool allowPopupScroll; void FXPopup::setFocus() { FXShell::setFocus(); // !!! Hack to allow keyboard scroll on popup dialogs !!! if (allowPopupScroll) { grabKeyboard(); } } void FXPopup::killFocus() { FXShell::killFocus(); // !!! Hack to allow keyboard scroll on popup dialogs !!! if (allowPopupScroll) { if (prevActive) { prevActive->setFocus(); } else { ungrabKeyboard(); } } } // // Hack of FXStatusLine(translation hack) // // Status line construct and init FXStatusLine::FXStatusLine(FXComposite* p, FXObject* tgt, FXSelector sel) : FXFrame(p, LAYOUT_LEFT|LAYOUT_FILL_Y|LAYOUT_FILL_X, 0, 0, 0, 0, 4, 4, 2, 2) { flags |= FLAG_SHOWN; status = normal = _("Ready."); font = getApp()->getNormalFont(); textColor = getApp()->getForeColor(); textHighlightColor = getApp()->getForeColor(); target = tgt; message = sel; } // // Hack of FXReplaceDialog // // Taken from the FXReplaceDialog class // - translation hack // - small hack for the Clearlooks theme // Padding for buttons #define HORZ_PAD 12 #define VERT_PAD 2 #define SEARCH_MASK (SEARCH_EXACT|SEARCH_IGNORECASE|SEARCH_REGEX) // File Open Dialog FXReplaceDialog::FXReplaceDialog(FXWindow* owner, const FXString& caption, FXIcon* ic, FXuint opts, int x, int y, int w, int h) : FXDialogBox(owner, caption, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE, x, y, w, h, 10, 10, 10, 10, 10, 10) { FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT, 0, 0, 0, 0, 0, 0, 0, 0); accept = new FXButton(buttons, _("&Replace"), NULL, this, ID_ACCEPT, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_RIGHT, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); every = new FXButton(buttons, _("Re&place All"), NULL, this, ID_ALL, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_RIGHT, 0, 0, 0, 0, 6, 6, VERT_PAD, VERT_PAD); cancel = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_Y|LAYOUT_RIGHT, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); FXHorizontalFrame* pair = new FXHorizontalFrame(buttons, LAYOUT_FILL_Y|LAYOUT_RIGHT, 0, 0, 0, 0, 0, 0, 0, 0); FXArrowButton* searchlast = new FXArrowButton(pair, this, ID_PREV, ARROW_LEFT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_Y, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); FXArrowButton* searchnext = new FXArrowButton(pair, this, ID_NEXT, ARROW_RIGHT|FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_Y, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); FXHorizontalFrame* toppart = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10); new FXLabel(toppart, FXString::null, ic, ICON_BEFORE_TEXT|JUSTIFY_CENTER_X|JUSTIFY_CENTER_Y|LAYOUT_FILL_Y|LAYOUT_FILL_X); FXVerticalFrame* entry = new FXVerticalFrame(toppart, LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0); searchlabel = new FXLabel(entry, _("Search for:"), NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X); // !!! Hack to remove the FRAME_THICK and FRAME_SUNKEN options (required for the Clearlooks theme) searchbox = new FXHorizontalFrame(entry, LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); searchtext = new FXTextField(searchbox, 26, this, ID_SEARCH_TEXT, FRAME_SUNKEN|TEXTFIELD_ENTER_ONLY|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 4, 4, 4, 4); // !!! End of hack FXVerticalFrame* searcharrows = new FXVerticalFrame(searchbox, LAYOUT_RIGHT|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); FXArrowButton* ar1 = new FXArrowButton(searcharrows, this, ID_SEARCH_UP, FRAME_RAISED|FRAME_THICK|ARROW_UP|ARROW_REPEAT|LAYOUT_FILL_Y|LAYOUT_FIX_WIDTH, 0, 0, 16, 0, 1, 1, 1, 1); FXArrowButton* ar2 = new FXArrowButton(searcharrows, this, ID_SEARCH_DN, FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_REPEAT|LAYOUT_FILL_Y|LAYOUT_FIX_WIDTH, 0, 0, 16, 0, 1, 1, 1, 1); ar1->setArrowSize(3); ar2->setArrowSize(3); replacelabel = new FXLabel(entry, _("Replace with:"), NULL, LAYOUT_LEFT); // !!! Hack to remove the FRAME_THICK and FRAME_SUNKEN options (required for the Clearlooks theme) replacebox = new FXHorizontalFrame(entry, LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); replacetext = new FXTextField(replacebox, 26, this, ID_REPLACE_TEXT, FRAME_SUNKEN|TEXTFIELD_ENTER_ONLY|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 4, 4, 4, 4); // !!! End of hack FXVerticalFrame* replacearrows = new FXVerticalFrame(replacebox, LAYOUT_RIGHT|LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); FXArrowButton* ar3 = new FXArrowButton(replacearrows, this, ID_REPLACE_UP, FRAME_RAISED|FRAME_THICK|ARROW_UP|ARROW_REPEAT|LAYOUT_FILL_Y|LAYOUT_FIX_WIDTH, 0, 0, 16, 0, 1, 1, 1, 1); FXArrowButton* ar4 = new FXArrowButton(replacearrows, this, ID_REPLACE_DN, FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_REPEAT|LAYOUT_FILL_Y|LAYOUT_FIX_WIDTH, 0, 0, 16, 0, 1, 1, 1, 1); ar3->setArrowSize(3); ar4->setArrowSize(3); FXHorizontalFrame* options1 = new FXHorizontalFrame(entry, LAYOUT_FILL_X, 0, 0, 0, 0, 0, 0, 0, 0); new FXRadioButton(options1, _("Ex&act"), this, ID_MODE+SEARCH_EXACT, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXRadioButton(options1, _("&Ignore Case"), this, ID_MODE+SEARCH_IGNORECASE, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXRadioButton(options1, _("E&xpression"), this, ID_MODE+SEARCH_REGEX, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); new FXCheckButton(options1, _("&Backward"), this, ID_DIR, ICON_BEFORE_TEXT|LAYOUT_CENTER_X); searchlast->setTipText("Ctrl-B"); searchnext->setTipText("Ctrl-F"); searchlast->addHotKey(MKUINT(KEY_b, CONTROLMASK)); searchnext->addHotKey(MKUINT(KEY_f, CONTROLMASK)); searchmode = SEARCH_EXACT|SEARCH_FORWARD; current = 0; } // // Hack of FXSearchDialog (translation hack) // // Taken from the FXSearchDialog class FXSearchDialog::FXSearchDialog(FXWindow* owner, const FXString& caption, FXIcon* ic, FXuint opts, int x, int y, int w, int h) : FXReplaceDialog(owner, caption, ic, opts, x, y, w, h) { accept->setText(_("&Search")); every->hide(); replacelabel->hide(); replacebox->hide(); } // // Hack of FXInputDialog (translation hack) // // Taken from the FXInputDialog class void FXInputDialog::initialize(const FXString& label, FXIcon* icon) { FXuint textopts = TEXTFIELD_ENTER_ONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X; FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 0, 0, 0, 0); new FXButton(buttons, _("&OK"), NULL, this, ID_ACCEPT, BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_RIGHT, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Cancel"), NULL, this, ID_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_RIGHT, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); FXHorizontalFrame* toppart = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10); new FXLabel(toppart, FXString::null, icon, ICON_BEFORE_TEXT|JUSTIFY_CENTER_X|JUSTIFY_CENTER_Y|LAYOUT_FILL_Y|LAYOUT_FILL_X); FXVerticalFrame* entry = new FXVerticalFrame(toppart, LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 0, 0, 0, 0); new FXLabel(entry, label, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X); if (options&INPUTDIALOG_PASSWORD) { textopts |= TEXTFIELD_PASSWD; } if (options&INPUTDIALOG_INTEGER) { textopts |= TEXTFIELD_INTEGER|JUSTIFY_RIGHT; } if (options&INPUTDIALOG_REAL) { textopts |= TEXTFIELD_REAL|JUSTIFY_RIGHT; } input = new FXTextField(entry, 20, this, ID_ACCEPT, textopts, 0, 0, 0, 0, 8, 8, 4, 4); limlo = 1.0; limhi = 0.0; } // // Hack of fxpriv (clipboard management) // // These two functions are hacked to reduce the timeout when the owner app of the clipboard has been closed // Send request for selection info Atom fxsendrequest(Display* display, Window window, Atom selection, Atom prop, Atom type, FXuint time) { // !!! Hack here to reduce timeout !!! FXuint loops = 10; XEvent ev; XConvertSelection(display, selection, type, prop, window, time); while (!XCheckTypedWindowEvent(display, window, SelectionNotify, &ev)) { if (loops == 0) { //fxwarning("fxsendrequest:timed out!\n"); return(None); } FXThread::sleep(10000000); // Don't burn too much CPU here:- the other guy needs it more.... loops--; } return(ev.xselection.property); } // Wait for event of certain type static FXbool fxwaitforevent(Display* display, Window window, int type, XEvent& event) { // !!! Hack here to reduce timeout !!! FXuint loops = 10; while (!XCheckTypedWindowEvent(display, window, type, &event)) { if (loops == 0) { //fxwarning("fxwaitforevent:timed out!\n"); return(false); } FXThread::sleep(10000000); // Don't burn too much CPU here:- the other guy needs it more.... loops--; } return(true); } // The four following functions are not modified but are necessary here because the previous ones are not called directly // Read property in chunks smaller than maximum transfer length, // appending to data array; returns amount read from the property. static FXuint fxrecvprop(Display* display, Window window, Atom prop, Atom& type, FXuchar*& data, FXuint& size) { unsigned long maxtfrsize = XMaxRequestSize(display)*4; unsigned long tfroffset, tfrsize, tfrleft; FXuchar* ptr; int format; tfroffset = 0; // Read next chunk of data from property while (XGetWindowProperty(display, window, prop, tfroffset>>2, maxtfrsize>>2, False, AnyPropertyType, &type, &format, &tfrsize, &tfrleft, &ptr) == Success && type != None) { tfrsize *= (format>>3); // Grow the array to accomodate new data if (!FXRESIZE(&data, FXuchar, size+tfrsize+1)) { XFree(ptr); break; } // Append new data at the end, plus the extra 0. memcpy(&data[size], ptr, tfrsize+1); size += tfrsize; tfroffset += tfrsize; XFree(ptr); if (tfrleft == 0) { break; } } // Delete property after we're done XDeleteProperty(display, window, prop); XFlush(display); return(tfroffset); } // Receive data via property Atom fxrecvdata(Display* display, Window window, Atom prop, Atom incr, Atom& type, FXuchar*& data, FXuint& size) { unsigned long tfrsize, tfrleft; FXuchar* ptr; XEvent ev; int format; data = NULL; size = 0; if (prop) { // First, see what we've got if ((XGetWindowProperty(display, window, prop, 0, 0, False, AnyPropertyType, &type, &format, &tfrsize, &tfrleft, &ptr) == Success) && (type != None)) { XFree(ptr); // Incremental transfer if (type == incr) { // Delete the INCR property XDeleteProperty(display, window, prop); XFlush(display); // Wait for the next batch of data while (fxwaitforevent(display, window, PropertyNotify, ev)) { // Wrong type of notify event; perhaps stale event if ((ev.xproperty.atom != prop) || (ev.xproperty.state != PropertyNewValue)) { continue; } // See what we've got if ((XGetWindowProperty(display, window, prop, 0, 0, False, AnyPropertyType, &type, &format, &tfrsize, &tfrleft, &ptr) == Success) && (type != None)) { XFree(ptr); // if empty property, its the last one if (tfrleft == 0) { // Delete property so the other side knows we've got the data XDeleteProperty(display, window, prop); XFlush(display); break; } // Read and delete the property fxrecvprop(display, window, prop, type, data, size); } } } // All data in one shot else { // Read and delete the property fxrecvprop(display, window, prop, type, data, size); } } return(prop); } return(None); } // Retrieve CLIPBOARD selection data void FXApp::clipboardGetData(const FXWindow* window, FXDragType type, FXuchar*& data, FXuint& size) { FXID answer; data = NULL; size = 0; if (clipboardWindow) { event.type = SEL_CLIPBOARD_REQUEST; event.target = type; ddeData = NULL; ddeSize = 0; clipboardWindow->handle(this, FXSEL(SEL_CLIPBOARD_REQUEST, 0), &event); data = ddeData; size = ddeSize; ddeData = NULL; ddeSize = 0; } else { answer = fxsendrequest((Display*)display, window->id(), xcbSelection, ddeAtom, type, event.time); fxrecvdata((Display*)display, window->id(), answer, ddeIncr, type, data, size); } } // Get dropped data; called in response to DND enter or DND drop bool FXWindow::getDNDData(FXDNDOrigin origin, FXDragType targettype, FXuchar*& data, FXuint& size) const { if (xid == 0) { fxerror("%s::getDNDData: window has not yet been created.\n", getClassName()); } switch (origin) { case FROM_DRAGNDROP: getApp()->dragdropGetData(this, targettype, data, size); break; case FROM_CLIPBOARD: getApp()->clipboardGetData(this, targettype, data, size); break; case FROM_SELECTION: getApp()->selectionGetData(this, targettype, data, size); break; } return(data != NULL); } // // Hack of FXWindow // // This hack fixes a bug in FOX that prevent any character to be entered // when FOX is compiled with the --with-xim option // The bug is fixed in FOX 1.6.35 and above // However, the hack is still here because the latest FOX is not necessarily present // on the user's Linux distribution #include "FXComposeContext.h" // Create compose context void FXWindow::createComposeContext() { if (!composeContext) { composeContext = new FXComposeContext(getApp(), this, 0); // !!! This line was missing !!! composeContext->create(); } } // // Hack of FXTextField // // This hack fixes a bug in FOX that make some input fields crash the application // when FOX was compiled with the --with-xim option // The bug is not fixed yet in FOX 1.6.36 // Into focus chain void FXTextField::setFocus() { FXFrame::setFocus(); setDefault(true); flags &= ~FLAG_UPDATE; if (getApp()->hasInputMethod() && this->id()) { createComposeContext(); } } // This hack allows to ignore caps lock when using Ctrl-A, Ctrl-C, Ctrl-V and Ctrl-X shortcuts // Pressed a key long FXTextField::onKeyPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; flags &= ~FLAG_TIP; if (isEnabled()) { if (target && target->tryHandle(this, FXSEL(SEL_KEYPRESS, message), ptr)) { return(1); } flags &= ~FLAG_UPDATE; switch (event->code) { case KEY_Right: case KEY_KP_Right: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } if (event->state&CONTROLMASK) { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_WORD_RIGHT), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_RIGHT), NULL); } if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Left: case KEY_KP_Left: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } if (event->state&CONTROLMASK) { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_WORD_LEFT), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_LEFT), NULL); } if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Home: case KEY_KP_Home: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_HOME), NULL); if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_End: case KEY_KP_End: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_END), NULL); if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Insert: case KEY_KP_Insert: if (event->state&CONTROLMASK) { handle(this, FXSEL(SEL_COMMAND, ID_COPY_SEL), NULL); return(1); } else if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_PASTE_SEL), NULL); return(1); } else { handle(this, FXSEL(SEL_COMMAND, ID_TOGGLE_OVERSTRIKE), NULL); } return(1); case KEY_Delete: case KEY_KP_Delete: if (hasSelection()) { if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_CUT_SEL), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_DELETE_SEL), NULL); } } else { handle(this, FXSEL(SEL_COMMAND, ID_DELETE), NULL); } return(1); case KEY_BackSpace: if (hasSelection()) { handle(this, FXSEL(SEL_COMMAND, ID_DELETE_SEL), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_BACKSPACE), NULL); } return(1); case KEY_Return: case KEY_KP_Enter: if (isEditable()) { flags |= FLAG_UPDATE; flags &= ~FLAG_CHANGED; if (target) { target->tryHandle(this, FXSEL(SEL_COMMAND, message), (void*)contents.text()); } } else { getApp()->beep(); } return(1); case KEY_a: case KEY_A: // Hack if (!(event->state&CONTROLMASK)) { goto ins; } handle(this, FXSEL(SEL_COMMAND, ID_SELECT_ALL), NULL); return(1); case KEY_x: case KEY_X: // Hack if (!(event->state&CONTROLMASK)) { goto ins; } case KEY_F20: // Sun Cut key handle(this, FXSEL(SEL_COMMAND, ID_CUT_SEL), NULL); return(1); case KEY_c: case KEY_C: // Hack if (!(event->state&CONTROLMASK)) { goto ins; } case KEY_F16: // Sun Copy key handle(this, FXSEL(SEL_COMMAND, ID_COPY_SEL), NULL); return(1); case KEY_v: case KEY_V: // Hack if (!(event->state&CONTROLMASK)) { goto ins; } case KEY_F18: // Sun Paste key handle(this, FXSEL(SEL_COMMAND, ID_PASTE_SEL), NULL); return(1); default: ins: if ((event->state&(CONTROLMASK|ALTMASK)) || ((FXuchar)event->text[0] < 32)) { return(0); } if (isOverstrike()) { handle(this, FXSEL(SEL_COMMAND, ID_OVERST_STRING), (void*)event->text.text()); } else { handle(this, FXSEL(SEL_COMMAND, ID_INSERT_STRING), (void*)event->text.text()); } return(1); } } return(0); } // // Hack of FXApp // // This hack fixes a bug in FOX that prevent to enter composed characters when the mouse pointer // lies outside the text field. The implementation differs if iBus is running or not // The bug is not fixed yet in FOX 1.6.50 namespace FX { // Callback Record struct FXCBSpec { FXObject* target; // Receiver object FXSelector message; // Message sent to receiver }; // Timer record struct FXTimer { FXTimer* next; // Next timeout in list FXObject* target; // Receiver object void* data; // User data FXSelector message; // Message sent to receiver FXlong due; // When timer is due (ns) }; // Signal record struct FXSignal { FXObject* target; // Receiver object FXSelector message; // Message sent to receiver FXbool handlerset; // Handler was already set FXbool notified; // Signal has fired }; // Idle record struct FXChore { FXChore* next; // Next chore in list FXObject* target; // Receiver object void* data; // User data FXSelector message; // Message sent to receiver }; // Input record struct FXInput { FXCBSpec read; // Callback spec for read FXCBSpec write; // Callback spec for write FXCBSpec excpt; // Callback spec for except }; // A repaint event record struct FXRepaint { FXRepaint* next; // Next repaint in list FXID window; // Window ID of the dirty window FXRectangle rect; // Dirty rectangle int hint; // Hint for compositing FXbool synth; // Synthetic expose event or real one? }; // Recursive Event Loop Invocation struct FXInvocation { FXInvocation** invocation; // Pointer to variable holding pointer to current invocation FXInvocation* upper; // Invocation above this one FXWindow* window; // Modal window (if any) FXModality modality; // Modality mode int code; // Return code FXbool done; // True if breaking out // Enter modal loop FXInvocation(FXInvocation** inv, FXModality mode, FXWindow* win) : invocation(inv), upper(*inv), window(win), modality(mode), code(0), done(false) { *invocation = this; } // Exit modal loop ~FXInvocation() { *invocation = upper; } }; } // namespace FX // Largest number of signals on this system #define MAXSIGNALS 64 // Regular define #define SELECT(n, r, w, e, t) select(n, r, w, e, t) // DND protocol version #define XDND_PROTOCOL_VERSION 5 // Send types via property Atom fxsendtypes(Display* display, Window window, Atom prop, FXDragType* types, FXuint numtypes) { if (types && numtypes) { XChangeProperty(display, window, prop, XA_ATOM, 32, PropModeReplace, (unsigned char*)types, numtypes); return(prop); } return(None); } // Send data via property Atom fxsenddata(Display* display, Window window, Atom prop, Atom type, FXuchar* data, FXuint size) { unsigned long maxtfrsize, tfrsize, tfroffset; int mode; if (data && size) { maxtfrsize = 4*XMaxRequestSize(display); mode = PropModeReplace; tfroffset = 0; while (size) { tfrsize = size; if (tfrsize > maxtfrsize) { tfrsize = maxtfrsize; } XChangeProperty(display, window, prop, type, 8, mode, &data[tfroffset], tfrsize); mode = PropModeAppend; tfroffset += tfrsize; size -= tfrsize; } return(prop); } return(None); } // Reply to request for selection info Atom fxsendreply(Display* display, Window window, Atom selection, Atom prop, Atom target, FXuint time) { XEvent se; se.xselection.type = SelectionNotify; se.xselection.send_event = TRUE; se.xselection.display = display; se.xselection.requestor = window; se.xselection.selection = selection; se.xselection.target = target; se.xselection.property = prop; se.xselection.time = time; XSendEvent(display, window, True, NoEventMask, &se); XFlush(display); return(prop); } // Read type list from property Atom fxrecvtypes(Display* display, Window window, Atom prop, FXDragType*& types, FXuint& numtypes, FXbool del) { unsigned long numitems, bytesleft; unsigned char* ptr; int actualformat; Atom actualtype; types = NULL; numtypes = 0; if (prop) { if (XGetWindowProperty(display, window, prop, 0, 1024, del, XA_ATOM, &actualtype, &actualformat, &numitems, &bytesleft, &ptr) == Success) { if ((actualtype == XA_ATOM) && (actualformat == 32) && (numitems > 0)) { if (FXMALLOC(&types, Atom, numitems)) { memcpy(types, ptr, sizeof(Atom)*numitems); numtypes = numitems; } } XFree(ptr); } return(prop); } return(None); } // Get an event bool FXApp::getNextEvent(FXRawEvent& ev, bool blocking) { XEvent e; // Set to no-op just in case ev.xany.type = 0; // Handle all past due timers if (timers) { handleTimeouts(); } // Check non-immediate signals that may have fired if (nsignals) { for (int sig = 0; sig < MAXSIGNALS; sig++) { if (signals[sig].notified) { signals[sig].notified = false; if (signals[sig].target && signals[sig].target->tryHandle(this, FXSEL(SEL_SIGNAL, signals[sig].message), (void*)(FXival)sig)) { refresh(); return(false); } } } } // Are there no events already queued up? if (!initialized || !XEventsQueued((Display*)display, QueuedAfterFlush)) { struct timeval delta; fd_set readfds; fd_set writefds; fd_set exceptfds; int maxfds; int nfds; // Prepare fd's to check maxfds = maxinput; readfds = *((fd_set*)r_fds); writefds = *((fd_set*)w_fds); exceptfds = *((fd_set*)e_fds); // Add connection to display if its open if (initialized) { FD_SET(ConnectionNumber((Display*)display), &readfds); if (ConnectionNumber((Display*)display) > maxfds) { maxfds = ConnectionNumber((Display*)display); } } delta.tv_usec = 0; delta.tv_sec = 0; // Do a quick poll for any ready events or inputs nfds = SELECT(maxfds+1, &readfds, &writefds, &exceptfds, &delta); // Nothing to do, so perform idle processing if (nfds == 0) { // Release the expose events if (repaints) { register FXRepaint* r = repaints; ev.xany.type = Expose; ev.xexpose.window = r->window; ev.xexpose.send_event = r->synth; ev.xexpose.x = r->rect.x; ev.xexpose.y = r->rect.y; ev.xexpose.width = r->rect.w-r->rect.x; ev.xexpose.height = r->rect.h-r->rect.y; repaints = r->next; r->next = repaintrecs; repaintrecs = r; return(true); } // Do our chores :-) if (chores) { register FXChore* c = chores; chores = c->next; if (c->target && c->target->tryHandle(this, FXSEL(SEL_CHORE, c->message), c->data)) { refresh(); } c->next = chorerecs; chorerecs = c; } // GUI updating:- walk the whole widget tree. if (refresher) { refresher->handle(this, FXSEL(SEL_UPDATE, 0), NULL); if (refresher->getFirst()) { refresher = refresher->getFirst(); } else { while (refresher->getParent()) { if (refresher->getNext()) { refresher = refresher->getNext(); break; } refresher = refresher->getParent(); } } FXASSERT(refresher); if (refresher != refresherstop) { return(false); } refresher = refresherstop = NULL; } // There are more chores to do if (chores) { return(false); } // We're not blocking if (!blocking) { return(false); } // Now, block till timeout, i/o, or event maxfds = maxinput; readfds = *((fd_set*)r_fds); writefds = *((fd_set*)w_fds); exceptfds = *((fd_set*)e_fds); // Add connection to display if its open if (initialized) { FD_SET(ConnectionNumber((Display*)display), &readfds); if (ConnectionNumber((Display*)display) > maxfds) { maxfds = ConnectionNumber((Display*)display); } } // If there are timers, we block only for a little while. if (timers) { // All that testing above may have taken some time... FXlong interval = timers->due-FXThread::time(); // Some timers are already due; do them right away! if (interval <= 0) { return(false); } // Compute how long to wait delta.tv_usec = (interval/1000)%1000000; delta.tv_sec = interval/1000000000; // Exit critical section appMutex.unlock(); // Block till timer or event or interrupt nfds = SELECT(maxfds+1, &readfds, &writefds, &exceptfds, &delta); // Enter critical section appMutex.lock(); } // If no timers, we block till event or interrupt else { // Exit critical section appMutex.unlock(); // Block until something happens nfds = SELECT(maxfds+1, &readfds, &writefds, &exceptfds, NULL); // Enter critical section appMutex.lock(); } } // Timed out or interrupted if (nfds <= 0) { if ((nfds < 0) && (errno != EAGAIN) && (errno != EINTR)) { fxerror("Application terminated: interrupt or lost connection errno=%d\n", errno); } return(false); } // Any other file descriptors set? if (0 <= maxinput) { // Examine I/O file descriptors for (FXInputHandle fff = 0; fff <= maxinput; fff++) { // Copy the record as the callbacks may try to change things FXInput in = inputs[fff]; // Skip the display connection, which is treated differently if (initialized && (fff == ConnectionNumber((Display*)display))) { continue; } // Check file descriptors if (FD_ISSET(fff, &readfds)) { if (in.read.target && in.read.target->tryHandle(this, FXSEL(SEL_IO_READ, in.read.message), (void*)(FXival)fff)) { refresh(); } } if (FD_ISSET(fff, &writefds)) { if (in.write.target && in.write.target->tryHandle(this, FXSEL(SEL_IO_WRITE, in.write.message), (void*)(FXival)fff)) { refresh(); } } if (FD_ISSET(fff, &exceptfds)) { if (in.excpt.target && in.excpt.target->tryHandle(this, FXSEL(SEL_IO_EXCEPT, in.excpt.message), (void*)(FXival)fff)) { refresh(); } } } } // If there is no event, we're done if (!initialized || !FD_ISSET(ConnectionNumber((Display*)display), &readfds) || !XEventsQueued((Display*)display, QueuedAfterReading)) { return(false); } } // Get an event XNextEvent((Display*)display, &ev); // !!! Hack to fix the bug with composed characters !!! if (xim_used) { // Filter event through input method context, if any if (xim && XFilterEvent(&ev, None)) { return(false); } } else { FXWindow* focuswin; focuswin = getFocusWindow(); if (xim && focuswin && XFilterEvent(&ev, (Window)focuswin->id())) { return(false); } } // !!! End of hack !!! // Save expose events for later... if ((ev.xany.type == Expose) || (ev.xany.type == GraphicsExpose)) { addRepaint((FXID)ev.xexpose.window, ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height, 0); return(false); } // Compress motion events if (ev.xany.type == MotionNotify) { while (XPending((Display*)display)) { XPeekEvent((Display*)display, &e); if ((e.xany.type != MotionNotify) || (ev.xmotion.window != e.xmotion.window) || (ev.xmotion.state != e.xmotion.state)) { break; } XNextEvent((Display*)display, &ev); } } // Compress wheel events else if ((ev.xany.type == ButtonPress) && ((ev.xbutton.button == Button4) || (ev.xbutton.button == Button5))) { int ticks = 1; while (XPending((Display*)display)) { XPeekEvent((Display*)display, &e); if (((e.xany.type != ButtonPress) && (e.xany.type != ButtonRelease)) || (ev.xany.window != e.xany.window) || (ev.xbutton.button != e.xbutton.button)) { break; } ticks += (e.xany.type == ButtonPress); XNextEvent((Display*)display, &ev); } ev.xbutton.subwindow = (Window)ticks; // Stick it here for later } // Compress configure events else if (ev.xany.type == ConfigureNotify) { while (XCheckTypedWindowEvent((Display*)display, ev.xconfigure.window, ConfigureNotify, &e)) { ev.xconfigure.width = e.xconfigure.width; ev.xconfigure.height = e.xconfigure.height; if (e.xconfigure.send_event) { ev.xconfigure.x = e.xconfigure.x; ev.xconfigure.y = e.xconfigure.y; } } } // Regular event return(true); } // Translate key code to utf8 text FXString translateKeyEvent(FXRawEvent& event) { char buffer[40]; KeySym sym; FXwchar w; XLookupString(&event.xkey, buffer, sizeof(buffer), &sym, NULL); w = fxkeysym2ucs(sym); return(FXString(&w, 1)); } // Get keysym; interprets the modifiers! static FXuint keysym(FXRawEvent& event) { KeySym sym = KEY_VoidSymbol; char buffer[40]; XLookupString(&event.xkey, buffer, sizeof(buffer), &sym, NULL); return(sym); } // Dispatch event to widget bool FXApp::dispatchEvent(FXRawEvent& ev) { FXWindow* window, *ancestor; FXint tmp_x, tmp_y; Atom answer; XEvent se; Window tmp; // Get window window = findWindowWithId(ev.xany.window); // Was one of our windows, so dispatch if (window) { switch (ev.xany.type) { // Repaint event case GraphicsExpose: case Expose: event.type = SEL_PAINT; event.rect.x = ev.xexpose.x; event.rect.y = ev.xexpose.y; event.rect.w = ev.xexpose.width; event.rect.h = ev.xexpose.height; event.synthetic = ev.xexpose.send_event; window->handle(this, FXSEL(SEL_PAINT, 0), &event); case NoExpose: return(true); // Keymap Notify case KeymapNotify: return(true); // Keyboard case KeyPress: // !!! Hack to fix the bug with composed characters !!! FXWindow* focuswin; focuswin = getFocusWindow(); if ((ev.xkey.keycode != 0) && focuswin && focuswin->getComposeContext()) { Window w; XGetICValues((XIC)focuswin->getComposeContext()->id(), XNFocusWindow, &w, NULL); // Mouse pointer is not over the text field if (!focuswin->underCursor()) { if ((focuswin->id() != w) && XFilterEvent(&ev, (Window)focuswin->id())) { return(true); } } } // !!! End of hack !!! case KeyRelease: event.type = SEL_KEYPRESS+ev.xkey.type-KeyPress; event.time = ev.xkey.time; event.win_x = ev.xkey.x; event.win_y = ev.xkey.y; event.root_x = ev.xkey.x_root; event.root_y = ev.xkey.y_root; // Translate to keysym; must interpret modifiers! event.code = keysym(ev); // Translate to string on KeyPress if (ev.xkey.type == KeyPress) { if (getFocusWindow() && getFocusWindow()->getComposeContext()) { event.text = getFocusWindow()->getComposeContext()->translateEvent(ev); } else { event.text = translateKeyEvent(ev); } } // Clear string on KeyRelease else { event.text.clear(); } // Mouse buttons and modifiers but no wheel buttons event.state = ev.xkey.state&~(Button4Mask|Button5Mask); // Fix modifier state if (ev.xkey.type == KeyPress) { if (event.code == KEY_Shift_L) { event.state |= SHIFTMASK; } else if (event.code == KEY_Shift_R) { event.state |= SHIFTMASK; } else if (event.code == KEY_Control_L) { event.state |= CONTROLMASK; } else if (event.code == KEY_Control_R) { event.state |= CONTROLMASK; } else if (event.code == KEY_F13) { event.state |= METAMASK; // Key between Ctrl and Alt (on most keyboards) } else if (event.code == KEY_Alt_L) { event.state |= ALTMASK; } else if (event.code == KEY_Alt_R) { event.state |= ALTMASK; // FIXME do we need ALTGR flag instead/in addition? } else if (event.code == KEY_Num_Lock) { event.state |= NUMLOCKMASK; } else if (event.code == KEY_Caps_Lock) { event.state |= CAPSLOCKMASK; } else if (event.code == KEY_Scroll_Lock) { event.state |= SCROLLLOCKMASK; } else if (event.code == KEY_Super_L) { event.state |= METAMASK; } else if (event.code == KEY_Super_R) { event.state |= METAMASK; } else { stickyMods = event.state&(SHIFTMASK|CONTROLMASK|METAMASK|ALTMASK); } } else { if (event.code == KEY_Shift_L) { event.state &= ~SHIFTMASK; } else if (event.code == KEY_Shift_R) { event.state &= ~SHIFTMASK; } else if (event.code == KEY_Control_L) { event.state &= ~CONTROLMASK; } else if (event.code == KEY_Control_R) { event.state &= ~CONTROLMASK; } else if (event.code == KEY_F13) { event.state &= ~METAMASK; // Key between Ctrl and Alt (on most keyboards) } else if (event.code == KEY_Alt_L) { event.state &= ~ALTMASK; } else if (event.code == KEY_Alt_R) { event.state &= ~ALTMASK; // FIXME do we need ALTGR flag instead/in addition? } else if (event.code == KEY_Num_Lock) { event.state &= ~NUMLOCKMASK; } else if (event.code == KEY_Caps_Lock) { event.state &= ~CAPSLOCKMASK; } else if (event.code == KEY_Scroll_Lock) { event.state &= ~SCROLLLOCKMASK; } else if (event.code == KEY_Super_L) { event.state &= ~METAMASK; } else if (event.code == KEY_Super_R) { event.state &= ~METAMASK; } else { event.state |= stickyMods; stickyMods = 0; } } // Keyboard grabbed by specific window if (keyboardGrabWindow) { if (keyboardGrabWindow->handle(this, FXSEL(event.type, 0), &event)) { refresh(); } return(true); } // Remember window for later if (ev.xkey.type == KeyPress) { keyWindow = activeWindow; } // Dispatch to key window if (keyWindow) { // FIXME doesSaveUnder test should go away // Dispatch if not in a modal loop or in a modal loop for a window containing the focus window if (!invocation || (invocation->modality == MODAL_FOR_NONE) || (invocation->window && invocation->window->isOwnerOf(keyWindow)) || keyWindow->getShell()->doesSaveUnder()) { if (keyWindow->handle(this, FXSEL(event.type, 0), &event)) { refresh(); } return(TRUE); } // Beep if outside modal if (ev.xany.type == KeyPress) { beep(); } } return(true); // Motion case MotionNotify: event.type = SEL_MOTION; event.time = ev.xmotion.time; event.win_x = ev.xmotion.x; event.win_y = ev.xmotion.y; event.root_x = ev.xmotion.x_root; event.root_y = ev.xmotion.y_root; event.code = 0; // Mouse buttons and modifiers but no wheel buttons event.state = (ev.xmotion.state&~(Button4Mask|Button5Mask)) | stickyMods; // Moved more that delta if ((FXABS(event.root_x-event.rootclick_x) >= dragDelta) || (FXABS(event.root_y-event.rootclick_y) >= dragDelta)) { event.moved = 1; } // Dispatch to grab window if (mouseGrabWindow) { window->translateCoordinatesTo(event.win_x, event.win_y, mouseGrabWindow, event.win_x, event.win_y); if (mouseGrabWindow->handle(this, FXSEL(SEL_MOTION, 0), &event)) { refresh(); } } // FIXME doesSaveUnder test should go away // Dispatch if inside model window else if (!invocation || (invocation->modality == MODAL_FOR_NONE) || (invocation->window && invocation->window->isOwnerOf(window)) || window->getShell()->doesSaveUnder()) { if (window->handle(this, FXSEL(SEL_MOTION, 0), &event)) { refresh(); } } // Remember last mouse event.last_x = event.win_x; event.last_y = event.win_y; return(true); // Button case ButtonPress: case ButtonRelease: event.time = ev.xbutton.time; event.win_x = ev.xbutton.x; event.win_y = ev.xbutton.y; event.root_x = ev.xbutton.x_root; event.root_y = ev.xbutton.y_root; // Mouse buttons and modifiers but no wheel buttons event.state = (ev.xmotion.state&~(Button4Mask|Button5Mask)) | stickyMods; // Mouse Wheel if ((ev.xbutton.button == Button4) || (ev.xbutton.button == Button5)) { event.type = SEL_MOUSEWHEEL; event.code = ((ev.xbutton.button == Button4) ? 120 : -120)*ev.xbutton.subwindow; // Dispatch to grab window if (mouseGrabWindow) { window->translateCoordinatesTo(event.win_x, event.win_y, mouseGrabWindow, event.win_x, event.win_y); if (mouseGrabWindow->handle(this, FXSEL(SEL_MOUSEWHEEL, 0), &event)) { refresh(); } return(true); } // Dispatch to window under cursor // FIXME doesSaveUnder test should go away while (window && (!invocation || invocation->modality == MODAL_FOR_NONE || (invocation->window && invocation->window->isOwnerOf(window)) || window->getShell()->doesSaveUnder())) { if (window->handle(this, FXSEL(SEL_MOUSEWHEEL, 0), &event)) { refresh(); break; } window = window->getParent(); } return(true); } // Mouse Button event.code = ev.xbutton.button; if (ev.xbutton.type == ButtonPress) // Mouse button press { if (ev.xbutton.button == Button1) { event.type = SEL_LEFTBUTTONPRESS; event.state |= LEFTBUTTONMASK; } if (ev.xbutton.button == Button2) { event.type = SEL_MIDDLEBUTTONPRESS; event.state |= MIDDLEBUTTONMASK; } if (ev.xbutton.button == Button3) { event.type = SEL_RIGHTBUTTONPRESS; event.state |= RIGHTBUTTONMASK; } if (!event.moved && (event.time-event.click_time < clickSpeed) && (event.code == (FXint)event.click_button)) { event.click_count++; event.click_time = event.time; } else { event.click_count = 1; event.click_x = event.win_x; event.click_y = event.win_y; event.rootclick_x = event.root_x; event.rootclick_y = event.root_y; event.click_button = event.code; event.click_time = event.time; } if (!(ev.xbutton.state&(Button1Mask|Button2Mask|Button3Mask))) { event.moved = 0; } } else // Mouse button release { if (ev.xbutton.button == Button1) { event.type = SEL_LEFTBUTTONRELEASE; event.state &= ~LEFTBUTTONMASK; } if (ev.xbutton.button == Button2) { event.type = SEL_MIDDLEBUTTONRELEASE; event.state &= ~MIDDLEBUTTONMASK; } if (ev.xbutton.button == Button3) { event.type = SEL_RIGHTBUTTONRELEASE; event.state &= ~RIGHTBUTTONMASK; } } // Dispatch to grab window if (mouseGrabWindow) { window->translateCoordinatesTo(event.win_x, event.win_y, mouseGrabWindow, event.win_x, event.win_y); if (mouseGrabWindow->handle(this, FXSEL(event.type, 0), &event)) { refresh(); } } // Dispatch if inside model window // FIXME doesSaveUnder test should go away else if (!invocation || (invocation->modality == MODAL_FOR_NONE) || (invocation->window && invocation->window->isOwnerOf(window)) || window->getShell()->doesSaveUnder()) { if (window->handle(this, FXSEL(event.type, 0), &event)) { refresh(); } } // Beep if outside modal window else { if (ev.xany.type == ButtonPress) { beep(); } } // Remember last mouse event.last_x = event.win_x; event.last_y = event.win_y; return(true); // Crossing case EnterNotify: event.time = ev.xcrossing.time; if (cursorWindow != window) { if ((ev.xcrossing.mode == NotifyGrab) || (ev.xcrossing.mode == NotifyUngrab) || ((ev.xcrossing.mode == NotifyNormal) && (ev.xcrossing.detail != NotifyInferior))) { ancestor = FXWindow::commonAncestor(window, cursorWindow); event.root_x = ev.xcrossing.x_root; event.root_y = ev.xcrossing.y_root; event.code = ev.xcrossing.mode; leaveWindow(cursorWindow, ancestor); enterWindow(window, ancestor); } } return(true); // Crossing case LeaveNotify: event.time = ev.xcrossing.time; if (cursorWindow == window) { if ((ev.xcrossing.mode == NotifyGrab) || (ev.xcrossing.mode == NotifyUngrab) || ((ev.xcrossing.mode == NotifyNormal) && (ev.xcrossing.detail != NotifyInferior))) { event.root_x = ev.xcrossing.x_root; event.root_y = ev.xcrossing.y_root; event.code = ev.xcrossing.mode; FXASSERT(cursorWindow == window); leaveWindow(window, window->getParent()); } } return(true); // Focus change on shell window case FocusIn: case FocusOut: window = window->getShell(); if ((ev.xfocus.type == FocusOut) && (activeWindow == window)) { event.type = SEL_FOCUSOUT; if (window->handle(this, FXSEL(SEL_FOCUSOUT, 0), &event)) { refresh(); } activeWindow = NULL; } if ((ev.xfocus.type == FocusIn) && (activeWindow != window)) { event.type = SEL_FOCUSIN; if (window->handle(this, FXSEL(SEL_FOCUSIN, 0), &event)) { refresh(); } activeWindow = window; } return(true); // Map case MapNotify: event.type = SEL_MAP; if (window->handle(this, FXSEL(SEL_MAP, 0), &event)) { refresh(); } return(true); // Unmap case UnmapNotify: event.type = SEL_UNMAP; if (window->handle(this, FXSEL(SEL_UNMAP, 0), &event)) { refresh(); } return(true); // Create case CreateNotify: event.type = SEL_CREATE; if (window->handle(this, FXSEL(SEL_CREATE, 0), &event)) { refresh(); } return(true); // Destroy case DestroyNotify: event.type = SEL_DESTROY; if (window->handle(this, FXSEL(SEL_DESTROY, 0), &event)) { refresh(); } return(true); // Configure case ConfigureNotify: event.type = SEL_CONFIGURE; // According to the ICCCM, if its synthetic, the coordinates are relative // to root window; otherwise, they're relative to the parent; so we use // the old coordinates if its not a synthetic configure notify if ((window->getShell() == window) && !ev.xconfigure.send_event) { ev.xconfigure.x = window->getX(); ev.xconfigure.y = window->getY(); } event.rect.x = ev.xconfigure.x; event.rect.y = ev.xconfigure.y; event.rect.w = ev.xconfigure.width; event.rect.h = ev.xconfigure.height; event.synthetic = ev.xconfigure.send_event; if (window->handle(this, FXSEL(SEL_CONFIGURE, 0), &event)) { refresh(); } return(true); // Circulate case CirculateNotify: event.type = SEL_RAISED+(ev.xcirculate.place&1); if (window->handle(this, FXSEL(event.type, 0), &event)) { refresh(); } return(true); // Selection Clear case SelectionClear: if (ev.xselectionclear.selection == XA_PRIMARY) { // We lost the primary selection if the new selection owner is different from selectionWindow if (selectionWindow && (selectionWindow->id() != XGetSelectionOwner((Display*)display, XA_PRIMARY))) { event.type = SEL_SELECTION_LOST; event.time = ev.xselectionclear.time; if (selectionWindow->handle(this, FXSEL(SEL_SELECTION_LOST, 0), &event)) { refresh(); } selectionWindow = NULL; } FXFREE(&xselTypeList); xselNumTypes = 0; } else if (ev.xselectionclear.selection == xcbSelection) { // We lost the clipboard selection if the new clipboard owner is different from clipboardWindow if (clipboardWindow && (clipboardWindow->id() != XGetSelectionOwner((Display*)display, xcbSelection))) { event.time = ev.xselectionclear.time; event.type = SEL_CLIPBOARD_LOST; if (clipboardWindow->handle(this, FXSEL(SEL_CLIPBOARD_LOST, 0), &event)) { refresh(); } clipboardWindow = NULL; } FXFREE(&xcbTypeList); xcbNumTypes = 0; } return(true); // Selection Request case SelectionRequest: answer = None; if (ev.xselectionrequest.selection == XA_PRIMARY) { if (selectionWindow) { if (ev.xselectionrequest.target == ddeTargets) // Request for TYPES { answer = fxsendtypes((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, xselTypeList, xselNumTypes); } else // Request for DATA { event.type = SEL_SELECTION_REQUEST; event.time = ev.xselectionrequest.time; event.target = ev.xselectionrequest.target; ddeData = NULL; ddeSize = 0; selectionWindow->handle(this, FXSEL(SEL_SELECTION_REQUEST, 0), &event); answer = fxsenddata((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, ev.xselectionrequest.target, ddeData, ddeSize); FXFREE(&ddeData); ddeData = NULL; ddeSize = 0; } } } else if (ev.xselectionrequest.selection == xcbSelection) { if (clipboardWindow) { if (ev.xselectionrequest.target == ddeTargets) // Request for TYPES { answer = fxsendtypes((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, xcbTypeList, xcbNumTypes); } else // Request for DATA { event.type = SEL_CLIPBOARD_REQUEST; event.time = ev.xselectionrequest.time; event.target = ev.xselectionrequest.target; ddeData = NULL; ddeSize = 0; clipboardWindow->handle(this, FXSEL(SEL_CLIPBOARD_REQUEST, 0), &event); answer = fxsenddata((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, ev.xselectionrequest.target, ddeData, ddeSize); FXFREE(&ddeData); ddeData = NULL; ddeSize = 0; } } } else if (ev.xselectionrequest.selection == xdndSelection) { if (dragWindow) { if (ev.xselectionrequest.target == ddeTargets) // Request for TYPES { answer = fxsendtypes((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, xdndTypeList, xdndNumTypes); } else // Request for DATA { event.type = SEL_DND_REQUEST; event.time = ev.xselectionrequest.time; event.target = ev.xselectionrequest.target; ddeData = NULL; ddeSize = 0; dragWindow->handle(this, FXSEL(SEL_DND_REQUEST, 0), &event); answer = fxsenddata((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.property, ev.xselectionrequest.target, ddeData, ddeSize); FXFREE(&ddeData); ddeData = NULL; ddeSize = 0; } } } fxsendreply((Display*)display, ev.xselectionrequest.requestor, ev.xselectionrequest.selection, answer, ev.xselectionrequest.target, ev.xselectionrequest.time); return(true); // Selection Notify case SelectionNotify: return(true); // Client message case ClientMessage: // WM_PROTOCOLS if (ev.xclient.message_type == wmProtocols) { if ((FXID)ev.xclient.data.l[0] == wmDeleteWindow) // WM_DELETE_WINDOW { event.type = SEL_CLOSE; if (!invocation || (invocation->modality == MODAL_FOR_NONE) || (invocation->window && invocation->window->isOwnerOf(window))) { if (window->handle(this, FXSEL(SEL_CLOSE, 0), &event)) { refresh(); } } else { beep(); } } else if ((FXID)ev.xclient.data.l[0] == wmQuitApp) // WM_QUIT_APP { event.type = SEL_CLOSE; if (!invocation || (invocation->modality == MODAL_FOR_NONE) || (invocation->window && invocation->window->isOwnerOf(window))) { if (window->handle(this, FXSEL(SEL_CLOSE, 0), &event)) { refresh(); } } else { beep(); } } else if ((FXID)ev.xclient.data.l[0] == wmTakeFocus) // WM_TAKE_FOCUS { if (invocation && invocation->window && invocation->window->id()) { ev.xclient.window = invocation->window->id(); } // Assign focus to innermost modal dialog, even when trying to focus // on another window; these other windows are dead to inputs anyway. // XSetInputFocus causes a spurious BadMatch error; we ignore this in xerrorhandler XSetInputFocus((Display*)display, ev.xclient.window, RevertToParent, ev.xclient.data.l[1]); } else if ((FXID)ev.xclient.data.l[0] == wmNetPing) // NET_WM_PING { se.xclient.type = ClientMessage; se.xclient.display = (Display*)display; // This lets a window manager know that se.xclient.message_type = wmProtocols; // we're still alive after having received se.xclient.format = 32; // a WM_DELETE_WINDOW message se.xclient.window = XDefaultRootWindow((Display*)display); se.xclient.data.l[0] = ev.xclient.data.l[0]; se.xclient.data.l[1] = ev.xclient.data.l[1]; se.xclient.data.l[2] = ev.xclient.data.l[2]; se.xclient.data.l[3] = 0; se.xclient.data.l[4] = 0; XSendEvent((Display*)display, se.xclient.window, False, SubstructureRedirectMask|SubstructureNotifyMask, &se); } } // XDND Enter from source else if (ev.xclient.message_type == xdndEnter) { FXint ver = (ev.xclient.data.l[1]>>24)&255; if (ver > XDND_PROTOCOL_VERSION) { return(true); } xdndSource = ev.xclient.data.l[0]; // Now we're talking to this guy if (ddeTypeList) { FXFREE(&ddeTypeList); ddeNumTypes = 0; } if (ev.xclient.data.l[1]&1) { fxrecvtypes((Display*)display, xdndSource, xdndTypes, ddeTypeList, ddeNumTypes, FALSE); } else { FXMALLOC(&ddeTypeList, FXDragType, 3); ddeNumTypes = 0; if (ev.xclient.data.l[2]) { ddeTypeList[0] = ev.xclient.data.l[2]; ddeNumTypes++; } if (ev.xclient.data.l[3]) { ddeTypeList[1] = ev.xclient.data.l[3]; ddeNumTypes++; } if (ev.xclient.data.l[4]) { ddeTypeList[2] = ev.xclient.data.l[4]; ddeNumTypes++; } } } // XDND Leave from source else if (ev.xclient.message_type == xdndLeave) { if (xdndSource != (FXID)ev.xclient.data.l[0]) { return(true); // We're not talking to this guy } if (dropWindow) { event.type = SEL_DND_LEAVE; if (dropWindow->handle(this, FXSEL(SEL_DND_LEAVE, 0), &event)) { refresh(); } dropWindow = NULL; } if (ddeTypeList) { FXFREE(&ddeTypeList); ddeNumTypes = 0; } xdndSource = 0; } // XDND Position from source else if (ev.xclient.message_type == xdndPosition) { if (xdndSource != (FXID)ev.xclient.data.l[0]) { return(true); // We're not talking to this guy } event.time = ev.xclient.data.l[3]; event.root_x = ((FXuint)ev.xclient.data.l[2])>>16; event.root_y = ((FXuint)ev.xclient.data.l[2])&0xffff; // Search from target window down; there may be another window // (like e.g. the dragged shape window) right under the cursor. // Note this is the target window, not the proxy target.... window = findWindowAt(event.root_x, event.root_y, ev.xclient.window); if ((FXID)ev.xclient.data.l[4] == xdndActionCopy) { ddeAction = DRAG_COPY; } else if ((FXID)ev.xclient.data.l[4] == xdndActionMove) { ddeAction = DRAG_MOVE; } else if ((FXID)ev.xclient.data.l[4] == xdndActionLink) { ddeAction = DRAG_LINK; } else if ((FXID)ev.xclient.data.l[4] == xdndActionPrivate) { ddeAction = DRAG_PRIVATE; } else { ddeAction = DRAG_COPY; } ansAction = DRAG_REJECT; xdndWantUpdates = TRUE; xdndRect.x = event.root_x; xdndRect.y = event.root_y; xdndRect.w = 1; xdndRect.h = 1; if (window != dropWindow) { if (dropWindow) { event.type = SEL_DND_LEAVE; if (dropWindow->handle(this, FXSEL(SEL_DND_LEAVE, 0), &event)) { refresh(); } } dropWindow = NULL; if (window && window->isDropEnabled()) { dropWindow = window; event.type = SEL_DND_ENTER; if (dropWindow->handle(this, FXSEL(SEL_DND_ENTER, 0), &event)) { refresh(); } } } if (dropWindow) { event.type = SEL_DND_MOTION; XTranslateCoordinates((Display*)display, XDefaultRootWindow((Display*)display), dropWindow->id(), event.root_x, event.root_y, &event.win_x, &event.win_y, &tmp); if (dropWindow->handle(this, FXSEL(SEL_DND_MOTION, 0), &event)) { refresh(); } event.last_x = event.win_x; event.last_y = event.win_y; } se.xclient.type = ClientMessage; se.xclient.display = (Display*)display; se.xclient.message_type = xdndStatus; se.xclient.format = 32; se.xclient.window = xdndSource; se.xclient.data.l[0] = ev.xclient.window; // Proxy Target window se.xclient.data.l[1] = 0; if (ansAction != DRAG_REJECT) { se.xclient.data.l[1] |= 1; // Target accepted } if (xdndWantUpdates) { se.xclient.data.l[1] |= 2; // Target wants continuous position updates } se.xclient.data.l[2] = MKUINT(xdndRect.y, xdndRect.x); se.xclient.data.l[3] = MKUINT(xdndRect.h, xdndRect.w); if (ansAction == DRAG_COPY) { se.xclient.data.l[4] = xdndActionCopy; // Drag and Drop Action accepted } else if (ansAction == DRAG_MOVE) { se.xclient.data.l[4] = xdndActionMove; } else if (ansAction == DRAG_LINK) { se.xclient.data.l[4] = xdndActionLink; } else if (ansAction == DRAG_PRIVATE) { se.xclient.data.l[4] = xdndActionPrivate; } else { se.xclient.data.l[4] = None; } XSendEvent((Display*)display, xdndSource, True, NoEventMask, &se); } // XDND Drop from source else if (ev.xclient.message_type == xdndDrop) { if (xdndSource != (FXID)ev.xclient.data.l[0]) { return(true); // We're not talking to this guy } xdndFinishSent = FALSE; event.type = SEL_DND_DROP; event.time = ev.xclient.data.l[2]; if (!dropWindow || !dropWindow->handle(this, FXSEL(SEL_DND_DROP, 0), &event)) { ansAction = DRAG_REJECT; } if (!xdndFinishSent) { se.xclient.type = ClientMessage; se.xclient.display = (Display*)display; se.xclient.message_type = xdndFinished; se.xclient.format = 32; se.xclient.window = xdndSource; se.xclient.data.l[0] = ev.xclient.window; // Proxy Target window se.xclient.data.l[1] = (ansAction == DRAG_REJECT) ? 0 : 1; // Bit #0 means accepted if (ansAction == DRAG_COPY) { se.xclient.data.l[2] = xdndActionCopy; } else if (ansAction == DRAG_MOVE) { se.xclient.data.l[2] = xdndActionMove; } else if (ansAction == DRAG_LINK) { se.xclient.data.l[2] = xdndActionLink; } else if (ansAction == DRAG_PRIVATE) { se.xclient.data.l[2] = xdndActionPrivate; } else { se.xclient.data.l[2] = None; } se.xclient.data.l[3] = 0; se.xclient.data.l[4] = 0; XSendEvent((Display*)display, xdndSource, True, NoEventMask, &se); } if (ddeTypeList) { FXFREE(&ddeTypeList); ddeNumTypes = 0; } dropWindow = NULL; xdndSource = 0; refresh(); } // XDND Status from target else if (ev.xclient.message_type == xdndStatus) { // We ignore ev.xclient.data.l[0], because some other // toolkits, e.g. Qt, do not place the proper value there; // the proper value is xdndTarget, NOT xdndProxyTarget or None //if (xdndTarget!=(FXID)ev.xclient.data.l[0]) return true; // We're not talking to this guy ansAction = DRAG_REJECT; if (ev.xclient.data.l[1]&1) { if ((FXID)ev.xclient.data.l[4] == xdndActionCopy) { ansAction = DRAG_COPY; } else if ((FXID)ev.xclient.data.l[4] == xdndActionMove) { ansAction = DRAG_MOVE; } else if ((FXID)ev.xclient.data.l[4] == xdndActionLink) { ansAction = DRAG_LINK; } else if ((FXID)ev.xclient.data.l[4] == xdndActionPrivate) { ansAction = DRAG_PRIVATE; } } xdndWantUpdates = ev.xclient.data.l[1]&2; xdndRect.x = ((FXuint)ev.xclient.data.l[2])>>16; xdndRect.y = ((FXuint)ev.xclient.data.l[2])&0xffff; xdndRect.w = ((FXuint)ev.xclient.data.l[3])>>16; xdndRect.h = ((FXuint)ev.xclient.data.l[3])&0xffff; xdndStatusReceived = TRUE; xdndStatusPending = FALSE; } return(true); // Property change case PropertyNotify: event.time = ev.xproperty.time; // Update window position after minimize/maximize/restore whatever if ((ev.xproperty.atom == wmState) || (ev.xproperty.atom == wmNetState)) { event.type = SEL_CONFIGURE; XTranslateCoordinates((Display*)display, ev.xproperty.window, XDefaultRootWindow((Display*)display), 0, 0, &tmp_x, &tmp_y, &tmp); event.rect.x = tmp_x; event.rect.y = tmp_y; event.rect.w = window->getWidth(); event.rect.h = window->getHeight(); event.synthetic = ev.xproperty.send_event; if (window->handle(this, FXSEL(SEL_CONFIGURE, 0), &event)) { refresh(); } } return(true); // Keyboard mapping case MappingNotify: if (ev.xmapping.request != MappingPointer) { XRefreshKeyboardMapping(&ev.xmapping); } return(true); // Other events default: #ifdef HAVE_XRANDR_H if (ev.type == xrreventbase+RRScreenChangeNotify) { XRRUpdateConfiguration(&ev); root->setWidth(root->getDefaultWidth()); root->setHeight(root->getDefaultHeight()); } #endif return(true); } } return(false); } // // Hack of FXScrollArea // // This hack allows to scroll in horizontal mode when we are in row and small/big icons mode of a FileList // Mouse wheel used for vertical scrolling long FXScrollArea::onVMouseWheel(FXObject* sender, FXSelector sel, void* ptr) { // !!! Hack to scroll in horizontal mode !!! if (!(options&ICONLIST_COLUMNS) && options&(ICONLIST_BIG_ICONS|ICONLIST_MINI_ICONS) && streq(this->getClassName(), "FileList")) { horizontal->handle(sender, sel, ptr); } else { // !!! End of hack !!! vertical->handle(sender, sel, ptr); } return(1); } // // Hack of FXButton // // This hack fixes a focus problem on the panels when activating a button which is already activated // Now, the focus on the active panel is not lost anymore // Pressed mouse button long FXButton::onLeftBtnPress(FXObject*, FXSelector, void* ptr) { handle(this, FXSEL(SEL_FOCUS_SELF, 0), ptr); flags &= ~FLAG_TIP; if (isEnabled() && !(flags&FLAG_PRESSED)) { grab(); if (target && target->tryHandle(this, FXSEL(SEL_LEFTBUTTONPRESS, message), ptr)) { return(1); } //if (state!=STATE_ENGAGED) // !!! Hack here !!! setState(STATE_DOWN); flags |= FLAG_PRESSED; flags &= ~FLAG_UPDATE; return(1); } return(0); } // Hot key combination pressed long FXButton::onHotKeyPress(FXObject*, FXSelector, void* ptr) { flags &= ~FLAG_TIP; handle(this, FXSEL(SEL_FOCUS_SELF, 0), ptr); if (isEnabled() && !(flags&FLAG_PRESSED)) { //if (state!=STATE_ENGAGED) // !!! Hack here !!! setState(STATE_DOWN); flags &= ~FLAG_UPDATE; flags |= FLAG_PRESSED; } return(1); } // // Hack of FXTopWindow // // This hack fixes a problem with some window managers like Icewm or Openbox // These WMs do not deal with StaticGravity the same way as e.g. Metacity // and then the window border can be invisible when launching the applications // Request for toplevel window resize void FXTopWindow::resize(int w, int h) { if ((flags&FLAG_DIRTY) || (w != width) || (h != height)) { width = FXMAX(w, 1); height = FXMAX(h, 1); if (xid) { XWindowChanges changes; XSizeHints size; size.flags = USSize|PSize|PWinGravity|USPosition|PPosition; size.x = xpos; size.y = ypos; size.width = width; size.height = height; size.min_width = 0; size.min_height = 0; size.max_width = 0; size.max_height = 0; size.width_inc = 0; size.height_inc = 0; size.min_aspect.x = 0; size.min_aspect.y = 0; size.max_aspect.x = 0; size.max_aspect.y = 0; size.base_width = 0; size.base_height = 0; // !!! Hack here !!! size.win_gravity = NorthWestGravity; // Tim Alexeevsky //size.win_gravity=StaticGravity; // Account for border (ICCCM) // !!! End of hack !!! if (!(options&DECOR_SHRINKABLE)) { if (!(options&DECOR_STRETCHABLE)) // Cannot change at all { size.flags |= PMinSize|PMaxSize; size.min_width = size.max_width = width; size.min_height = size.max_height = height; } else // Cannot get smaller than default { size.flags |= PMinSize; size.min_width = getDefaultWidth(); size.min_height = getDefaultHeight(); } } else if (!(options&DECOR_STRETCHABLE)) // Cannot get larger than default { size.flags |= PMaxSize; size.max_width = getDefaultWidth(); size.max_height = getDefaultHeight(); } XSetWMNormalHints(DISPLAY(getApp()), xid, &size); changes.x = 0; changes.y = 0; changes.width = width; changes.height = height; changes.border_width = 0; changes.sibling = None; changes.stack_mode = Above; XReconfigureWMWindow(DISPLAY(getApp()), xid, DefaultScreen(DISPLAY(getApp())), CWWidth|CWHeight, &changes); layout(); } } } // Request for toplevel window reposition void FXTopWindow::position(int x, int y, int w, int h) { if ((flags&FLAG_DIRTY) || (x != xpos) || (y != ypos) || (w != width) || (h != height)) { xpos = x; ypos = y; width = FXMAX(w, 1); height = FXMAX(h, 1); if (xid) { XWindowChanges changes; XSizeHints size; size.flags = USSize|PSize|PWinGravity|USPosition|PPosition; size.x = xpos; size.y = ypos; size.width = width; size.height = height; size.min_width = 0; size.min_height = 0; size.max_width = 0; size.max_height = 0; size.width_inc = 0; size.height_inc = 0; size.min_aspect.x = 0; size.min_aspect.y = 0; size.max_aspect.x = 0; size.max_aspect.y = 0; size.base_width = 0; size.base_height = 0; // !!! Hack here !!! size.win_gravity = NorthWestGravity; // Tim Alexeevsky //size.win_gravity=StaticGravity; // Account for border (ICCCM) // !!! End of hack !!! if (!(options&DECOR_SHRINKABLE)) { if (!(options&DECOR_STRETCHABLE)) // Cannot change at all { size.flags |= PMinSize|PMaxSize; size.min_width = size.max_width = width; size.min_height = size.max_height = height; } else // Cannot get smaller than default { size.flags |= PMinSize; size.min_width = getDefaultWidth(); size.min_height = getDefaultHeight(); } } else if (!(options&DECOR_STRETCHABLE)) // Cannot get larger than default { size.flags |= PMaxSize; size.max_width = getDefaultWidth(); size.max_height = getDefaultHeight(); } XSetWMNormalHints(DISPLAY(getApp()), xid, &size); changes.x = xpos; changes.y = ypos; changes.width = width; changes.height = height; changes.border_width = 0; changes.sibling = None; changes.stack_mode = Above; XReconfigureWMWindow(DISPLAY(getApp()), xid, DefaultScreen(DISPLAY(getApp())), CWX|CWY|CWWidth|CWHeight, &changes); layout(); } } } // Position the window based on placement void FXTopWindow::place(FXuint placement) { int rx, ry, rw, rh, ox, oy, ow, oh, wx, wy, ww, wh, x, y; FXuint state; FXWindow* over; // Default placement:- leave it where it was wx = getX(); wy = getY(); ww = getWidth(); wh = getHeight(); // Get root window size rx = getRoot()->getX(); ry = getRoot()->getY(); rw = getRoot()->getWidth(); rh = getRoot()->getHeight(); // Placement policy switch (placement) { // Place such that it contains the cursor case PLACEMENT_CURSOR: // Get dialog location in root coordinates translateCoordinatesTo(wx, wy, getRoot(), 0, 0); // Where's the mouse? getRoot()->getCursorPosition(x, y, state); // Place such that mouse in the middle, placing it as // close as possible in the center of the owner window. // Don't move the window unless the mouse is not inside. // !!! Hack here !!! //if (!shown() || xgetWidth(); oh = over->getHeight(); // Owner's coordinates to root coordinates over->translateCoordinatesTo(ox, oy, getRoot(), 0, 0); // Adjust position wx = ox+(ow-ww)/2; wy = oy+(oh-wh)/2; // Move by the minimal amount if (x < wx) { wx = x-20; } else if (wx+ww <= x) { wx = x-ww+20; } if (y < wy) { wy = y-20; } else if (wy+wh <= y) { wy = y-wh+20; } } // Adjust so dialog is fully visible if (wx < rx) { wx = rx+10; } if (wy < ry) { wy = ry+10; } if (wx+ww > rx+rw) { wx = rx+rw-ww-10; } if (wy+wh > ry+rh) { wy = ry+rh-wh-10; } break; // Place centered over the owner case PLACEMENT_OWNER: // Get the owner over = getOwner() ? getOwner() : getRoot(); // Get owner window size ow = over->getWidth(); oh = over->getHeight(); // Owner's coordinates to root coordinates over->translateCoordinatesTo(ox, oy, getRoot(), 0, 0); // Adjust position wx = ox+(ow-ww)/2; wy = oy+(oh-wh)/2; // Adjust so dialog is fully visible if (wx < rx) { wx = rx+10; } if (wy < ry) { wy = ry+10; } if (wx+ww > rx+rw) { wx = rx+rw-ww-10; } if (wy+wh > ry+rh) { wy = ry+rh-wh-10; } break; // Place centered on the screen case PLACEMENT_SCREEN: // Adjust position wx = rx+(rw-ww)/2; wy = ry+(rh-wh)/2; break; // Place to make it fully visible case PLACEMENT_VISIBLE: // Adjust so dialog is fully visible if (wx < rx) { wx = rx+10; } if (wy < ry) { wy = ry+10; } if (wx+ww > rx+rw) { wx = rx+rw-ww-10; } if (wy+wh > ry+rh) { wy = ry+rh-wh-10; } break; // Place maximized case PLACEMENT_MAXIMIZED: wx = rx; wy = ry; ww = rw; // Yes, I know:- we should substract the borders; wh = rh; // trouble is, no way to know how big those are.... break; // Default placement case PLACEMENT_DEFAULT: default: break; } // Place it position(wx, wy, ww, wh); } // // Hack of FXAccelTable // // This hack allows to ignore caps lock when using keyboard shortcuts #define EMPTYSLOT 0xfffffffe // Previously used, now empty slot #define UNUSEDSLOT 0xffffffff // Unsused slot marker // Keyboard press; forward to accelerator target long FXAccelTable::onKeyPress(FXObject* sender, FXSelector, void* ptr) { register FXEvent* event = (FXEvent*)ptr; // !!! Hack here !!! //register FXuint code=MKUINT(event->code,event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); register FXuint code; if (event->state&CAPSLOCKMASK && (event->code >= KEY_A) && (event->code <= KEY_Z)) { code = MKUINT(event->code+32, event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); } else { code = MKUINT(event->code, event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); } // !!! End of hack !!! register FXuint p = (code*13)&max; register FXuint c; FXASSERT(code != UNUSEDSLOT); FXASSERT(code != EMPTYSLOT); while ((c = key[p].code) != code) { if (c == UNUSEDSLOT) { return(0); } p = (p+1)&max; } if (key[p].target && key[p].messagedn) { key[p].target->tryHandle(sender, key[p].messagedn, ptr); } return(1); } // Keyboard release; forward to accelerator target long FXAccelTable::onKeyRelease(FXObject* sender, FXSelector, void* ptr) { register FXEvent* event = (FXEvent*)ptr; // !!! Hack here !!! //register FXuint code=MKUINT(event->code,event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); register FXuint code; if (event->state&CAPSLOCKMASK && (event->code >= KEY_A) && (event->code <= KEY_Z)) { code = MKUINT(event->code+32, event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); } else { code = MKUINT(event->code, event->state&(SHIFTMASK|CONTROLMASK|ALTMASK|METAMASK)); } // !!! End of hack !!! register FXuint p = (code*13)&max; register FXuint c; FXASSERT(code != UNUSEDSLOT); FXASSERT(code != EMPTYSLOT); while ((c = key[p].code) != code) { if (c == UNUSEDSLOT) { return(0); } p = (p+1)&max; } if (key[p].target && key[p].messageup) { key[p].target->tryHandle(sender, key[p].messageup, ptr); } return(1); } // // Hack of FXURL // // Backport from Fox 1.7.37 to fix a bug when filenames contain '%' characters // Hexadecimal digit of value const FXchar value2Digit[36] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', }; // Encode control characters and characters from set using %-encoding FXString FXURL::encode(const FXString& url) { FXString result; if (!url.empty()) { register FXint p, q, c; for (p = q = 0; p < url.length(); ++p) { c = (FXuchar)url[p]; if ((c < 0x20) || (c == '%')) { q += 3; continue; } q++; } result.length(q); for (p = q = 0; p < url.length(); ++p) { c = (FXuchar)url[p]; if ((c < 0x20) || (c == '%')) { result[q++] = '%'; result[q++] = value2Digit[c>>4]; result[q++] = value2Digit[c&15]; continue; } result[q++] = c; } } return(result); } // Decode string containing %-encoded characters FXString FXURL::decode(const FXString& url) { FXString result; if (!url.empty()) { register FXint p, q, c; for (p = q = 0; p < url.length(); ++p) { c = (FXuchar)url[p]; if ((c == '%') && Ascii::isHexDigit(url[p+1]) && Ascii::isHexDigit(url[p+2])) { p += 2; } q++; } result.length(q); for (p = q = 0; p < url.length(); ++p) { c = (FXuchar)url[p]; if ((c == '%') && Ascii::isHexDigit(url[p+1]) && Ascii::isHexDigit(url[p+2])) { c = (Ascii::digitValue(url[p+1])<<4)+Ascii::digitValue(url[p+2]); p += 2; } result[q++] = c; } } return(result); } // // Hack of FXSpinner // This hack fixes an issue with the appearance of the spinner textfield // #define INTMAX 2147483647 #define INTMIN (-INTMAX-1) // Construct spinner out of two buttons and a text field FXSpinner::FXSpinner(FXComposite* p, FXint cols, FXObject* tgt, FXSelector sel, FXuint opts, FXint x, FXint y, FXint w, FXint h, FXint pl, FXint pr, FXint pt, FXint pb) : FXPacker(p, opts, x, y, w, h, 0, 0, 0, 0, 0, 0) { flags |= FLAG_ENABLED; target = tgt; message = sel; // !!! Hack here !!! //textField=new FXTextField(this,cols,this,ID_ENTRY,TEXTFIELD_INTEGER|JUSTIFY_RIGHT,0,0,0,0,pl,pr,pt,pb); textField = new FXTextField(this, cols, this, ID_ENTRY, TEXTFIELD_INTEGER|JUSTIFY_RIGHT|FRAME_THICK|FRAME_SUNKEN, 0, 0, 0, 0, pl, pr, pt, pb); // !!! End of hack !!! upButton = new FXArrowButton(this, this, FXSpinner::ID_INCREMENT, FRAME_RAISED|FRAME_THICK|ARROW_UP|ARROW_REPEAT, 0, 0, 0, 0, 0, 0, 0, 0); downButton = new FXArrowButton(this, this, FXSpinner::ID_DECREMENT, FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_REPEAT, 0, 0, 0, 0, 0, 0, 0, 0); range[0] = (options&SPIN_NOMIN) ? INTMIN : 0; range[1] = (options&SPIN_NOMAX) ? INTMAX : 100; textField->setText("0"); incr = 1; pos = 0; } // // Hack of FXMenuCommand, FXPopup, FXMenuCascade, FXMenuBar, FXMenuSeparator // These hacks replace the reverse arrow cursor (DEF_RARROW_CURSOR) with the normal one (DEF_ARROW_CURSOR) // when pointing on menu items // // Command menu item FXMenuCommand::FXMenuCommand(FXComposite* p, const FXString& text, FXIcon* ic, FXObject* tgt, FXSelector sel, FXuint opts) : FXMenuCaption(p, text, ic, opts) { FXAccelTable* table; FXWindow* own; flags |= FLAG_ENABLED; defaultCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); target = tgt; message = sel; accel = text.section('\t', 1); acckey = parseAccel(accel); if (acckey) { own = getShell()->getOwner(); if (own) { table = own->getAccelTable(); if (table) { table->addAccel(acckey, this, FXSEL(SEL_COMMAND, ID_ACCEL)); } } } } // Transient window used for popups FXPopup::FXPopup(FXWindow* owner, FXuint opts, FXint x, FXint y, FXint w, FXint h) : FXShell(owner, opts, x, y, w, h), prevActive(NULL), nextActive(NULL) { defaultCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); dragCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); flags |= FLAG_ENABLED; grabowner = NULL; baseColor = getApp()->getBaseColor(); hiliteColor = getApp()->getHiliteColor(); shadowColor = getApp()->getShadowColor(); borderColor = getApp()->getBorderColor(); border = (options&FRAME_THICK) ? 2 : (options&(FRAME_SUNKEN|FRAME_RAISED)) ? 1 : 0; } // Make cascade menu button FXMenuCascade::FXMenuCascade(FXComposite* p, const FXString& text, FXIcon* ic, FXPopup* pup, FXuint opts) : FXMenuCaption(p, text, ic, opts) { defaultCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); flags |= FLAG_ENABLED; pane = pup; } // Make a non-floatable menubar FXMenuBar::FXMenuBar(FXComposite* p, FXuint opts, FXint x, FXint y, FXint w, FXint h, FXint pl, FXint pr, FXint pt, FXint pb, FXint hs, FXint vs) : FXToolBar(p, opts, x, y, w, h, pl, pr, pt, pb, hs, vs) { flags |= FLAG_ENABLED; dragCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); } // Separator item FXMenuSeparator::FXMenuSeparator(FXComposite* p, FXuint opts) : FXWindow(p, opts, 0, 0, 0, 0) { flags |= FLAG_SHOWN; defaultCursor = getApp()->getDefaultCursor(DEF_ARROW_CURSOR); hiliteColor = getApp()->getHiliteColor(); shadowColor = getApp()->getShadowColor(); } // // Hack of FxString // This hack allocates a much longer string // This is used in the SearchPanel when the path length is huge // // Print formatted string a-la vprintf FXString& FXString::vformat(const FXchar* fmt, va_list args) { register FXint len = 0; if (fmt && *fmt) { register FXint n = strlen(fmt); // Result is longer than format string // !!! Hack here !!! //n+=1024; n += 8192; // Add a lot of slop // !!! End of hack length(n); len = vsprintf(str, fmt, args); FXASSERT(0 <= len && len <= n); } length(len); return(*this); } xfe-1.42/src/Keybindings.cpp0000644000175100017510000013577612625057511012735 00000000000000// Dialog used to modify key bindings #include "config.h" #include "i18n.h" #include #include #include "icons.h" #include "xfeutils.h" #include "InputDialog.h" #include "MessageBox.h" #include "KeybindingsDialog.h" #include "XFileExplorer.h" #include "Keybindings.h" // Minimum header size for lists #ifndef MIN_HEADER_SIZE #define MIN_HEADER_SIZE 50 #endif // Main window extern FXMainWindow* mainWindow; FXDEFMAP(KeybindingsBox) KeybindingsBoxMap[] = { FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_ACCEPT, KeybindingsBox::onCmdAccept), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_CANCEL, KeybindingsBox::onCmdCancel), FXMAPFUNC(SEL_DOUBLECLICKED, KeybindingsBox::ID_GLB_BINDINGS_LIST, KeybindingsBox::onCmdDefineGlbKeybindings), FXMAPFUNC(SEL_DOUBLECLICKED, KeybindingsBox::ID_XFE_BINDINGS_LIST, KeybindingsBox::onCmdDefineXfeKeybindings), FXMAPFUNC(SEL_DOUBLECLICKED, KeybindingsBox::ID_XFI_BINDINGS_LIST, KeybindingsBox::onCmdDefineXfiKeybindings), FXMAPFUNC(SEL_DOUBLECLICKED, KeybindingsBox::ID_XFW_BINDINGS_LIST, KeybindingsBox::onCmdDefineXfwKeybindings), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_GLB_SORT_BY_ACTIONNAME, KeybindingsBox::onCmdGlbSortByActionName), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_GLB_SORT_BY_REGISTRYKEY, KeybindingsBox::onCmdGlbSortByRegistryKey), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_GLB_SORT_BY_KEYBINDING, KeybindingsBox::onCmdGlbSortByKeyBinding), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFE_SORT_BY_ACTIONNAME, KeybindingsBox::onCmdXfeSortByActionName), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFE_SORT_BY_REGISTRYKEY, KeybindingsBox::onCmdXfeSortByRegistryKey), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFE_SORT_BY_KEYBINDING, KeybindingsBox::onCmdXfeSortByKeyBinding), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFI_SORT_BY_ACTIONNAME, KeybindingsBox::onCmdXfiSortByActionName), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFI_SORT_BY_REGISTRYKEY, KeybindingsBox::onCmdXfiSortByRegistryKey), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFI_SORT_BY_KEYBINDING, KeybindingsBox::onCmdXfiSortByKeyBinding), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFW_SORT_BY_ACTIONNAME, KeybindingsBox::onCmdXfwSortByActionName), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFW_SORT_BY_REGISTRYKEY, KeybindingsBox::onCmdXfwSortByRegistryKey), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFW_SORT_BY_KEYBINDING, KeybindingsBox::onCmdXfwSortByKeyBinding), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_GLB_BINDINGS_LIST, KeybindingsBox::onCmdGlbHeaderClicked), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFE_BINDINGS_LIST, KeybindingsBox::onCmdXfeHeaderClicked), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFI_BINDINGS_LIST, KeybindingsBox::onCmdXfiHeaderClicked), FXMAPFUNC(SEL_COMMAND, KeybindingsBox::ID_XFW_BINDINGS_LIST, KeybindingsBox::onCmdXfwHeaderClicked), FXMAPFUNC(SEL_UPDATE, KeybindingsBox::ID_GLB_BINDINGS_LIST, KeybindingsBox::onUpdGlbHeader), FXMAPFUNC(SEL_UPDATE, KeybindingsBox::ID_XFE_BINDINGS_LIST, KeybindingsBox::onUpdXfeHeader), FXMAPFUNC(SEL_UPDATE, KeybindingsBox::ID_XFI_BINDINGS_LIST, KeybindingsBox::onUpdXfiHeader), FXMAPFUNC(SEL_UPDATE, KeybindingsBox::ID_XFW_BINDINGS_LIST, KeybindingsBox::onUpdXfwHeader), }; // Object implementation FXIMPLEMENT(KeybindingsBox, DialogBox, KeybindingsBoxMap, ARRAYNUMBER(KeybindingsBoxMap)) KeybindingsBox::KeybindingsBox(FXWindow* win, FXStringDict* glbbindings, FXStringDict* xfebindings, FXStringDict* xfibindings, FXStringDict* xfwbindings) : DialogBox(win, _("Key Bindings"), DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE|DECOR_MAXIMIZE|DECOR_CLOSE, 0, 0, 800, 600) { glbBindingsDict = glbbindings; xfeBindingsDict = xfebindings; xfiBindingsDict = xfibindings; xfwBindingsDict = xfwbindings; // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Contents FXHorizontalFrame* contents = new FXHorizontalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH); // Accept button FXButton* ok = new FXButton(buttons, _("&Accept"), NULL, this, KeybindingsBox::ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); ok->addHotKey(KEY_Return); // Cancel button new FXButton(buttons, _("&Cancel"), NULL, this, KeybindingsBox::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Tab book FXTabBook* tabbook = new FXTabBook(contents, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT); // First tab is global key bindings new FXTabItem(tabbook, _("&Global Key Bindings"), NULL); FXVerticalFrame* frame1 = new FXVerticalFrame(tabbook, LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(frame1, _("These key bindings are common to all Xfe applications.\nDouble click on an item to modify the selected key binding..."), NULL, LAYOUT_LEFT|JUSTIFY_LEFT, 0, 0, 0, 0, 0, 0, 20, 20); glbBindingsList = new IconList(frame1, this, ID_GLB_BINDINGS_LIST, _ICONLIST_STANDARD|HSCROLLER_NEVER|ICONLIST_BROWSESELECT|LAYOUT_SIDE_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Second tab is Xfe key bindings new FXTabItem(tabbook, _("Xf&e Key Bindings"), NULL); FXVerticalFrame* frame2 = new FXVerticalFrame(tabbook, LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(frame2, _("These key bindings are specific to the X File Explorer application.\nDouble click on an item to modify the selected key binding..."), NULL, LAYOUT_LEFT|JUSTIFY_LEFT, 0, 0, 0, 0, 0, 0, 20, 20); xfeBindingsList = new IconList(frame2, this, ID_XFE_BINDINGS_LIST, _ICONLIST_STANDARD|HSCROLLER_NEVER|ICONLIST_BROWSESELECT|LAYOUT_SIDE_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Third tab is Xfi key bindings new FXTabItem(tabbook, _("Xf&i Key Bindings"), NULL); FXVerticalFrame* frame3 = new FXVerticalFrame(tabbook, LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(frame3, _("These key bindings are specific to the X File Image application.\nDouble click on an item to modify the selected key binding..."), NULL, LAYOUT_LEFT|JUSTIFY_LEFT, 0, 0, 0, 0, 0, 0, 20, 20); xfiBindingsList = new IconList(frame3, this, ID_XFI_BINDINGS_LIST, _ICONLIST_STANDARD|HSCROLLER_NEVER|ICONLIST_BROWSESELECT|LAYOUT_SIDE_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Fourth tab is Xfw key bindings new FXTabItem(tabbook, _("Xf&w Key Bindings"), NULL); FXVerticalFrame* frame4 = new FXVerticalFrame(tabbook, LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(frame4, _("These key bindings are specific to the X File Write application.\nDouble click on an item to modify the selected key binding..."), NULL, LAYOUT_LEFT|JUSTIFY_LEFT, 0, 0, 0, 0, 0, 0, 20, 20); xfwBindingsList = new IconList(frame4, this, ID_XFW_BINDINGS_LIST, _ICONLIST_STANDARD|HSCROLLER_NEVER|ICONLIST_BROWSESELECT|LAYOUT_SIDE_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Set list headers name and size FXuint hsize1 = getWidth()/2-50; FXuint hsize2 = getWidth()/4; glbBindingsList->appendHeader(_("Action Name"), NULL, hsize1); glbBindingsList->appendHeader(_("Registry Key"), NULL, hsize2); glbBindingsList->appendHeader(_("Key Binding"), NULL, hsize2); xfeBindingsList->appendHeader(_("Action Name"), NULL, hsize1); xfeBindingsList->appendHeader(_("Registry Key"), NULL, hsize2); xfeBindingsList->appendHeader(_("Key Binding"), NULL, hsize2); xfiBindingsList->appendHeader(_("Action Name"), NULL, hsize1); xfiBindingsList->appendHeader(_("Registry Key"), NULL, hsize2); xfiBindingsList->appendHeader(_("Key Binding"), NULL, hsize2); xfwBindingsList->appendHeader(_("Action Name"), NULL, hsize1); xfwBindingsList->appendHeader(_("Registry Key"), NULL, hsize2); xfwBindingsList->appendHeader(_("Key Binding"), NULL, hsize2); // Initialize sort functions glbBindingsList->setSortFunc(ascendingActionName); xfeBindingsList->setSortFunc(ascendingActionName); xfiBindingsList->setSortFunc(ascendingActionName); xfwBindingsList->setSortFunc(ascendingActionName); // Initialize initial binding dicts glbBindingsDict_prev = new FXStringDict(); xfeBindingsDict_prev = new FXStringDict(); xfiBindingsDict_prev = new FXStringDict(); xfwBindingsDict_prev = new FXStringDict(); // Changed flag changed = false; } // Create window void KeybindingsBox::create() { DialogBox::create(); int i; FXString str, data, action, keybinding; // Fullfill the four lists glbBindingsList->clearItems(); for (i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { data = glbBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+glbBindingsDict->key(i)+TAB+keybinding; glbBindingsList->appendItem(str); } glbBindingsList->sortItems(); xfeBindingsList->clearItems(); for (i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { data = xfeBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfeBindingsDict->key(i)+TAB+keybinding; xfeBindingsList->appendItem(str); } xfeBindingsList->sortItems(); xfiBindingsList->clearItems(); for (i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { data = xfiBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfiBindingsDict->key(i)+TAB+keybinding; xfiBindingsList->appendItem(str); } xfiBindingsList->sortItems(); xfwBindingsList->clearItems(); for (i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { data = xfwBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfwBindingsDict->key(i)+TAB+keybinding; xfwBindingsList->appendItem(str); } xfwBindingsList->sortItems(); // Deselect all items glbBindingsList->killSelection(); xfeBindingsList->killSelection(); xfiBindingsList->killSelection(); xfwBindingsList->killSelection(); } // Delete objects KeybindingsBox::~KeybindingsBox() { delete glbBindingsList; delete xfeBindingsList; delete xfiBindingsList; delete xfwBindingsList; delete glbBindingsDict_prev; delete xfeBindingsDict_prev; delete xfiBindingsDict_prev; delete xfwBindingsDict_prev; } // Changes are accepted long KeybindingsBox::onCmdAccept(FXObject* o, FXSelector s, void* p) { // If some key binding was modified if (changed) { // Write keybindings to the registry FXString data, regkey, keybinding; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { regkey = glbBindingsDict->key(i); data = glbBindingsDict->data(i); keybinding = data.after('\t'); getApp()->reg().writeStringEntry("KEYBINDINGS", regkey.text(), keybinding.text()); } for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { regkey = xfeBindingsDict->key(i); data = xfeBindingsDict->data(i); keybinding = data.after('\t'); getApp()->reg().writeStringEntry("KEYBINDINGS", regkey.text(), keybinding.text()); } for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { regkey = xfiBindingsDict->key(i); data = xfiBindingsDict->data(i); keybinding = data.after('\t'); getApp()->reg().writeStringEntry("KEYBINDINGS", regkey.text(), keybinding.text()); } for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { regkey = xfwBindingsDict->key(i); data = xfwBindingsDict->data(i); keybinding = data.after('\t'); getApp()->reg().writeStringEntry("KEYBINDINGS", regkey.text(), keybinding.text()); } // Update the registry getApp()->reg().write(); // Reinit the changed flag changed = false; // Ask the user if he wants to restart Xfe if (BOX_CLICKED_CANCEL != MessageBox::question(this, BOX_OK_CANCEL, _("Restart"), _("Key bindings will be changed after restart.\nRestart X File Explorer now?"))) { mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_RESTART), NULL); } } DialogBox::onCmdAccept(o, s, p); return(1); } // Changes are cancelled long KeybindingsBox::onCmdCancel(FXObject* o, FXSelector s, void* p) { // Restore initial (i.e. before modification) binding dicts FXString data, regkey; for (int i = glbBindingsDict_prev->first(); i < glbBindingsDict_prev->size(); i = glbBindingsDict_prev->next(i)) { regkey = glbBindingsDict_prev->key(i); data = glbBindingsDict_prev->data(i); glbBindingsDict->replace(regkey.text(), data.text()); } for (int i = xfeBindingsDict_prev->first(); i < xfeBindingsDict_prev->size(); i = xfeBindingsDict_prev->next(i)) { regkey = xfeBindingsDict_prev->key(i); data = xfeBindingsDict_prev->data(i); xfeBindingsDict->replace(regkey.text(), data.text()); } for (int i = xfiBindingsDict_prev->first(); i < xfiBindingsDict_prev->size(); i = xfiBindingsDict_prev->next(i)) { regkey = xfiBindingsDict_prev->key(i); data = xfiBindingsDict_prev->data(i); xfiBindingsDict->replace(regkey.text(), data.text()); } for (int i = xfwBindingsDict_prev->first(); i < xfwBindingsDict_prev->size(); i = xfwBindingsDict_prev->next(i)) { regkey = xfwBindingsDict_prev->key(i); data = xfwBindingsDict_prev->data(i); xfwBindingsDict->replace(regkey.text(), data.text()); } // Reinit the changed flag changed = false; DialogBox::onCmdCancel(o, s, p); return(0); } // Compare sectioned strings int KeybindingsBox::compareSection(const char* p, const char* q, int s) { register int c1, c2, x; for (x = s; x && *p; x -= (*p++ == '\t')) { } for (x = s; x && *q; x -= (*q++ == '\t')) { } do { c1 = (FXuchar)(*p++); c2 = (FXuchar)(*q++); } while ('\t' < c1 && (c1 == c2)); return(c1-c2); } // Sort functions int KeybindingsBox::ascendingActionName(const IconItem* a, const IconItem* b) { return(compareSection(a->getText().text(), b->getText().text(), 0)); } int KeybindingsBox::descendingActionName(const IconItem* a, const IconItem* b) { return(compareSection(b->getText().text(), a->getText().text(), 0)); } int KeybindingsBox::ascendingRegistryKey(const IconItem* a, const IconItem* b) { return(compareSection(a->getText().text(), b->getText().text(), 1)); } int KeybindingsBox::descendingRegistryKey(const IconItem* a, const IconItem* b) { return(compareSection(b->getText().text(), a->getText().text(), 1)); } int KeybindingsBox::ascendingKeybinding(const IconItem* a, const IconItem* b) { return(compareSection(a->getText().text(), b->getText().text(), 2)); } int KeybindingsBox::descendingKeybinding(const IconItem* a, const IconItem* b) { return(compareSection(b->getText().text(), a->getText().text(), 2)); } // Sort global list by action name long KeybindingsBox::onCmdGlbSortByActionName(FXObject*, FXSelector, void*) { glbBindingsList->setSortFunc((glbBindingsList->getSortFunc() == ascendingActionName) ? descendingActionName : ascendingActionName); glbBindingsList->setSortHeader(0); glbBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { data = glbBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+glbBindingsDict->key(i)+TAB+keybinding; glbBindingsList->appendItem(str); } glbBindingsList->sortItems(); return(1); } // Sort global list by registry key name long KeybindingsBox::onCmdGlbSortByRegistryKey(FXObject*, FXSelector, void*) { glbBindingsList->setSortFunc((glbBindingsList->getSortFunc() == ascendingRegistryKey) ? descendingRegistryKey : ascendingRegistryKey); glbBindingsList->setSortHeader(1); glbBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { data = glbBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+glbBindingsDict->key(i)+TAB+keybinding; glbBindingsList->appendItem(str); } glbBindingsList->sortItems(); return(1); } // Sort global list by key binding long KeybindingsBox::onCmdGlbSortByKeyBinding(FXObject*, FXSelector, void*) { glbBindingsList->setSortFunc((glbBindingsList->getSortFunc() == ascendingKeybinding) ? descendingKeybinding : ascendingKeybinding); glbBindingsList->setSortHeader(2); glbBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { data = glbBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+glbBindingsDict->key(i)+TAB+keybinding; glbBindingsList->appendItem(str); } glbBindingsList->sortItems(); return(1); } // Sort Xfe list by action name long KeybindingsBox::onCmdXfeSortByActionName(FXObject*, FXSelector, void*) { xfeBindingsList->setSortFunc((xfeBindingsList->getSortFunc() == ascendingActionName) ? descendingActionName : ascendingActionName); xfeBindingsList->setSortHeader(0); xfeBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { data = xfeBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfeBindingsDict->key(i)+TAB+keybinding; xfeBindingsList->appendItem(str); } xfeBindingsList->sortItems(); return(1); } // Sort Xfe list by registry key name long KeybindingsBox::onCmdXfeSortByRegistryKey(FXObject*, FXSelector, void*) { xfeBindingsList->setSortFunc((xfeBindingsList->getSortFunc() == ascendingRegistryKey) ? descendingRegistryKey : ascendingRegistryKey); xfeBindingsList->setSortHeader(1); xfeBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { data = xfeBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfeBindingsDict->key(i)+TAB+keybinding; xfeBindingsList->appendItem(str); } xfeBindingsList->sortItems(); return(1); } // Sort Xfe list by key binding long KeybindingsBox::onCmdXfeSortByKeyBinding(FXObject*, FXSelector, void*) { xfeBindingsList->setSortFunc((xfeBindingsList->getSortFunc() == ascendingKeybinding) ? descendingKeybinding : ascendingKeybinding); xfeBindingsList->setSortHeader(2); xfeBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { data = xfeBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfeBindingsDict->key(i)+TAB+keybinding; xfeBindingsList->appendItem(str); } xfeBindingsList->sortItems(); return(1); } // Sort Xfi list by action name long KeybindingsBox::onCmdXfiSortByActionName(FXObject*, FXSelector, void*) { xfiBindingsList->setSortFunc((xfiBindingsList->getSortFunc() == ascendingActionName) ? descendingActionName : ascendingActionName); xfiBindingsList->setSortHeader(0); xfiBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { data = xfiBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfiBindingsDict->key(i)+TAB+keybinding; xfiBindingsList->appendItem(str); } xfiBindingsList->sortItems(); return(1); } // Sort Xfi list by registry key name long KeybindingsBox::onCmdXfiSortByRegistryKey(FXObject*, FXSelector, void*) { xfiBindingsList->setSortFunc((xfiBindingsList->getSortFunc() == ascendingRegistryKey) ? descendingRegistryKey : ascendingRegistryKey); xfiBindingsList->setSortHeader(1); xfiBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { data = xfiBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfiBindingsDict->key(i)+TAB+keybinding; xfiBindingsList->appendItem(str); } xfiBindingsList->sortItems(); return(1); } // Sort Xfi list by key binding long KeybindingsBox::onCmdXfiSortByKeyBinding(FXObject*, FXSelector, void*) { xfiBindingsList->setSortFunc((xfiBindingsList->getSortFunc() == ascendingKeybinding) ? descendingKeybinding : ascendingKeybinding); xfiBindingsList->setSortHeader(2); xfiBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { data = xfiBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfiBindingsDict->key(i)+TAB+keybinding; xfiBindingsList->appendItem(str); } xfiBindingsList->sortItems(); return(1); } // Sort Xfw list by action name long KeybindingsBox::onCmdXfwSortByActionName(FXObject*, FXSelector, void*) { xfwBindingsList->setSortFunc((xfwBindingsList->getSortFunc() == ascendingActionName) ? descendingActionName : ascendingActionName); xfwBindingsList->setSortHeader(0); xfwBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { data = xfwBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfwBindingsDict->key(i)+TAB+keybinding; xfwBindingsList->appendItem(str); } xfwBindingsList->sortItems(); return(1); } // Sort Xfw list by registry key name long KeybindingsBox::onCmdXfwSortByRegistryKey(FXObject*, FXSelector, void*) { xfwBindingsList->setSortFunc((xfwBindingsList->getSortFunc() == ascendingRegistryKey) ? descendingRegistryKey : ascendingRegistryKey); xfwBindingsList->setSortHeader(1); xfwBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { data = xfwBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfwBindingsDict->key(i)+TAB+keybinding; xfwBindingsList->appendItem(str); } xfwBindingsList->sortItems(); return(1); } // Sort Xfw list by key binding long KeybindingsBox::onCmdXfwSortByKeyBinding(FXObject*, FXSelector, void*) { xfwBindingsList->setSortFunc((xfwBindingsList->getSortFunc() == ascendingKeybinding) ? descendingKeybinding : ascendingKeybinding); xfwBindingsList->setSortHeader(2); xfwBindingsList->clearItems(); FXString str, data, action, keybinding; for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { data = xfwBindingsDict->data(i); action = data.before('\t'); keybinding = data.after('\t'); str = action+TAB+xfwBindingsDict->key(i)+TAB+keybinding; xfwBindingsList->appendItem(str); } xfwBindingsList->sortItems(); return(1); } // Clicked on a global list header button long KeybindingsBox::onCmdGlbHeaderClicked(FXObject*, FXSelector, void* ptr) { FXuint num = (FXuint)(FXuval)ptr; if (num < 3) { if (num == 0) { handle(this, FXSEL(SEL_COMMAND, ID_GLB_SORT_BY_ACTIONNAME), NULL); } else if (num == 1) { handle(this, FXSEL(SEL_COMMAND, ID_GLB_SORT_BY_REGISTRYKEY), NULL); } else if (num == 2) { handle(this, FXSEL(SEL_COMMAND, ID_GLB_SORT_BY_KEYBINDING), NULL); } } return(1); } // Clicked on a Xfe list header button long KeybindingsBox::onCmdXfeHeaderClicked(FXObject*, FXSelector, void* ptr) { FXuint num = (FXuint)(FXuval)ptr; if (num < 3) { if (num == 0) { handle(this, FXSEL(SEL_COMMAND, ID_XFE_SORT_BY_ACTIONNAME), NULL); } else if (num == 1) { handle(this, FXSEL(SEL_COMMAND, ID_XFE_SORT_BY_REGISTRYKEY), NULL); } else if (num == 2) { handle(this, FXSEL(SEL_COMMAND, ID_XFE_SORT_BY_KEYBINDING), NULL); } } return(1); } // Clicked on a Xfi list header button long KeybindingsBox::onCmdXfiHeaderClicked(FXObject*, FXSelector, void* ptr) { FXuint num = (FXuint)(FXuval)ptr; if (num < 3) { if (num == 0) { handle(this, FXSEL(SEL_COMMAND, ID_XFI_SORT_BY_ACTIONNAME), NULL); } else if (num == 1) { handle(this, FXSEL(SEL_COMMAND, ID_XFI_SORT_BY_REGISTRYKEY), NULL); } else if (num == 2) { handle(this, FXSEL(SEL_COMMAND, ID_XFI_SORT_BY_KEYBINDING), NULL); } } return(1); } // Clicked on a Xfw list header button long KeybindingsBox::onCmdXfwHeaderClicked(FXObject*, FXSelector, void* ptr) { FXuint num = (FXuint)(FXuval)ptr; if (num < 3) { if (num == 0) { handle(this, FXSEL(SEL_COMMAND, ID_XFW_SORT_BY_ACTIONNAME), NULL); } else if (num == 1) { handle(this, FXSEL(SEL_COMMAND, ID_XFW_SORT_BY_REGISTRYKEY), NULL); } else if (num == 2) { handle(this, FXSEL(SEL_COMMAND, ID_XFW_SORT_BY_KEYBINDING), NULL); } } return(1); } // Update global list header long KeybindingsBox::onUpdGlbHeader(FXObject*, FXSelector, void*) { // Update header arrow glbBindingsList->getHeader()->setArrowDir(0, (glbBindingsList->getSortFunc() == ascendingActionName) ? false : (glbBindingsList->getSortFunc() == descendingActionName) ? true : MAYBE); glbBindingsList->getHeader()->setArrowDir(1, (glbBindingsList->getSortFunc() == ascendingRegistryKey) ? false : (glbBindingsList->getSortFunc() == descendingRegistryKey) ? true : MAYBE); glbBindingsList->getHeader()->setArrowDir(2, (glbBindingsList->getSortFunc() == ascendingKeybinding) ? false : (glbBindingsList->getSortFunc() == descendingKeybinding) ? true : MAYBE); // Set minimum header size if (glbBindingsList->getHeaderSize(0) < MIN_HEADER_SIZE) { glbBindingsList->setHeaderSize(0, MIN_HEADER_SIZE); } if (glbBindingsList->getHeaderSize(1) < MIN_HEADER_SIZE) { glbBindingsList->setHeaderSize(1, MIN_HEADER_SIZE); } if (glbBindingsList->getHeaderSize(2) < MIN_HEADER_SIZE) { glbBindingsList->setHeaderSize(2, MIN_HEADER_SIZE); } return(1); } // Update Xfe list header long KeybindingsBox::onUpdXfeHeader(FXObject*, FXSelector, void*) { // Update header arrow xfeBindingsList->getHeader()->setArrowDir(0, (xfeBindingsList->getSortFunc() == ascendingActionName) ? false : (xfeBindingsList->getSortFunc() == descendingActionName) ? true : MAYBE); xfeBindingsList->getHeader()->setArrowDir(1, (xfeBindingsList->getSortFunc() == ascendingRegistryKey) ? false : (xfeBindingsList->getSortFunc() == descendingRegistryKey) ? true : MAYBE); xfeBindingsList->getHeader()->setArrowDir(2, (xfeBindingsList->getSortFunc() == ascendingKeybinding) ? false : (xfeBindingsList->getSortFunc() == descendingKeybinding) ? true : MAYBE); // Set minimum header size if (xfeBindingsList->getHeaderSize(0) < MIN_HEADER_SIZE) { xfeBindingsList->setHeaderSize(0, MIN_HEADER_SIZE); } if (xfeBindingsList->getHeaderSize(1) < MIN_HEADER_SIZE) { xfeBindingsList->setHeaderSize(1, MIN_HEADER_SIZE); } if (xfeBindingsList->getHeaderSize(2) < MIN_HEADER_SIZE) { xfeBindingsList->setHeaderSize(2, MIN_HEADER_SIZE); } return(1); } // Update Xfi list header long KeybindingsBox::onUpdXfiHeader(FXObject*, FXSelector, void*) { // Update header arrow xfiBindingsList->getHeader()->setArrowDir(0, (xfiBindingsList->getSortFunc() == ascendingActionName) ? false : (xfiBindingsList->getSortFunc() == descendingActionName) ? true : MAYBE); xfiBindingsList->getHeader()->setArrowDir(1, (xfiBindingsList->getSortFunc() == ascendingRegistryKey) ? false : (xfiBindingsList->getSortFunc() == descendingRegistryKey) ? true : MAYBE); xfiBindingsList->getHeader()->setArrowDir(2, (xfiBindingsList->getSortFunc() == ascendingKeybinding) ? false : (xfiBindingsList->getSortFunc() == descendingKeybinding) ? true : MAYBE); // Set minimum header size if (xfiBindingsList->getHeaderSize(0) < MIN_HEADER_SIZE) { xfiBindingsList->setHeaderSize(0, MIN_HEADER_SIZE); } if (xfiBindingsList->getHeaderSize(1) < MIN_HEADER_SIZE) { xfiBindingsList->setHeaderSize(1, MIN_HEADER_SIZE); } if (xfiBindingsList->getHeaderSize(2) < MIN_HEADER_SIZE) { xfiBindingsList->setHeaderSize(2, MIN_HEADER_SIZE); } return(1); } // Update Xfw list header long KeybindingsBox::onUpdXfwHeader(FXObject*, FXSelector, void*) { // Update header arrow xfwBindingsList->getHeader()->setArrowDir(0, (xfwBindingsList->getSortFunc() == ascendingActionName) ? false : (xfwBindingsList->getSortFunc() == descendingActionName) ? true : MAYBE); xfwBindingsList->getHeader()->setArrowDir(1, (xfwBindingsList->getSortFunc() == ascendingRegistryKey) ? false : (xfwBindingsList->getSortFunc() == descendingRegistryKey) ? true : MAYBE); xfwBindingsList->getHeader()->setArrowDir(2, (xfwBindingsList->getSortFunc() == ascendingKeybinding) ? false : (xfwBindingsList->getSortFunc() == descendingKeybinding) ? true : MAYBE); // Set minimum header size if (xfwBindingsList->getHeaderSize(0) < MIN_HEADER_SIZE) { xfwBindingsList->setHeaderSize(0, MIN_HEADER_SIZE); } if (xfwBindingsList->getHeaderSize(1) < MIN_HEADER_SIZE) { xfwBindingsList->setHeaderSize(1, MIN_HEADER_SIZE); } if (xfwBindingsList->getHeaderSize(2) < MIN_HEADER_SIZE) { xfwBindingsList->setHeaderSize(2, MIN_HEADER_SIZE); } return(1); } // Double clicked on an item in the global list long KeybindingsBox::onCmdDefineGlbKeybindings(FXObject*, FXSelector, void*) { // Get selected item string FXString itemtext = ""; int index = -1; for (int u = 0; u < glbBindingsList->getNumItems(); u++) { if (glbBindingsList->isItemSelected(u)) { itemtext = glbBindingsList->getItemText(u); index = u; } } if (index < 0) // Should not happen { return(0); } // Decompose item text FXString data = itemtext.rbefore('\t'); FXString key = itemtext.rafter('\t'); FXString action = data.before('\t'); FXString regkey = data.after('\t'); // Input dialog FXString message; message.format(_("Press the combination of keys you want to use for the action: %s"), action.text()); message = message+ "\n" + _("[Press space to disable the key binding for this action]"); KeybindingsDialog* kbdialog = new KeybindingsDialog(this, key, message, _("Modify Key Binding"), keybindingsicon); // Accept was pressed if (kbdialog->execute(PLACEMENT_CURSOR)) { // Convert the entered string into a valid key binding string FXString newkey = kbdialog->getKey(); if (newkey == "Space") { newkey = ""; } // Check if the new key binding is not already used elsewhere if (newkey != "") { FXString dictdata, dictkey; FXbool exist_in_glb = false, exist_in_xfe = false, exist_in_xfi = false, exist_in_xfw = false; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { dictdata = glbBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_glb = true; break; } } if (exist_in_glb) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the global section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { dictdata = xfeBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfe = true; break; } } if (exist_in_xfe) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfe section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { dictdata = xfiBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfi = true; break; } } if (exist_in_xfi) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfi section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { dictdata = xfwBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfw = true; break; } } if (exist_in_xfw) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfw section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } } // Modify the item text itemtext = data+TAB+newkey; glbBindingsList->setItemText(index, itemtext); // Update dictionary FXString str = action+TAB+newkey; glbBindingsDict->replace(regkey.text(), str.text()); changed = true; } // Cancel was pressed else { delete kbdialog; return(0); } delete kbdialog; return(1); } // Double clicked on an item in the Xfe list long KeybindingsBox::onCmdDefineXfeKeybindings(FXObject*, FXSelector, void*) { // Get selected item string FXString itemtext = ""; int index = -1; for (int u = 0; u < xfeBindingsList->getNumItems(); u++) { if (xfeBindingsList->isItemSelected(u)) { itemtext = xfeBindingsList->getItemText(u); index = u; } } if (index < 0) // Should not happen { return(0); } // Decompose item text FXString data = itemtext.rbefore('\t'); FXString key = itemtext.rafter('\t'); FXString action = data.before('\t'); FXString regkey = data.after('\t'); // Input dialog FXString message; message.format(_("Press the combination of keys you want to use for the action: %s"), action.text()); message = message+ "\n" + _("[Press space to disable the key binding for this action]"); KeybindingsDialog* kbdialog = new KeybindingsDialog(this, key, message, _("Modify Key Binding"), keybindingsicon); // Accept was pressed if (kbdialog->execute(PLACEMENT_CURSOR)) { // Convert the entered string into a valid key binding string FXString newkey = kbdialog->getKey(); if (newkey == "Space") { newkey = ""; } // Check if the new key binding is not already used elsewhere if (newkey != "") { FXString dictdata, dictkey; FXbool exist_in_glb = false, exist_in_xfe = false; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { dictdata = glbBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_glb = true; break; } } if (exist_in_glb) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the global section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { dictdata = xfeBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfe = true; break; } } if (exist_in_xfe) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfe section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } } // Modify the item text itemtext = data+TAB+newkey; xfeBindingsList->setItemText(index, itemtext); // Update dictionary FXString str = action+TAB+newkey; xfeBindingsDict->replace(regkey.text(), str.text()); changed = true; } // Cancel was pressed else { delete kbdialog; return(0); } delete kbdialog; return(1); } // Double clicked on an item in the Xfi list long KeybindingsBox::onCmdDefineXfiKeybindings(FXObject*, FXSelector, void*) { // Get selected item string FXString itemtext = ""; int index = -1; for (int u = 0; u < xfiBindingsList->getNumItems(); u++) { if (xfiBindingsList->isItemSelected(u)) { itemtext = xfiBindingsList->getItemText(u); index = u; } } if (index < 0) // Should not happen { return(0); } // Decompose item text FXString data = itemtext.rbefore('\t'); FXString key = itemtext.rafter('\t'); FXString action = data.before('\t'); FXString regkey = data.after('\t'); // Input dialog FXString message; message.format(_("Press the combination of keys you want to use for the action: %s"), action.text()); message = message+ "\n" + _("[Press space to disable the key binding for this action]"); KeybindingsDialog* kbdialog = new KeybindingsDialog(this, key, message, _("Modify Key Binding"), keybindingsicon); // Accept was pressed if (kbdialog->execute(PLACEMENT_CURSOR)) { // Convert the entered string into a valid key binding string FXString newkey = kbdialog->getKey(); if (newkey == "Space") { newkey = ""; } // Check if the new key binding is not already used elsewhere if (newkey != "") { FXString dictdata, dictkey; FXbool exist_in_glb = false, exist_in_xfi = false; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { dictdata = glbBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_glb = true; break; } } if (exist_in_glb) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the global section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { dictdata = xfiBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfi = true; break; } } if (exist_in_xfi) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfi section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } } // Modify the item text itemtext = data+TAB+newkey; xfiBindingsList->setItemText(index, itemtext); // Update dictionary FXString str = action+TAB+newkey; xfiBindingsDict->replace(regkey.text(), str.text()); changed = true; } // Cancel was pressed else { delete kbdialog; return(0); } delete kbdialog; return(1); } // Double clicked on an item in the Xfw list long KeybindingsBox::onCmdDefineXfwKeybindings(FXObject*, FXSelector, void*) { // Get selected item string FXString itemtext = ""; int index = -1; for (int u = 0; u < xfwBindingsList->getNumItems(); u++) { if (xfwBindingsList->isItemSelected(u)) { itemtext = xfwBindingsList->getItemText(u); index = u; } } if (index < 0) // Should not happen { return(0); } // Decompose item text FXString data = itemtext.rbefore('\t'); FXString key = itemtext.rafter('\t'); FXString action = data.before('\t'); FXString regkey = data.after('\t'); // Input dialog FXString message; message.format(_("Press the combination of keys you want to use for the action: %s"), action.text()); message = message+ "\n" + _("[Press space to disable the key binding for this action]"); KeybindingsDialog* kbdialog = new KeybindingsDialog(this, key, message, _("Modify Key Binding"), keybindingsicon); // Accept was pressed if (kbdialog->execute(PLACEMENT_CURSOR)) { // Convert the entered string into a valid key binding string FXString newkey = kbdialog->getKey(); if (newkey == "Space") { newkey = ""; } // Check if the new key binding is not already used elsewhere if (newkey != "") { FXString dictdata, dictkey; FXbool exist_in_glb = false, exist_in_xfw = false; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { dictdata = glbBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_glb = true; break; } } if (exist_in_glb) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the global section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { dictdata = xfwBindingsDict->data(i); dictkey = dictdata.after('\t'); if (dictkey == newkey) { exist_in_xfw = true; break; } } if (exist_in_xfw) { MessageBox::error(this, BOX_OK, _("Error"), _("The key binding %s is already used in the Xfw section.\n\ You should erase the existing key binding before assigning it again."), newkey.text()); delete kbdialog; return(0); } } // Modify the item text itemtext = data+TAB+newkey; xfwBindingsList->setItemText(index, itemtext); // Update dictionary FXString str = action+TAB+newkey; xfwBindingsDict->replace(regkey.text(), str.text()); changed = true; } // Cancel was pressed else { delete kbdialog; return(0); } delete kbdialog; return(1); } // Execute dialog box modally FXuint KeybindingsBox::execute(FXuint placement) { // Save binding dicts for cancel purpose FXString data, regkey; for (int i = glbBindingsDict->first(); i < glbBindingsDict->size(); i = glbBindingsDict->next(i)) { regkey = glbBindingsDict->key(i); data = glbBindingsDict->data(i); glbBindingsDict_prev->replace(regkey.text(), data.text()); } for (int i = xfeBindingsDict->first(); i < xfeBindingsDict->size(); i = xfeBindingsDict->next(i)) { regkey = xfeBindingsDict->key(i); data = xfeBindingsDict->data(i); xfeBindingsDict_prev->replace(regkey.text(), data.text()); } for (int i = xfiBindingsDict->first(); i < xfiBindingsDict->size(); i = xfiBindingsDict->next(i)) { regkey = xfiBindingsDict->key(i); data = xfiBindingsDict->data(i); xfiBindingsDict_prev->replace(regkey.text(), data.text()); } for (int i = xfwBindingsDict->first(); i < xfwBindingsDict->size(); i = xfwBindingsDict->next(i)) { regkey = xfwBindingsDict->key(i); data = xfwBindingsDict->data(i); xfwBindingsDict_prev->replace(regkey.text(), data.text()); } // Execute dialog FXuint ret = DialogBox::execute(placement); return(ret); } xfe-1.42/src/DirPanel.cpp0000644000175100017510000027400212746076770012163 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "File.h" #include "DirList.h" #include "Properties.h" #include "BrowseInputDialog.h" #include "ArchInputDialog.h" #include "XFileExplorer.h" #include "MessageBox.h" #include "DirPanel.h" // Refresh interval for the directory size (ms) #define DIRSIZE_REFRESH_INTERVAL 1000 // Duration (in ms) before we can stop refreshing the file list // Used for file operations on a large list of files #define STOP_LIST_REFRESH_INTERVAL 5000 // Number of files before stopping the file list refresh #define STOP_LIST_REFRESH_NBMAX 100 // Clipboard extern FXString clipboard; extern FXuint clipboard_type; // Global variables extern FXMainWindow* mainWindow; extern FXbool allowPopupScroll; #if defined(linux) extern FXStringDict* fsdevices; extern FXStringDict* mtdevices; #endif extern FXuint single_click; extern FXString xdgdatahome; // Dirty hack to change the KEY_up and KEY_down behaviour // These keys are no more associated with the mouse click action #define SELECT_MASK (TREELIST_SINGLESELECT|TREELIST_BROWSESELECT) FXbool fromKeyPress = false; long FXTreeList::onKeyPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXTreeItem* item = currentitem; FXTreeItem* succ; int page; flags &= ~FLAG_TIP; if (!isEnabled()) { return(0); } if (target && target->tryHandle(this, FXSEL(SEL_KEYPRESS, message), ptr)) { return(1); } if (item == NULL) { item = firstitem; } switch (event->code) { case KEY_Control_L: case KEY_Control_R: case KEY_Shift_L: case KEY_Shift_R: case KEY_Alt_L: case KEY_Alt_R: if (flags&FLAG_DODRAG) { handle(this, FXSEL(SEL_DRAGGED, 0), ptr); } return(1); case KEY_Page_Up: case KEY_KP_Page_Up: for (succ = item, page = verticalScrollBar()->getPage(); succ && 0 < page; ) { item = succ; page -= succ->getHeight(this); if (succ->prev) { succ = succ->prev; while (succ->last && ((options&TREELIST_AUTOSELECT) || succ->isExpanded())) { succ = succ->last; } } else if (succ->parent) { succ = succ->parent; } } goto hop; case KEY_Page_Down: case KEY_KP_Page_Down: for (succ = item, page = verticalScrollBar()->getPage(); succ && 0 < page; ) { item = succ; page -= succ->getHeight(this); if (succ->first && ((options&TREELIST_AUTOSELECT) || succ->isExpanded())) { succ = succ->first; } else { while (!succ->next && succ->parent) { succ = succ->parent; } succ = succ->next; } } goto hop; case KEY_Up: // Move up case KEY_KP_Up: if (item) { if (item->prev) { item = item->prev; while (item->last && ((options&TREELIST_AUTOSELECT) || item->isExpanded())) { item = item->last; } } else if (item->parent) { item = item->parent; } } goto hop; case KEY_Down: // Move down case KEY_KP_Down: if (item) { if (item->first && ((options&TREELIST_AUTOSELECT) || item->isExpanded())) { item = item->first; } else { while (!item->next && item->parent) { item = item->parent; } item = item->next; } } goto hop; case KEY_Right: // Move right/down and open subtree case KEY_KP_Right: if (item) { if (!(options&TREELIST_AUTOSELECT) && !item->isExpanded() && (item->hasItems() || item->getFirst())) { expandTree(item, true); } else if (item->first) { item = item->first; } else { while (!item->next && item->parent) { item = item->parent; } item = item->next; } } goto hop; case KEY_Left: // Move left/up and close subtree case KEY_KP_Left: if (item) { if (!(options&TREELIST_AUTOSELECT) && item->isExpanded() && (item->hasItems() || item->getFirst())) { collapseTree(item, true); } else if (item->parent) { item = item->parent; } else if (item->prev) { item = item->prev; } } goto hop; case KEY_Home: // Move to first case KEY_KP_Home: item = firstitem; goto hop; case KEY_End: // Move to last case KEY_KP_End: item = lastitem; while (item) { if (item->last && ((options&TREELIST_AUTOSELECT) || item->isExpanded())) { item = item->last; } else if (item->next) { item = item->next; } else { break; } } hop: lookup = FXString::null; if (item) { setCurrentItem(item, true); makeItemVisible(item); if ((options&SELECT_MASK) == TREELIST_EXTENDEDSELECT) { if (item->isEnabled()) { if (event->state&SHIFTMASK) { if (anchoritem) { selectItem(anchoritem, true); extendSelection(item, true); } else { selectItem(item, true); setAnchorItem(item); } } else if (!(event->state&CONTROLMASK)) { killSelection(true); selectItem(item, true); setAnchorItem(item); } } } } // !!!! Hack to change the KEY_up and KEY_down behaviour !!! fromKeyPress = true; // !!!! End of hack !!! handle(this, FXSEL(SEL_CLICKED, 0), (void*)currentitem); if (currentitem && currentitem->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)currentitem); } return(1); case KEY_space: case KEY_KP_Space: lookup = FXString::null; if (item && item->isEnabled()) { switch (options&SELECT_MASK) { case TREELIST_EXTENDEDSELECT: if (event->state&SHIFTMASK) { if (anchoritem) { selectItem(anchoritem, true); extendSelection(item, true); } else { selectItem(item, true); } } else if (event->state&CONTROLMASK) { toggleItem(item, true); } else { killSelection(true); selectItem(item, true); } break; case TREELIST_MULTIPLESELECT: case TREELIST_SINGLESELECT: toggleItem(item, true); break; } setAnchorItem(item); } handle(this, FXSEL(SEL_CLICKED, 0), (void*)currentitem); if (currentitem && currentitem->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)currentitem); } return(1); case KEY_Return: case KEY_KP_Enter: lookup = FXString::null; handle(this, FXSEL(SEL_DOUBLECLICKED, 0), (void*)currentitem); if (currentitem && currentitem->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)currentitem); } return(1); default: if ((FXuchar)event->text[0] < ' ') { return(0); } if (event->state&(CONTROLMASK|ALTMASK)) { return(0); } if (!Ascii::isPrint(event->text[0])) { return(0); } lookup.append(event->text); getApp()->addTimeout(this, ID_LOOKUPTIMER, getApp()->getTypingSpeed()); item = findItem(lookup, currentitem, SEARCH_FORWARD|SEARCH_WRAP|SEARCH_PREFIX); if (item) { setCurrentItem(item, true); makeItemVisible(item); if ((options&SELECT_MASK) == TREELIST_EXTENDEDSELECT) { if (item->isEnabled()) { killSelection(true); selectItem(item, true); } } setAnchorItem(item); } handle(this, FXSEL(SEL_CLICKED, 0), (void*)currentitem); if (currentitem && currentitem->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)currentitem); } return(1); } return(0); } // Map FXDEFMAP(DirPanel) DirPanelMap[] = { FXMAPFUNC(SEL_CLIPBOARD_LOST, 0, DirPanel::onClipboardLost), FXMAPFUNC(SEL_CLIPBOARD_GAINED, 0, DirPanel::onClipboardGained), FXMAPFUNC(SEL_CLIPBOARD_REQUEST, 0, DirPanel::onClipboardRequest), FXMAPFUNC(SEL_TIMEOUT, DirPanel::ID_STOP_LIST_REFRESH_TIMER, DirPanel::onCmdStopListRefreshTimer), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_EXPANDTREE, DirPanel::onExpandTree), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_COLLAPSETREE, DirPanel::onCollapseTree), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_PROPERTIES, DirPanel::onCmdProperties), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_ARCHIVE, DirPanel::onCmdAddToArch), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, DirPanel::ID_FILELIST, DirPanel::onCmdPopupMenu), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_POPUP_MENU, DirPanel::onCmdPopupMenu), FXMAPFUNC(SEL_CLICKED, DirPanel::ID_FILELIST, DirPanel::onCmdDirectory), FXMAPFUNC(SEL_EXPANDED, DirPanel::ID_FILELIST, DirPanel::onExpand), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_COPY_CLIPBOARD, DirPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_CUT_CLIPBOARD, DirPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_ADDCOPY_CLIPBOARD, DirPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_ADDCUT_CLIPBOARD, DirPanel::onCmdCopyCut), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_PASTE_CLIPBOARD, DirPanel::onCmdPaste), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_COPY, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_CUT, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_COPYTO, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_MOVETO, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_RENAME, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_SYMLINK, DirPanel::onCmdDirMan), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_DELETE, DirPanel::onCmdDirDelete), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_TRASH, DirPanel::onCmdDirTrash), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_DIR_RESTORE, DirPanel::onCmdDirRestore), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_NEW_DIR, DirPanel::onCmdNewDir), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_XTERM, DirPanel::onCmdXTerm), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_TOGGLE_HIDDEN, DirPanel::onCmdToggleHidden), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_TOGGLE_TREE, DirPanel::onCmdToggleTree), FXMAPFUNC(SEL_TIMEOUT, DirPanel::ID_DIRSIZE_REFRESH, DirPanel::onCmdDirsizeRefresh), FXMAPFUNC(SEL_FOCUSIN, DirPanel::ID_FILELIST, DirPanel::onCmdFocus), #if defined(linux) FXMAPFUNC(SEL_COMMAND, DirPanel::ID_MOUNT, DirPanel::onCmdMount), FXMAPFUNC(SEL_COMMAND, DirPanel::ID_UMOUNT, DirPanel::onCmdMount), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_MOUNT, DirPanel::onUpdMount), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_UMOUNT, DirPanel::onUpdUnmount), #endif FXMAPFUNC(SEL_UPDATE, DirPanel::ID_PASTE_CLIPBOARD, DirPanel::onUpdPaste), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_TOGGLE_HIDDEN, DirPanel::onUpdToggleHidden), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_TOGGLE_TREE, DirPanel::onUpdToggleTree), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_CUT_CLIPBOARD, DirPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_ARCHIVE, DirPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_DIR_MOVETO, DirPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_DIR_RENAME, DirPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_DIR_TRASH, DirPanel::onUpdDirTrash), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_DIR_RESTORE, DirPanel::onUpdDirRestore), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_DIR_DELETE, DirPanel::onUpdDirDelete), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_NEW_DIR, DirPanel::onUpdMenu), FXMAPFUNC(SEL_UPDATE, DirPanel::ID_TITLE, DirPanel::onUpdTitle), FXMAPFUNC(SEL_UPDATE, 0, DirPanel::onUpdDirsizeRefresh), }; // Object implementation FXIMPLEMENT(DirPanel, FXVerticalFrame, DirPanelMap, ARRAYNUMBER(DirPanelMap)) // Construct Directory Panel DirPanel::DirPanel(FXWindow* owner, FXComposite* p, FXColor listbackcolor, FXColor listforecolor, FXbool smoothscroll, FXuint opts, int x, int y, int w, int h) : FXVerticalFrame(p, opts, x, y, w, h, 0, 0, 0, 0) { // Construct directory panel FXVerticalFrame* cont = new FXVerticalFrame(this, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); FXPacker* packer = new FXHorizontalFrame(cont, LAYOUT_LEFT|JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 0, 0, 0, 0); // Visually indicate if the panel is active activeicon = new FXButton(packer, "", greenbuttonicon, this, DirPanel::ID_FILELIST, BUTTON_TOOLBAR|JUSTIFY_LEFT|LAYOUT_LEFT); // Panel title paneltitle = new TextLabel(packer, 0, this, ID_FILELIST, LAYOUT_FILL_X|LAYOUT_FILL_Y); paneltitle->setText(_("Folders")); paneltitle->setBackColor(getApp()->getBaseColor()); FXuint options; if (smoothscroll) { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|TREELIST_BROWSESELECT|TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES|FRAME_SUNKEN; } else { options = LAYOUT_FILL_X|LAYOUT_FILL_Y|TREELIST_BROWSESELECT|TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES|SCROLLERS_DONT_TRACK; } FXVerticalFrame* cont2 = new FXVerticalFrame(cont, LAYOUT_FILL_Y|LAYOUT_FILL_X|FRAME_SUNKEN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); list = new DirList(owner, cont2, this, ID_FILELIST, options); list->setTextColor(listforecolor); list->setBackColor(listbackcolor); statusbar = new FXHorizontalFrame(cont, JUSTIFY_LEFT|LAYOUT_FILL_X|FRAME_NONE, 0, 0, 0, 0, 3, 3, 3, 3); FXString key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_dirs", "Ctrl-F5"); new FXToggleButton(statusbar, TAB+_("Show hidden folders")+PARS(key), TAB+_("Hide hidden folders")+PARS(key), showhiddenicon, hidehiddenicon, this, ID_TOGGLE_HIDDEN, BUTTON_TOOLBAR|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_NONE); status = new FXLabel(statusbar, _("0 bytes in root"), NULL, JUSTIFY_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X|FRAME_NONE); status->setTarget(this); status->setSelector(FXSEL(SEL_UPDATE, DirPanel::ID_TITLE)); // Home and trahscan locations trashlocation = xdgdatahome+PATHSEPSTRING TRASHPATH; trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; // Start location (we return to the start location after each chdir) startlocation = FXSystem::getCurrentDirectory(); // Single click navigation single_click = getApp()->reg().readUnsignedEntry("SETTINGS", "single_click", SINGLE_CLICK_NONE); if (single_click == SINGLE_CLICK_DIR_FILE) { list->setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } // Dialogs newdirdialog = NULL; archdialog = NULL; operationdialog = NULL; operationdialogrename = NULL; // Initialize clipboard flag fromPaste = false; // Initialize control flag for right click popup menu ctrlflag = false; // Other initializations focuswindow = owner; isactive = false; curr_mtime = 0; curr_dirpath = ""; allowDirsizeRefresh = true; } // Destructor DirPanel::~DirPanel() { getApp()->removeTimeout(this, ID_DIRSIZE_REFRESH); delete list; delete statusbar; delete status; delete newdirdialog; delete archdialog; delete operationdialog; delete operationdialogrename; delete paneltitle; } // Create X window void DirPanel::create() { // Register standard uri-list type urilistType = getApp()->registerDragType("text/uri-list"); // Register special uri-list type used for Gnome, XFCE and Xfe xfelistType = getApp()->registerDragType("x-special/gnome-copied-files"); // Register special uri-list type used for KDE kdelistType = getApp()->registerDragType("application/x-kde-cutselection"); // Register standard UTF-8 text type used for file dialogs utf8Type = getApp()->registerDragType("UTF8_STRING"); getApp()->addTimeout(this, ID_DIRSIZE_REFRESH, DIRSIZE_REFRESH_INTERVAL); FXVerticalFrame::create(); } // Make DirPanel active void DirPanel::setActive() { // Set active icon activeicon->setIcon(greenbuttonicon); activeicon->setTipText(_("Panel is active")); list->setFocus(); isactive = true; // Current panel must get an inactive icon (but not get the inactive status!) FilePanel* currentpanel = ((XFileExplorer*)mainWindow)->getCurrentPanel(); currentpanel->setInactive(false); } // Make DirPanel inactive void DirPanel::setInactive() { // Set active icon activeicon->setIcon(graybuttonicon); activeicon->setTipText(_("Activate panel")); isactive = false; } // Focus on DirPanel when clicked (i.e. make panel active) long DirPanel::onCmdFocus(FXObject* sender, FXSelector sel, void* ptr) { setActive(); return(1); } // To pass the expand message to DirList long DirPanel::onExpand(FXObject*, FXSelector, void* ptr) { list->handle(this, FXSEL(SEL_EXPANDED, 0), (void*)ptr); return(1); } // Change the directory when clicking on the tree list long DirPanel::onCmdDirectory(FXObject*, FXSelector, void* ptr) { TreeItem* item = (TreeItem*)ptr; if (item) { FXString directory = list->getItemPathname(item); if (!::isReadExecutable(directory)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _(" Permission to: %s denied."), directory.text()); return(0); } FilePanel* currentpanel = ((XFileExplorer*)mainWindow)->getCurrentPanel(); FXComboBox* address = ((XFileExplorer*)mainWindow)->getAddressBox(); currentpanel->setDirectory(directory, true); currentpanel->updatePath(); // Remember latest directory in the location address FXString item; int i = 0; int count = address->getNumItems(); FXString p = currentpanel->getDirectory(); if (!count) { count++; address->insertItem(0, address->getText()); } while (i < count) { item = address->getItem(i++); if (streq((const char*)&p[0], (const char*)&item[0])) { i--; break; } } if (i == count) { address->insertItem(0, currentpanel->getDirectory()); } } // Manage single click navigation if (item && (single_click != SINGLE_CLICK_NONE) && !fromKeyPress) { list->handle(this, FXSEL(SEL_EXPANDED, 0), (void*)ptr); } fromKeyPress = false; return(1); } // Toggle hidden files long DirPanel::onCmdToggleHidden(FXObject*, FXSelector, void*) { list->showHiddenFiles(!list->shownHiddenFiles()); return(1); } // Update toggle hidden files widget long DirPanel::onUpdToggleHidden(FXObject* sender, FXSelector, void*) { if (list->shownHiddenFiles()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_CHECK), NULL); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); } return(1); } long DirPanel::onCmdToggleTree(FXObject* sender, FXSelector sel, void* ptr) { return(this->handle(sender, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), ptr)); } long DirPanel::onUpdToggleTree(FXObject* sender, FXSelector sel, void* ptr) { if (this->shown()) { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_CHECK), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_UNCHECK), ptr); } return(1); } // Directory list context menu long DirPanel::onCmdPopupMenu(FXObject* o, FXSelector s, void* p) { // Check if control key was pressed if (p != NULL) { FXEvent* event = (FXEvent*)p; if (event->state&CONTROLMASK) { ctrlflag = true; } } // Current item becomes item under cursor int x, y, xitem, yitem; FXuint state; getRoot()->getCursorPosition(x, y, state); list->getCursorPosition(xitem, yitem, state); DirItem* item = (DirItem*)list->getItemAt(xitem, yitem); // If item, then set it current and set directory in DirList and FileList FXString dir; if (item) { list->setCurrentItem(item, true); dir = list->getItemPathname((TreeItem*)item); list->setDirectory(dir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(dir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } else { ctrlflag = true; } // Popup menu pane FXMenuPane* menu = new FXMenuPane(this); // Menu // Control flag set if (ctrlflag) { // Reset the control flag ctrlflag = false; // Panel menu items new FXMenuCommand(menu, _("New &folder..."), newfoldericon, this, DirPanel::ID_NEW_DIR); new FXMenuSeparator(menu); new FXMenuCheck(menu, _("&Hidden folders"), this, DirPanel::ID_TOGGLE_HIDDEN); new FXMenuCheck(menu, _("Ignore c&ase"), list, DirList::ID_SORT_CASE); new FXMenuCheck(menu, _("&Reverse order"), list, DirList::ID_SORT_REVERSE); new FXMenuCommand(menu, _("E&xpand tree"), exptreeicon, this, DirPanel::ID_EXPANDTREE); new FXMenuCommand(menu, _("Collap&se tree"), colltreeicon, this, DirPanel::ID_COLLAPSETREE); } else { // Panel submenu items FXMenuPane* submenu = new FXMenuPane(this); new FXMenuCommand(submenu, _("New &folder..."), newfoldericon, this, DirPanel::ID_NEW_DIR); new FXMenuSeparator(submenu); new FXMenuCheck(submenu, _("&Hidden folders"), this, DirPanel::ID_TOGGLE_HIDDEN); new FXMenuCheck(submenu, _("Ignore c&ase"), list, DirList::ID_SORT_CASE); new FXMenuCheck(submenu, _("&Reverse order"), list, DirList::ID_SORT_REVERSE); new FXMenuCommand(submenu, _("E&xpand tree"), exptreeicon, this, DirPanel::ID_EXPANDTREE); new FXMenuCommand(submenu, _("Collap&se tree"), colltreeicon, this, DirPanel::ID_COLLAPSETREE); new FXMenuCascade(menu, _("Pane&l"), NULL, submenu); new FXMenuSeparator(menu); #if defined(linux) if (::isLink(dir)) { dir = ::readLink(dir); } if (fsdevices->find(dir.text()) || mtdevices->find(dir.text())) { new FXMenuCommand(menu, _("M&ount"), maphosticon, this, ID_MOUNT); new FXMenuCommand(menu, _("Unmoun&t"), unmaphosticon, this, ID_UMOUNT); new FXMenuSeparator(menu); } #endif new FXMenuCommand(menu, _("&Add to archive..."), archaddicon, this, DirPanel::ID_ARCHIVE); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("&Copy"), copy_clpicon, this, DirPanel::ID_COPY_CLIPBOARD); new FXMenuCommand(menu, _("C&ut"), cut_clpicon, this, DirPanel::ID_CUT_CLIPBOARD); new FXMenuCommand(menu, _("&Paste"), paste_clpicon, this, DirPanel::ID_PASTE_CLIPBOARD); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Re&name..."), renameiticon, this, DirPanel::ID_DIR_RENAME); new FXMenuCommand(menu, _("Cop&y to..."), copy_clpicon, this, DirPanel::ID_DIR_COPYTO); new FXMenuCommand(menu, _("&Move to..."), moveiticon, this, DirPanel::ID_DIR_MOVETO); new FXMenuCommand(menu, _("Symlin&k to..."), minilinkicon, this, DirPanel::ID_DIR_SYMLINK); new FXMenuCommand(menu, _("Mo&ve to trash"), filedeleteicon, this, DirPanel::ID_DIR_TRASH); new FXMenuCommand(menu, _("R&estore from trash"), filerestoreicon, this, DirPanel::ID_DIR_RESTORE); new FXMenuCommand(menu, _("&Delete"), filedelete_permicon, this, DirPanel::ID_DIR_DELETE); new FXMenuSeparator(menu); new FXMenuCommand(menu, _("Prop&erties"), attribicon, this, DirPanel::ID_PROPERTIES); } menu->create(); allowPopupScroll = true; // Allow keyboard scrolling menu->popup(NULL, x, y); getApp()->runModalWhileShown(menu); allowPopupScroll = false; return(1); } // Helper function used to explore the directory tree and expand or collapse it long DirPanel::exploreUp(DirItem* item, const DirItem* rootitem, const int task) { DirItem* parentitem = item; if (task == ID_EXPANDTREE) { list->expandTree((TreeItem*)item, true); } else { list->collapseTree((TreeItem*)item, true); } item = (DirItem*)item->getFirst(); if (!item) { exploreDown(parentitem, rootitem, task); } else { exploreUp(item, rootitem, task); } return(1); } // Helper function used to explore the directory tree and expand or collapse it long DirPanel::exploreDown(DirItem* item, const DirItem* rootitem, const int task) { if (item == rootitem) { return(1); } DirItem* parentitem = (DirItem*)item->getParent(); if (task == ID_EXPANDTREE) { list->expandTree((TreeItem*)item, true); } else { list->collapseTree((TreeItem*)item, true); } item = (DirItem*)item->getNext(); if (!item) { exploreDown(parentitem, rootitem, task); } else { if (task == ID_EXPANDTREE) { list->expandTree((TreeItem*)item, true); } else { list->collapseTree((TreeItem*)item, true); } if (!list->isItemLeaf(item)) { exploreUp(item, rootitem, task); } else { exploreDown(item, rootitem, task); } } return(1); } // Expand the directory tree under cursor long DirPanel::onExpandTree(FXObject* sender, FXSelector sel, void*) { DirItem* rootitem = (DirItem*)list->getCurrentItem(); getApp()->beginWaitCursor(); exploreUp(rootitem, rootitem, ID_EXPANDTREE); getApp()->endWaitCursor(); return(1); } // Collapse the directory tree under cursor long DirPanel::onCollapseTree(FXObject* sender, FXSelector sel, void*) { DirItem* rootitem = (DirItem*)list->getCurrentItem(); getApp()->beginWaitCursor(); exploreUp(rootitem, rootitem, ID_COLLAPSETREE); getApp()->endWaitCursor(); return(1); } // Directory properties long DirPanel::onCmdProperties(FXObject* sender, FXSelector, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString pathname = list->getItemPathname((TreeItem*)item); PropertiesBox* attrdlg = new PropertiesBox(this, FXPath::name(pathname), FXPath::directory(pathname)); attrdlg->create(); attrdlg->show(PLACEMENT_OWNER); //~ if (attrdlg->execute(PLACEMENT_OWNER)) //~ { list->setDirectory(pathname, true); //~ } //~ delete attrdlg; return(1); } // Add files or directory to an archive long DirPanel::onCmdAddToArch(FXObject* o, FXSelector, void*) { int ret; FXString ext1, ext2, cmd, archive; File* f; // Name and path of the current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString name = list->getItemText(item); FXString pathname = list->getItemPathname((TreeItem*)item); FXString parentdir = FXPath::directory(pathname); // Initial archive name with full path and default extension if (parentdir == PATHSEPSTRING) { if (name == PATHSEPSTRING) // Archive is root file system { archive = parentdir+"ROOT"+".tar.gz"; } else { archive = parentdir+name+".tar.gz"; } } else { archive = parentdir+PATHSEPSTRING+name+".tar.gz"; } ret = chdir(parentdir.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), parentdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), parentdir.text()); } return(0); } // Archive dialog if (archdialog == NULL) { archdialog = new ArchInputDialog(this, ""); } archdialog->setText(archive); archdialog->CursorEnd(); if (archdialog->execute()) { if (archdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("File name is empty, operation cancelled")); return(0); } // Get string and preserve escape characters archive = ::quote(archdialog->getText()); // Get extensions of the archive name ext1 = archdialog->getText().rafter('.', 1).lower(); ext2 = archdialog->getText().rafter('.', 2).lower(); // Handle different archive formats if (ext2 == "tar.gz") { cmd = "tar -zcvf "+archive+" "; } else if (ext2 == "tar.bz2") { cmd = "tar -jcvf "+archive+" "; } else if (ext2 == "tar.xz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext2 == "tar.z") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "tar") { cmd = "tar -cvf "+archive+" "; } else if (ext1 == "gz") { cmd = "gzip -v "; } else if (ext1 == "tgz") { cmd = "tar -zcvf "+archive+" "; } else if (ext1 == "taz") { cmd = "tar -Zcvf "+archive+" "; } else if (ext1 == "bz2") { cmd = "bzip2 -v "; } else if (ext1 == "xz") { cmd = "xz -v "; } else if ((ext1 == "tbz2") || (ext1 == "tbz")) { cmd = "tar -jcvf "+archive+" "; } else if (ext1 == "txz") { cmd = "tar -Jcvf "+archive+" "; } else if (ext1 == "z") { cmd = "compress -v "; } else if (ext1 == "zip") { cmd = "zip -r "+archive+" "; } else if (ext1 == "7z") { cmd = "7z a "+archive+" "; } // Default archive format else { archive += ".tar.gz"; cmd = "tar -zcvf "+archive+" "; } // Archive command name cmd = cmd+::quote(name); // Wait cursor getApp()->beginWaitCursor(); // File object f = new File(this, _("Create archive"), ARCHIVE); f->create(); // Create archive f->archive(archive, cmd); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } getApp()->endWaitCursor(); delete f; // Display parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } return(1); } // We now really do have the clipboard, keep clipboard content long DirPanel::onClipboardGained(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardGained(sender, sel, ptr); return(1); } // We lost the clipboard, free clipboard content long DirPanel::onClipboardLost(FXObject* sender, FXSelector sel, void* ptr) { FXVerticalFrame::onClipboardLost(sender, sel, ptr); return(1); } // Somebody wants our clipboard content long DirPanel::onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuchar* data; FXuint len; // Perhaps the target wants to supply its own data for the clipboard if (FXVerticalFrame::onClipboardRequest(sender, sel, ptr)) { return(1); } // Clipboard target is xfelistType (Xfe, Gnome or XFCE) if (event->target == xfelistType) { // Don't modify the clipboard if we are called from updPaste() if (!clipboard_locked) { // Prepend "copy" or "cut" as in the Gnome way and avoid duplicating these strings if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { if (clipboard_type == CUT_CLIPBOARD) { clipboard = "cut\n" + clipboard; } else { clipboard = "copy\n" + clipboard; } } } // Return clipboard content if (event->target == xfelistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); // Return because xfelistType is not compatible with other types return(1); } } } // Clipboard target is kdelisType (KDE) if (event->target == kdelistType) { // The only data to be passed in this case is "0" for copy and "1" for cut // The uri data are passed using the standard uri-list type FXString flag; if (clipboard_type == CUT_CLIPBOARD) { flag = "1"; } else { flag = "0"; } // Return clipboard content if (event->target == kdelistType) { FXMEMDUP(&data, flag.text(), FXuchar, 1); setDNDData(FROM_CLIPBOARD, event->target, data, 1); } } // Clipboard target is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) if (event->target == urilistType) { if (!clipboard.empty()) { len = clipboard.length(); FXMEMDUP(&data, clipboard.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } // Clipboard target is utf8Type (to paste file pathes as text to other applications) if (event->target == utf8Type) { if (!clipboard.empty()) { int beg = 0, end = 0; FXString str = ""; FXString pathname, url; // Clipboard don't contain 'copy\n' or 'cut\n' as first line if ((clipboard.find("copy\n") < 0) && (clipboard.find("cut\n") < 0)) { // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); str = str.mid(0, end-2); // Why is it end-2 here???? } // Clipboard contains 'copy\n' or 'cut\n' as first line, thus skip it else { // Start after the 'copy\n' or 'cut\n' prefix end = clipboard.find('\n', 0); end++; beg = end; // Remove the 'file:' prefix for each file path while (1) { end = clipboard.find('\n', end); if (end < 0) // Last line { end = clipboard.length(); url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; break; } url = clipboard.mid(beg, end-beg+1); pathname = FXURL::decode(FXURL::fileFromURL(url)); str += pathname; end++; beg = end; } end = str.length(); //str=str.mid(0,end-1); } if (!str.empty()) { len = str.length(); FXMEMDUP(&data, str.text(), FXuchar, len); setDNDData(FROM_CLIPBOARD, event->target, data, len); return(1); } } } return(0); } // Copy or cut to clipboard (and add copy / add cut) long DirPanel::onCmdCopyCut(FXObject*, FXSelector sel, void*) { // Clear clipboard if ((FXSELID(sel) == ID_COPY_CLIPBOARD) || (FXSELID(sel) == ID_CUT_CLIPBOARD)) { clipboard.clear(); } // Add an '\n' at the end if addcopy or addcut else { clipboard += '\n'; } // Clipboard type if ((FXSELID(sel) == ID_CUT_CLIPBOARD) || (FXSELID(sel) == ID_ADDCUT_CLIPBOARD)) { clipboard_type = CUT_CLIPBOARD; } else { clipboard_type = COPY_CLIPBOARD; } // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString pathname = list->getItemPathname((TreeItem*)item); clipboard += FXURL::encode(::fileToURI(pathname)); // Acquire the clipboard FXDragType types[4]; types[0] = xfelistType; types[1] = kdelistType; types[2] = urilistType; types[3] = utf8Type; if (acquireClipboard(types, 4)) { return(0); } return(1); } // Paste file(s) from clipboard long DirPanel::onCmdPaste(FXObject*, FXSelector sel, void*) { FXuchar* data; FXuint len; int beg, end, pos; FXString chaine, url, param; int num = 0; FXbool from_kde = false; // Target directory FXString targetdir = ((XFileExplorer*)mainWindow)->getCurrentPanel()->getDirectory(); // If source is xfelistType (Gnome, XFCE, or Xfe app) if (getDNDData(FROM_CLIPBOARD, xfelistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item url url = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = url.rfind('\r')) > 0) { url.erase(pos); } // Process first item if (num == 0) { // First item should be "copy" or "cut" if (url == "copy") { clipboard_type = COPY_CLIPBOARD; num++; } else if (url == "cut") { clipboard_type = CUT_CLIPBOARD; num++; } // If first item is not "copy" nor "cut", process it as a normal url // and use default clipboard type else { // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; // Add one more because the first line "copy" or "cut" was not present num += 2; } } // Process other items else { // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; num++; } } // Construct the final param string passed to the file management routine param = targetdir+"\n" + FXStringVal(num-1) + "\n" + param; // Copy or cut operation depending on the clipboard type switch (clipboard_type) { case COPY_CLIPBOARD: sel = FXSEL(SEL_COMMAND, DirPanel::ID_DIR_COPY); break; case CUT_CLIPBOARD: clipboard.clear(); sel = FXSEL(SEL_COMMAND, DirPanel::ID_DIR_CUT); break; } fromPaste = true; this->handle(this, sel, (void*)param.text()); // Free data pointer FXFREE(&data); // Return here because xfelistType is not compatible with other types return(1); } // If source type is kdelistType (KDE) if (getDNDData(FROM_CLIPBOARD, kdelistType, data, len)) { from_kde = true; FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Obtain clipboard type (copy or cut) if (clipboard == "1") { clipboard_type = CUT_CLIPBOARD; } else { clipboard_type = COPY_CLIPBOARD; } FXFREE(&data); } // If source type is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) if (getDNDData(FROM_CLIPBOARD, urilistType, data, len)) { // For non KDE apps, set action to copy if (!from_kde) { clipboard_type = COPY_CLIPBOARD; } FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; clipboard = (char*)data; // Loop over clipboard items for (beg = 0; beg < clipboard.length(); beg = end+1) { if ((end = clipboard.find("\n", beg)) < 0) { end = clipboard.length(); } // Obtain item url url = clipboard.mid(beg, end-beg); // Eventually remove the trailing '\r' if any if ((pos = url.rfind('\r')) > 0) { url.erase(pos); } // Update the param string param += FXURL::decode(FXURL::fileFromURL(url)) + "\n"; num++; } // Construct the final param string passed to the file management routine param = targetdir+"\n" + FXStringVal(num) + "\n" + param; // Copy or cut operation depending on the clipboard type switch (clipboard_type) { case COPY_CLIPBOARD: sel = FXSEL(SEL_COMMAND, DirPanel::ID_DIR_COPY); break; case CUT_CLIPBOARD: clipboard.clear(); sel = FXSEL(SEL_COMMAND, DirPanel::ID_DIR_CUT); break; } fromPaste = true; handle(this, sel, (void*)param.text()); FXFREE(&data); return(1); } return(0); } // Set the flag that allows to stop the file list refresh long DirPanel::onCmdStopListRefreshTimer(FXObject*, FXSelector, void*) { stopListRefresh = true; return(0); } // Copy/Move/Rename/Symlink directory long DirPanel::onCmdDirMan(FXObject* sender, FXSelector sel, void* ptr) { int num; FXString src, targetdir, target, name, source; // Confirmation dialog? FXbool ask_before_copy = getApp()->reg().readUnsignedEntry("OPTIONS", "ask_before_copy", true); // If we are called from the paste command, get the parameters from the pointer // Multiple sources are allowed if (fromPaste) { // Reset the flag fromPaste = false; // Get the parameters FXString str = (char*)ptr; targetdir = str.section('\n', 0); num = FXUIntVal(str.section('\n', 1)); src = str.after('\n', 2); source = src.section('\n', 0); // If no item, return if (num <= 0) { return(0); } } // Obtain the parameters from the dir panel (only one source) else { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); // Number of items if (item) { num = 1; } else { return(0); } // Source directory source = list->getItemPathname((TreeItem*)item); // Target directory targetdir = FXPath::directory(source); } // Go to target directory //chdir(targetdir.text()); // Name and directory of the first source file name = FXPath::name(source); FXString dir = FXPath::directory(source); // Initialise target name if (targetdir != ROOTDIR) { target = targetdir+PATHSEPSTRING; } else { target = targetdir; } // Configure the command, title, message, etc. FXIcon* icon = NULL; FXString command, title, message; if (FXSELID(sel) == ID_DIR_COPY) { command = "copy"; title = _("Copy"); icon = copy_bigicon; if (num == 1) { message = _("Copy "); message += source; if (::isFile(source)) { target += name; } // Source and target are identical => add a suffix to the name FXString tgt = ::cleanPath(target); // Remove trailing / if any if ((::identical(source, tgt)) || (::isDirectory(source) && (source == tgt+PATHSEPSTRING+FXPath::name(source)))) { target = ::buildCopyName(source); } } else { message.format(_("Copy %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_DIR_RENAME) { command = "rename"; title = _("Rename"); icon = move_bigicon; if (num == 1) { message = _("Rename "); message += name; target = name; title = _("Rename"); } else { return(0); } } if (FXSELID(sel) == ID_DIR_COPYTO) { command = "copy"; title = _("Copy to"); icon = copy_bigicon; if (num == 1) { message = _("Copy "); message += source; } else { message.format(_("Copy %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_DIR_MOVETO) { command = "move"; title = _("Move"); icon = move_bigicon; if (num == 1) { message = _("Move "); message += source; title = _("Move"); } else { message.format(_("Move %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_DIR_CUT) { command = "move"; title = _("Move"); icon = move_bigicon; if (num == 1) { message = _("Move "); message += source; if (::isFile(source)) { target += name; } title = _("Move"); } else { message.format(_("Move %s items from: %s"), FXStringVal(num).text(), dir.text()); } } if (FXSELID(sel) == ID_DIR_SYMLINK) { command = "symlink"; title = _("Symlink"); icon = link_bigicon; if (num == 1) { message = _("Symlink "); message += source; target += name; } else { message.format(_("Symlink %s items from: %s"), FXStringVal(num).text(), dir.text()); } } // File operation dialog, if needed if (ask_before_copy || (source == target) || (FXSELID(sel) == ID_DIR_COPYTO) || (FXSELID(sel) == ID_DIR_MOVETO) || (FXSELID(sel) == ID_DIR_RENAME) || (FXSELID(sel) == ID_DIR_SYMLINK)) { if (FXSELID(sel) == ID_DIR_RENAME) { if (operationdialogrename == NULL) { operationdialogrename = new InputDialog(this, "", "", title, _("To:"), icon); } operationdialogrename->setTitle(title); operationdialogrename->setIcon(icon); operationdialogrename->setMessage(message); operationdialogrename->setText(target); operationdialogrename->selectAll(); operationdialogrename->CursorEnd(); int rc = 1; rc = operationdialogrename->execute(PLACEMENT_CURSOR); target = operationdialogrename->getText(); // Target name contains '/' if (target.contains(PATHSEPCHAR)) { MessageBox::error(this, BOX_OK, _("Error"), _("The / character is not allowed in folder names, operation cancelled")); return(0); } if (!rc) { return(0); } } else { if (operationdialog == NULL) { operationdialog = new BrowseInputDialog(this, "", "", title, _("To:"), icon, BROWSE_INPUT_FOLDER); } operationdialog->setTitle(title); operationdialog->setIcon(icon); operationdialog->setMessage(message); operationdialog->setText(target); operationdialog->CursorEnd(); operationdialog->setDirectory(targetdir); int rc = 1; rc = operationdialog->execute(PLACEMENT_CURSOR); target = operationdialog->getText(); if (!rc) { return(0); } } } // Update target and target parent directory target = ::filePath(target, targetdir); if (::isDirectory(target)) { targetdir = target; } else { targetdir = FXPath::directory(target); } // Target directory not writable if (!::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // Multiple sources and non existent destination if ((num > 1) && !::exists(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), target.text()); return(0); } // Multiple sources and target is a file if ((num > 1) && ::isFile(target)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), target.text()); return(0); } // Target is a directory and is not writable if (::isDirectory(target) & !::isWritable(target)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), target.text()); return(0); } // Target is a file and its parent directory is not writable if (::isFile(target) && !::isWritable(targetdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetdir.text()); return(0); } // Target parent directory doesn't exist if (!::exists(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), targetdir.text()); return(0); } // Target parent directory is not a directory if (!::isDirectory(targetdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("%s is not a folder"), targetdir.text()); return(0); } // Current and next panel FilePanel* currentpanel = ((XFileExplorer*)mainWindow)->getCurrentPanel(); FilePanel* nextpanel = ((XFileExplorer*)mainWindow)->getNextPanel(); // One source File* f; int ret; f = NULL; if (num == 1) { // An empty source file name corresponds to the ".." file // Don't perform any file operation on it! if (source == "") { return(0); } // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); } } else if (command == "rename") { f = new File(this, _("File rename"), RENAME); f->create(); ret = f->rename(source, target); // If file is located at trash location, try to also remove the corresponding trashinfo if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } } else if (command == "move") { f = new File(this, _("File move"), MOVE); f->create(); // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); } } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK); f->create(); f->symlink(source, target); } // Shouldn't happen else { exit(EXIT_FAILURE); } getApp()->endWaitCursor(); delete f; } // Multiple sources // Note : rename cannot be used in this case! else if (num > 1) { // Wait cursor getApp()->beginWaitCursor(); // File object if (command == "copy") { f = new File(this, _("File copy"), COPY); } else if (command == "move") { f = new File(this, _("File move"), MOVE); } else if (command == "symlink") { f = new File(this, _("Symlink"), SYMLINK); } if (f == NULL) { fprintf(stderr, "%s::onCmdDirMan: NULL pointer specified.\n", getClassName()); exit(EXIT_FAILURE); } else { f->create(); } // Initialize file list stop refresh timer and flag stopListRefresh = false; getApp()->addTimeout(this, ID_STOP_LIST_REFRESH_TIMER, STOP_LIST_REFRESH_INTERVAL); // Loop on the multiple files for (int i = 0; i < num; i++) { // Stop refreshing the file list and directory size if file operation is long and has many files // This avoids flickering and speeds up things a bit if (stopListRefresh && (i > STOP_LIST_REFRESH_NBMAX)) { // Force a last refresh if current panel is destination if (currentpanel->getDirectory() == targetdir) { currentpanel->getList()->onCmdRefresh(0, 0, 0); } // Force a last refresh if next panel is destination if (nextpanel->getDirectory() == targetdir) { nextpanel->getList()->onCmdRefresh(0, 0, 0); } // Tell the file list to not refresh anymore currentpanel->setAllowRefresh(false); nextpanel->setAllowRefresh(false); // Avoid to refresh the dirsize setAllowDirsizeRefresh(false); // Don't need to stop again stopListRefresh = false; } // Individual source file source = src.section('\n', i); // An empty file name corresponds to the ".." file (why?) // Don't perform any file operation on it! if (source != "") { if (command == "copy") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Copy source to trash target ret = f->copy(source, trashtarget); } // Copy source to target else { ret = f->copy(source, target); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the copy file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Copy file operation cancelled!")); break; } } else if (command == "move") { // If target file is located at trash location, also create the corresponding trashinfo file // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (target == trashfileslocation)) { // Trash files path name FXString trashpathname = createTrashpathname(source, trashfileslocation); // Adjust target name to get the _N suffix if any FXString trashtarget = target+PATHSEPSTRING+FXPath::name(trashpathname); // Create trashinfo file createTrashinfo(source, trashpathname, trashfileslocation, trashinfolocation); // Move source to trash target ret = f->move(source, trashtarget); } // Move source to target else { ret = f->move(source, target); } // If source file is located at trash location, try to also remove the corresponding trashinfo file if it exists // Do it silently and don't report any error if it fails if (use_trash_can && ret && (source.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(source)+".trashinfo"; ::unlink(trashinfopathname.text()); } // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move file operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move file operation cancelled!")); break; } } else if (command == "symlink") { ret = f->symlink(source, target); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the symlink operation!")); break; } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Symlink operation cancelled!")); break; } } // Shouldn't happen else { exit(EXIT_FAILURE); } } } // Reinit timer and refresh flags getApp()->removeTimeout(this, ID_STOP_LIST_REFRESH_TIMER); currentpanel->setAllowRefresh(true); nextpanel->setAllowRefresh(true); setAllowDirsizeRefresh(true); getApp()->endWaitCursor(); delete f; } // Refresh the path link and the directory list currentpanel->updatePath(); list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Delete directory long DirPanel::onCmdDirDelete(FXObject*, FXSelector, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString pathname = list->getItemPathname((TreeItem*)item); FXString parentdir = FXPath::directory(pathname); // If we don't have permission to write to the parent directory if (!::isWritable(parentdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), parentdir.text()); return(0); } FXbool confirm_del = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete", true); FXbool confirm_del_emptydir = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_delete_emptydir", true); if (confirm_del) { FXString message; message.format(_("Definitively delete folder %s ?"), pathname.text()); MessageBox box(this, _("Confirm Delete"), message, delete_big_permicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // File object File* f = new File(this, _("File delete"), DELETE); f->create(); // Confirm empty directory deletion if (confirm_del & confirm_del_emptydir) { if ((::isEmptyDir(pathname) == 0) && !::isLink(pathname)) { // Dialog to confirm file deletion f->hideProgressDialog(); FXString msg; msg.format(_("Folder %s is not empty, delete it anyway?"), pathname.text()); MessageBox box(this, _("Confirm Delete"), msg, delete_big_permicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) == BOX_CLICKED_CANCEL) { goto end; } f->showProgressDialog(); } } // If we don't have permission to write to the directory if (!::isWritable(pathname)) { // Dialog to confirm directory deletion f->hideProgressDialog(); FXString msg; msg.format(_("Folder %s is write-protected, definitively delete it anyway?"), pathname.text()); MessageBox box(this, _("Confirm Delete"), msg, errorbigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); FXuint answer = box.execute(PLACEMENT_OWNER); if (answer == BOX_CLICKED_OK) { f->showProgressDialog(); f->remove(pathname); // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Delete folder operation cancelled!")); } // Return to parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } } // If we have permission to write else { f->remove(pathname); // If directory is located at trash location, try to also remove the trashinfo if it exists // Do it silently and don't report any error if it fails FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && (pathname.left(trashfileslocation.length()) == trashfileslocation)) { FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+FXPath::name(pathname)+".trashinfo"; ::unlink(trashinfopathname.text()); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Delete folder operation cancelled!")); } // Return to parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } end: delete f; // Force DirPanel and FilePanel refresh setAllowDirsizeRefresh(true); list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Move directory to trash can long DirPanel::onCmdDirTrash(FXObject*, FXSelector, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString pathname = list->getItemPathname((TreeItem*)item); FXString parentdir = FXPath::directory(pathname); // If we don't have permission to write to the parent directory if (!::isWritable(parentdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), parentdir.text()); return(0); } FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); if (confirm_trash) { FXString message; message.format(_("Move folder %s to trash can?"), pathname.text()); MessageBox box(this, _("Confirm Trash"), message, delete_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // File object File* f = new File(this, _("Move to trash"), DELETE); f->create(); // If we don't have permission to write to the directory if (!::isWritable(pathname)) { // Dialog to confirm directory deletion f->hideProgressDialog(); FXString str; str.format(_("Folder %s is write-protected, move it to trash can anyway?"), pathname.text()); MessageBox box(this, _("Confirm Trash"), str, errorbigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); FXuint answer = box.execute(PLACEMENT_OWNER); if (answer == BOX_CLICKED_OK) { // Allow progress dialog f->showProgressDialog(); // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move to trash folder operation cancelled!")); } // Return to parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } } // If we have permission to write else { // Trash files path name FXString trashpathname = createTrashpathname(pathname, trashfileslocation); // Create trashinfo file createTrashinfo(pathname, trashpathname, trashfileslocation, trashinfolocation); // Move file to trash files location int ret = f->move(pathname, trashpathname); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the move to trash operation!")); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Move to trash folder operation cancelled!")); } // Return to parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } delete f; // Force DirPanel and FilePanel refresh setAllowDirsizeRefresh(true); list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Restore directory from trash can long DirPanel::onCmdDirRestore(FXObject*, FXSelector, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString pathname = list->getItemPathname((TreeItem*)item); FXString parentdir = FXPath::directory(pathname); FXbool confirm_trash = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_trash", true); // File object File* f = new File(this, _("Restore from trash"), DELETE); f->create(); // Obtain trash base name and sub path FXString subpath = pathname; subpath.erase(0, trashfileslocation.length()+1); FXString trashbasename = subpath.before('/'); if (trashbasename == "") { trashbasename = FXPath::name(pathname); } subpath.erase(0, trashbasename.length()); // Read the .trashinfo file FILE* fp; char line[1024]; FXbool success = true; FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+trashbasename+".trashinfo"; FXString origpathname = ""; if ((fp = fopen(trashinfopathname.text(), "r")) != NULL) { // Read the first two lines and get the strings if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { origpathname = line; origpathname = origpathname.after('='); origpathname = origpathname.before('\n'); } fclose(fp); origpathname = origpathname+subpath; } // Confirm restore dialog if (confirm_trash) { FXString message; message.format(_("Restore folder %s to its original location %s ?"), FXPath::name(pathname).text(), origpathname.text()); f->hideProgressDialog(); MessageBox box(this, _("Confirm Restore"), message, restore_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { getApp()->endWaitCursor(); delete f; return(0); } f->showProgressDialog(); } // Bracket used because of a compilation problem with gotos { if (origpathname == "") { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("Restore information not available for %s"), pathname.text()); goto end; } // If parent dir of the original location does not exist FXString origparentdir = FXPath::directory(origpathname); if (!::exists(origparentdir)) { // Ask the user if he wants to create it f->hideProgressDialog(); FXString message; message.format(_("Parent folder %s does not exist, do you want to create it?"), origparentdir.text()); MessageBox box(this, _("Confirm Restore"), message, restore_bigicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { goto end; } else { f->showProgressDialog(); errno = 0; int ret = mkpath(origparentdir.text(), 0755); int errcode = errno; if (ret == -1) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create folder %s : %s"), origparentdir.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create folder %s"), origparentdir.text()); } goto end; } } } // Move file to original location (with restore option) int ret = f->move(pathname, origpathname, true); // An error has occurred if ((ret == 0) && !f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Error"), _("An error has occurred during the restore from trash operation!")); goto end; } // Silently remove trashinfo file FXString trashfilespathname = trashfileslocation+PATHSEPSTRING+trashbasename; if ((pathname == trashfilespathname) && !::exists(trashfilespathname)) { ::unlink(trashinfopathname.text()); } // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Restore from trash file operation cancelled!")); goto end; } // Return to parent directory in DirList and FileList list->setDirectory(parentdir, true); ((XFileExplorer*)mainWindow)->getCurrentPanel()->setDirectory(parentdir); ((XFileExplorer*)mainWindow)->getCurrentPanel()->updatePath(); } end: delete f; // Force DirPanel and FilePanel refresh setAllowDirsizeRefresh(true); list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Create new directory long DirPanel::onCmdNewDir(FXObject*, FXSelector, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString dirpath = list->getItemPathname((TreeItem*)item); if (dirpath != ROOTDIR) { dirpath += PATHSEPSTRING; } if (newdirdialog == NULL) { newdirdialog = new InputDialog(this, "", _("Create new folder:"), _("New Folder"), "", bignewfoldericon); } newdirdialog->setText(""); if (newdirdialog->execute(PLACEMENT_CURSOR)) { if (newdirdialog->getText() == "") { MessageBox::warning(this, BOX_OK, _("Warning"), _("Folder name is empty, operation cancelled")); return(0); } // Directory name contains '/' if (newdirdialog->getText().contains(PATHSEPCHAR)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in folder names, operation cancelled")); return(0); } FXString dirname = dirpath+newdirdialog->getText(); if (dirname != dirpath) { // Create the new dir according to the current umask int mask; mask = umask(0); umask(mask); // Note that the umask value is in decimal (511 means octal 0777) errno = 0; int ret = ::mkdir(dirname.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s : %s"), dirname.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't create folder %s"), dirname.text()); } return(0); } } } // Force dirpanel refresh list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Run Terminal in the selected directory long DirPanel::onCmdXTerm(FXObject*, FXSelector, void*) { int ret; getApp()->beginWaitCursor(); DirItem* item = (DirItem*)list->getCurrentItem(); FXString buf = list->getItemPathname((TreeItem*)item); ret = chdir(buf.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), buf.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), buf.text()); } return(0); } FXString cmd = getApp()->reg().readStringEntry("PROGS", "xterm", "xterm -sb"); cmd += " &"; ret = system(cmd.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), cmd.text()); return(0); } ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } getApp()->endWaitCursor(); return(1); } #if defined(linux) // Mount/Unmount directory long DirPanel::onCmdMount(FXObject*, FXSelector sel, void*) { int ret; FXString cmd, msg, text; FXuint op; File* f; // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString dir = list->getItemPathname((TreeItem*)item); // If symbolic link if (::isLink(dir)) { dir = FXFile::symlink(dir); } // Select the command and set the appropriate message if (FXSELID(sel) == ID_MOUNT) { op = MOUNT; msg = _("Mount"); cmd = getApp()->reg().readStringEntry("PROGS", "mount", DEFAULT_MOUNTCMD) + FXString(" "); } else { op = UNMOUNT; msg = _("Unmount"); cmd = getApp()->reg().readStringEntry("PROGS", "unmount", DEFAULT_UMOUNTCMD) + FXString(" "); } cmd += ::quote(dir); cmd += " 2>&1"; ret = chdir(ROOTDIR); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), ROOTDIR, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), ROOTDIR); } return(0); } // Wait cursor getApp()->beginWaitCursor(); // File object text = msg + _(" file system..."); f = new File(this, text.text(), op); f->create(); // Mount/unmount file system text = msg + _(" the folder:"); f->mount(dir, text, cmd, op); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } // If action is cancelled in progress dialog if (f->isCancelled()) { getApp()->endWaitCursor(); f->hide(); text = msg + _(" operation cancelled!"); MessageBox::error(this, BOX_OK, _("Error"), "%s", text.text()); delete f; return(0); } getApp()->endWaitCursor(); delete f; // Force dirpanel refresh list->handle(this, FXSEL(SEL_COMMAND, DirList::ID_REFRESH), NULL); return(1); } // Update the Mount menu item long DirPanel::onUpdMount(FXObject* o, FXSelector sel, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString dir = list->getItemPathname((TreeItem*)item); if (fsdevices->find(dir.text()) && !mtdevices->find(dir.text())) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update the Unmount menu item long DirPanel::onUpdUnmount(FXObject* o, FXSelector sel, void*) { // Current item DirItem* item = (DirItem*)list->getCurrentItem(); FXString dir = list->getItemPathname((TreeItem*)item); if (fsdevices->find(dir.text()) || mtdevices->find(dir.text())) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } #endif // Update the paste button long DirPanel::onUpdPaste(FXObject* o, FXSelector, void*) { FXuchar* data; FXuint len; FXString buf; FXbool clipboard_empty = true; // Lock clipboard to prevent changes in method onCmdRequestClipboard() clipboard_locked = true; // If source is xfelistType (Gnome, XFCE, or Xfe app) if (getDNDData(FROM_CLIPBOARD, xfelistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Check if valid clipboard if (buf.find("file:/") >= 0) { clipboard_empty = false; } // Free data pointer FXFREE(&data); } // If source type is urilistType (KDE apps ; non Gnome, non XFCE and non Xfe apps) else if (getDNDData(FROM_CLIPBOARD, urilistType, data, len)) { FXRESIZE(&data, FXuchar, len+1); data[len] = '\0'; buf = (char*)data; // Test if valid clipboard if (buf.find("file:/") >= 0) { clipboard_empty = false; } // Free data pointer FXFREE(&data); } // Gray out the paste button, if necessary if (clipboard_empty) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } // Unlock clipboard clipboard_locked = false; return(1); } // Update menu items and toolbar buttons that are related to file operations long DirPanel::onUpdMenu(FXObject* o, FXSelector, void*) { // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { return(0); } // Path name of the selected item FXString dir = list->getItemPathname(item); return(1); } // Update menu items and toolbar buttons that are related to file operations long DirPanel::onUpdDirDelete(FXObject* o, FXSelector, void*) { // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { return(0); } // Path name of the selected item FXString dir = list->getItemPathname(item); FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); FXbool use_trash_bypass = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_bypass", false); if ( (!use_trash_can) | use_trash_bypass) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Update menu items and toolbar buttons that are related to file operations long DirPanel::onUpdDirTrash(FXObject* o, FXSelector, void*) { // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { return(0); } // Path name of the selected item FXString dir = list->getItemPathname(item); // Disable move to trash menu if we are in trash can // or if the trash can directory is selected FXbool trashenable = true; FXString trashparentdir = trashlocation.rbefore('/'); if (dir.left(trashlocation.length()) == trashlocation) { trashenable = false; } if (dir == trashparentdir) { trashenable = false; } FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && trashenable) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } long DirPanel::onUpdDirRestore(FXObject* o, FXSelector, void*) { // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { return(0); } // Path name of the selected item FXString dir = list->getItemPathname(item); // Enable restore from trash menu if we are in trash can FXbool restoreenable = false; if (dir.left(trashfileslocation.length()+1) == trashfileslocation+PATHSEPSTRING) { restoreenable = true; } FXbool use_trash_can = getApp()->reg().readUnsignedEntry("OPTIONS", "use_trash_can", true); if (use_trash_can && restoreenable) { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_ENABLE), NULL); } else { o->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_DISABLE), NULL); } return(1); } // Toggle dirsize refresh and force refresh if flag is true void DirPanel::setAllowDirsizeRefresh(FXbool flag) { allowDirsizeRefresh = flag; // Force refresh if (allowDirsizeRefresh) { curr_dirpath = ""; onCmdDirsizeRefresh(0, 0, 0); } } // Refresh the directory size in the status bar long DirPanel::onCmdDirsizeRefresh(FXObject* sender, FXSelector, void*) { // Don't refresh if not allowed or window is minimized if (!allowDirsizeRefresh || ((FXTopWindow*)focuswindow)->isMinimized()) { return(0); } FXulong dnsize; char dsize[64]; FXString hsize; // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { status->setText(_("0 bytes in root")); return(0); } // Path name of the selected item (without trailing '/' except for the root path) FXString path = ::filePath(list->getItemPathname(item), ""); // Compute directory size only if something has changed in directory struct stat statbuf; if (lstatrep(path.text(), &statbuf) == 0) { if (!((path == curr_dirpath) && (statbuf.st_mtime == curr_mtime))) { // Update curr directory mtime curr_mtime = statbuf.st_mtime; // Update curr directory path curr_dirpath = path; // Size of the files present in the directory //strlcpy(buf,path.text(),path.length()+1); dnsize = ::dirsize(path.text()); // Size in human readable form #if __WORDSIZE == 64 snprintf(dsize, sizeof(dsize)-1, "%lu", dnsize); #else snprintf(dsize, sizeof(dsize)-1, "%llu", dnsize); #endif hsize = ::hSize(dsize); // Refresh the status label FXString string = hsize + _(" in root"); status->setText(string); } } // Reset timer again getApp()->addTimeout(this, ID_DIRSIZE_REFRESH, DIRSIZE_REFRESH_INTERVAL); // Important : returning 0 here avoids to continuously update the GUI! return(0); } // Update the path name in the Window title long DirPanel::onUpdTitle(FXObject* sender, FXSelector, void*) { // Name of the current selected item TreeItem* item = (TreeItem*)list->getCurrentItem(); // There is no selected item if (item == NULL) { mainWindow->setTitle("Xfe - "); return(0); } // Path name of the selected item FXString path = list->getItemPathname(item); // Update the path in the window title if (getuid() == 0) { mainWindow->setTitle("Xfe (root) - " + path); } else { mainWindow->setTitle("Xfe - " + path); } return(1); } // Update dirsize refresh timer if the window gains focus long DirPanel::onUpdDirsizeRefresh(FXObject*, FXSelector, void*) { static FXbool prevMinimized = true; static FXbool minimized = true; prevMinimized = minimized; if (((FXTopWindow*)focuswindow)->isMinimized()) { minimized = false; } else { minimized = true; } // Update timer if window is unminimized if ((prevMinimized == false) && (minimized == true)) { onCmdDirsizeRefresh(0, 0, 0); } return(1); } xfe-1.42/src/Properties.h0000644000175100017510000001165512634227743012263 00000000000000#ifndef PROPERTIES_H #define PROPERTIES_H #include "DialogBox.h" class PropertiesBox; class PermFrame : public FXVerticalFrame { FXDECLARE(PermFrame) friend class PropertiesBox; private: FXCheckButton* ur; FXCheckButton* uw; FXCheckButton* ux; FXCheckButton* gr; FXCheckButton* gw; FXCheckButton* gx; FXCheckButton* or_; FXCheckButton* ow; FXCheckButton* ox; FXCheckButton* suid; FXCheckButton* sgid; FXCheckButton* svtx; FXDataTarget cmd_radiotarget; FXDataTarget flt_radiotarget; FXRadioButton* set; FXRadioButton* clear; FXRadioButton* dironly; FXRadioButton* fileonly; FXRadioButton* all; FXRadioButton* add; int cmd; int flt; FXCheckButton* rec; FXCheckButton* own; FXComboBox* user; FXComboBox* grp; PermFrame() : ur(NULL), uw(NULL), ux(NULL), gr(NULL), gw(NULL), gx(NULL), or_(NULL), ow(NULL), ox(NULL), suid(NULL), sgid(NULL), svtx(NULL), set(NULL), clear(NULL), dironly(NULL), fileonly(NULL), all(NULL), add(NULL), cmd(0), flt(0), rec(NULL), own(NULL), user(NULL), grp(NULL) {} public: PermFrame(FXComposite* parent, FXObject* target); }; class PropertiesBox : public DialogBox { FXDECLARE(PropertiesBox) private: int pid; // Proccess ID of child (valid if busy). int pipes[2]; // Pipes to communicate with child process. FXuint totalnbfiles; FXuint totalnbsubdirs; FXulong totaldirsize; int nbseldirs; FXLabel* fileSize; FXLabel* fileSizeDetails; FXLabel* location; FXLabel* origlocation; FXLabel* linkto; FXLabel* deletiondate; FXTextField* ext; FXString* files; FXString* paths; FXLabel* name_encoding; FXString source; FXString parentdir; FXString filename; FXString oldusr; FXString oldgrp; FXString descr_prev; FXString open_prev; FXString view_prev; FXString edit_prev; FXString bigic_prev; FXString miniic_prev; int num; FXString trashfileslocation; FXString trashinfolocation; FXbool executable; #ifdef STARTUP_NOTIFICATION FXCheckButton* snbutton; FXGroupBox* sngroup; FXbool sndisable_prev; #endif FXTextField* input; FXTextField* username; FXTextField* grpname; FXTextField* open; FXTextField* view; FXTextField* edit; FXTextField* descr; FXTextField* bigic; FXButton* bigicbtn; FXTextField* miniic; FXButton* miniicbtn; FXbool isDirectory; FXbool isMountpoint; FXbool recsize; mode_t mode; mode_t orig_mode; PermFrame* perm; PropertiesBox() : totalnbfiles(0), totalnbsubdirs(0), totaldirsize(0), nbseldirs(0), fileSize(NULL), fileSizeDetails(NULL), location(NULL), origlocation(NULL), linkto(NULL), deletiondate(NULL), ext(NULL), files(NULL), paths(NULL), name_encoding(NULL), num(0), executable(false), #ifdef STARTUP_NOTIFICATION snbutton(NULL), sngroup(NULL), sndisable_prev(false), #endif input(NULL), username(NULL), grpname(NULL), open(NULL), view(NULL), edit(NULL), descr(NULL), bigic(NULL), bigicbtn(NULL), miniic(NULL), miniicbtn(NULL), isDirectory(false), isMountpoint(false), recsize(false), mode(0), orig_mode(0), perm(NULL) {} public: enum { ID_ACCEPT_SINGLE=DialogBox::ID_LAST, ID_ACCEPT_MULT, ID_CANCEL, ID_SET, ID_CLEAR, ID_ADD, ID_DIRONLY, ID_FILEONLY, ID_SNDISABLE, ID_WATCHPROCESS, ID_ALL, ID_BIG_ICON, ID_MINI_ICON, ID_BROWSE_OPEN, ID_BROWSE_VIEW, ID_BROWSE_EDIT, ID_RUSR, ID_WUSR, ID_XUSR, ID_RGRP, ID_WGRP, ID_XGRP, ID_ROTH, ID_WOTH, ID_XOTH, ID_SUID, ID_SGID, ID_SVTX, ID_LAST }; public: virtual void create(); PropertiesBox(FXWindow* win, FXString file, FXString path); PropertiesBox(FXWindow* win, FXString* file, int num, FXString* path); long onCmdAcceptSingle(FXObject*, FXSelector, void*); long onCmdAcceptMult(FXObject*, FXSelector, void*); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdCheck(FXObject*, FXSelector, void*); long onCmdCommand(FXObject*, FXSelector, void*); long onCmdFilter(FXObject*, FXSelector, void*); long onCmdBrowseIcon(FXObject*, FXSelector, void*); long onCmdBrowse(FXObject*, FXSelector, void*); long onUpdSizeAndPerm(FXObject*, FXSelector, void*); long onCmdKeyPress(FXObject*, FXSelector, void*); long onWatchProcess(FXObject*, FXSelector, void*); #ifdef STARTUP_NOTIFICATION long onUpdSnDisable(FXObject*, FXSelector, void*); #endif }; #endif xfe-1.42/src/PathLinker.h0000644000175100017510000000266712625057514012170 00000000000000#ifndef PATHLINKER_H #define PATHLINKER_H #include #include "TextLabel.h" #include "FileList.h" #include "DirPanel.h" #include "xfedefs.h" class FXAPI PathLinker : public FXHorizontalFrame { FXDECLARE(PathLinker) protected: typedef std::vector vector_FXButton; vector_FXButton linkButtons; FXuint nbActiveButtons; FXuint currentButton; FXString visitedPath; TextLabel* focusButton; FXFont* normalFont; FXFont* highlightFont; FileList* filelist; DirList* dirlist; PathLinker() : nbActiveButtons(0), currentButton(0), focusButton(NULL), normalFont(NULL), highlightFont(NULL), filelist(NULL), dirlist(NULL) {} private: void updatePath(FXString, FXuint); void setText(FXuint, FXString); public: enum ButtonIds { ID_START_LINK = FXHorizontalFrame::ID_LAST, // Note: Place any additional id's AFTER ID_END_LINK ID_END_LINK = ID_START_LINK + MAX_LINKS - 1, ID_FOCUS_BUTTON, ID_LAST }; PathLinker(FXComposite* a, FileList* flist, DirList* dlist = NULL, FXuint opts = 0); virtual void create(); virtual ~PathLinker(); long pathButtonPressed(FXObject*, FXSelector, void*); long onCmdFocusButton(FXObject*, FXSelector, void*); long onUpdPath(FXObject*, FXSelector, void*); void setPath(FXString); void focus(); void unfocus(); }; #endif xfe-1.42/src/IconList.cpp0000644000175100017510000033104612625057511012177 00000000000000// Icon list. Taken from the FOX library and slightly modified. #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #if defined(linux) #include #endif #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "IconList.h" // Number of columns in detailed view, in the general case // NB : when the deletion date and original path are displayed, two more columns are added #define NUM_HEADERS 8 #define SIDE_SPACING 4 // Left or right spacing between items #define DETAIL_TEXT_SPACING 2 // Spacing between text and icon in detail icon mode #define MINI_TEXT_SPACING 2 // Spacing between text and icon in mini icon mode #define BIG_LINE_SPACING 6 // Line spacing in big icon mode #define BIG_TEXT_SPACING 2 // Spacing between text and icon in big icon mode #define ITEM_SPACE 192 // Default space for item name #define SELECT_MASK (_ICONLIST_EXTENDEDSELECT|_ICONLIST_SINGLESELECT|_ICONLIST_BROWSESELECT|_ICONLIST_MULTIPLESELECT) #define ICONLIST_MASK (SELECT_MASK|_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS|_ICONLIST_COLUMNS|_ICONLIST_AUTOSIZE) extern FXuint single_click; extern FXbool file_tooltips; extern FXbool relative_resize; // Object implementation FXIMPLEMENT(IconItem, FXObject, NULL, 0) // Check if integer is odd (return true) or even (return false) inline FXbool IconItem::isOdd(int i) const { return((FXbool)(i & 0x1)); } // Draw item void IconItem::draw(IconList* list, FXDC& dc, int x, int y, int w, int h) const { register FXuint options = list->getListStyle(); if (options&_ICONLIST_BIG_ICONS) { drawBigIcon(list, dc, x, y, w, h); } else if (options&_ICONLIST_MINI_ICONS) { drawMiniIcon(list, dc, x, y, w, h); } else { drawDetails(list, dc, x, y, w, h); } } // Draw big icon void IconItem::drawBigIcon(const IconList* list, FXDC& dc, int x, int y, int w, int h) const { register int len, dw, s, space, xt, yt, xi, yi; register FXFont* font = list->getFont(); register int iw = 0, ih = 0, tw = 0, th = 0, ss = 0; space = w-SIDE_SPACING; if (!label.empty()) { for (len = 0; len < label.length() && label[len] != '\t'; len++) { } tw = 4+font->getTextWidth(label.text(), len); th = 4+font->getFontHeight(); yt = y+h-th-BIG_LINE_SPACING/2; dw = 0; if (tw > space) { dw = font->getTextWidth("...", 3); s = space-dw; while ((tw = 4+font->getTextWidth(label.text(), len)) > s && len > 1) { len = label.dec(len); } if (tw > s) { dw = 0; } } if (tw <= space) // FIXME as below in drawDetails { xt = x+(w-tw-dw)/2; if (isSelected()) { dc.setForeground(list->getSelBackColor()); dc.fillRectangle(xt, yt, tw+dw, th); } if (!isEnabled()) { dc.setForeground(makeShadowColor(list->getBackColor())); } else if (isSelected()) { dc.setForeground(list->getSelTextColor()); } else { dc.setForeground(list->getTextColor()); } dc.drawText(xt+2, yt+font->getFontAscent()+2, label.text(), len); if (dw) { dc.drawText(xt+tw-2, yt+font->getFontAscent()+2, "...", 3); } if (hasFocus()) { dc.drawFocusRectangle(xt+1, yt+1, tw+dw-2, th-2); } } ss = BIG_TEXT_SPACING; // Space between text and icon only added if we have both icon and text } if (bigIcon) { iw = bigIcon->getWidth(); ih = bigIcon->getHeight(); xi = x+(w-iw)/2; yi = y+BIG_LINE_SPACING/2+(h-th-BIG_LINE_SPACING-ss-ih)/2; if (isSelected()) { dc.drawIconShaded(bigIcon, xi, yi); } else { dc.drawIcon(bigIcon, xi, yi); } } } // Draw mini icon void IconItem::drawMiniIcon(const IconList* list, FXDC& dc, int x, int y, int w, int h) const { register FXFont* font = list->getFont(); register int iw = 0, ih = 0, tw = 0, th = 0; register int len, dw, s, space; x += SIDE_SPACING/2; space = w-SIDE_SPACING; if (miniIcon) { iw = miniIcon->getWidth(); ih = miniIcon->getHeight(); if (isSelected()) { dc.drawIconShaded(miniIcon, x, y+(h-ih)/2); } else { dc.drawIcon(miniIcon, x, y+(h-ih)/2); } x += iw+MINI_TEXT_SPACING; space -= iw+MINI_TEXT_SPACING; } if (!label.empty()) { for (len = 0; len < label.length() && label[len] != '\t'; len++) { } tw = 4+font->getTextWidth(label.text(), len); th = 4+font->getFontHeight(); dw = font->getTextWidth("...", 3); y += (h-th)/2; dw = 0; if (tw > space) // FIXME as below in drawDetails { dw = font->getTextWidth("...", 3); s = space-dw; while ((tw = 4+font->getTextWidth(label.text(), len)) > s && len > 1) { len = label.dec(len); } if (tw > s) { dw = 0; } } if (tw <= space) { if (isSelected()) { dc.setForeground(list->getSelBackColor()); dc.fillRectangle(x, y, tw+dw, th); } if (!isEnabled()) { dc.setForeground(makeShadowColor(list->getBackColor())); } else if (isSelected()) { dc.setForeground(list->getSelTextColor()); } else { dc.setForeground(list->getTextColor()); } dc.drawText(x+2, y+font->getFontAscent()+2, label.text(), len); if (dw) { dc.drawText(x+tw-2, y+font->getFontAscent()+2, "...", 3); } if (hasFocus()) { dc.drawFocusRectangle(x+1, y+1, tw+dw-2, th-2); } } } } void IconItem::drawDetails(IconList* list, FXDC& dc, int x, int y, int, int h) const { register FXHeader* header = list->getHeader(); register FXFont* font = list->getFont(); register int iw = 0, ih = 0, tw = 0, th = 0, yt, beg, end, hi, drw, space, used, dw, xx, dx = 0; register FXbool highlight; register FXuint options = list->getListStyle(); if (header->getNumItems() == 0) { return; } // Display a colored bar in the Filelist, one line over two highlight = IconItem::isOdd(list->getItemAt(x, y)); if (highlight) { dc.setForeground(list->getHighlightColor()); dc.fillRectangle(x, y, header->getTotalSize(), h); } highlight = !highlight; // Darken the sorted column for (hi = 0; hi < (int)list->getSortHeader(); hi++) { dx += header->getItemSize(hi); } if (highlight) { dc.setForeground(list->getSortColor()); dc.fillRectangle(x+dx, y, header->getItemSize(list->getSortHeader()), h); } else { dc.setForeground(list->getHighlightSortColor()); dc.fillRectangle(x+dx, y, header->getItemSize(list->getSortHeader()), h); } // Color the selected items if (isSelected()) { dc.setForeground(list->getSelBackColor()); dc.fillRectangle(x, y, header->getTotalSize(), h); } if (hasFocus()) { dc.drawFocusRectangle(x+1, y+1, header->getTotalSize()-2, h-2); } xx = x+SIDE_SPACING/2; if (miniIcon) { iw = miniIcon->getWidth(); ih = miniIcon->getHeight(); dc.setClipRectangle(x, y, header->getItemSize(0), h); dc.drawIcon(miniIcon, xx, y+(h-ih)/2); dc.clearClipRectangle(); xx += iw+DETAIL_TEXT_SPACING; } if (!label.empty()) { th = font->getFontHeight(); dw = font->getTextWidth("...", 3); yt = y+(h-th-4)/2; if (!isEnabled()) { dc.setForeground(makeShadowColor(list->getBackColor())); } else if (isSelected()) { dc.setForeground(list->getSelTextColor()); } else { dc.setForeground(list->getTextColor()); } used = iw+DETAIL_TEXT_SPACING+SIDE_SPACING/2; for (hi = beg = 0; beg < label.length() && hi < header->getNumItems(); hi++, beg = end+1) { space = header->getItemSize(hi)-used; for (end = beg; end < label.length() && label[end] != '\t'; end++) { } if (end > beg) { drw = end-beg; tw = font->getTextWidth(&label[beg], drw); // Right justify the file size column (second one in file list mode or third one in search list mode) if (!(options&_ICONLIST_STANDARD) && ((!(options&_ICONLIST_SEARCH) && (hi == 1)) || (options&_ICONLIST_SEARCH && (hi == 2)))) { if (tw > space-20) { while ((tw = font->getTextWidth(&label[beg], drw))+dw > space-4 && drw > 1) { drw--; } dc.setClipRectangle(xx, y, space, h); dc.drawText(xx+2, yt+font->getFontAscent()+2, &label[beg], drw); dc.drawText(xx+tw+2, yt+font->getFontAscent()+2, "...", 3); dc.clearClipRectangle(); } else { dc.drawText(xx+space-tw-20, yt+font->getFontAscent()+2, &label[beg], drw); } } else { if (tw > space-4) { while ((tw = font->getTextWidth(&label[beg], drw))+dw > space-4 && drw > 1) { drw--; } dc.setClipRectangle(xx, y, space, h); dc.drawText(xx+2, yt+font->getFontAscent()+2, &label[beg], drw); dc.drawText(xx+tw+2, yt+font->getFontAscent()+2, "...", 3); dc.clearClipRectangle(); } else { dc.drawText(xx+2, yt+font->getFontAscent()+2, &label[beg], drw); } } } xx += space; used = 0; } } } // See if item got hit and where: 0 is outside, 1 is icon, 2 is text int IconItem::hitItem(const IconList* list, int rx, int ry, int rw, int rh) const { register int iw = 0, tw = 0, ih = 0, th = 0, ss = 0, ix, iy, tx, ty, w, h, sp, tlen; register FXuint options = list->getListStyle(); register FXFont* font = list->getFont(); for (tlen = 0; tlen < label.length() && label[tlen] != '\t'; tlen++) { } if (options&_ICONLIST_BIG_ICONS) { w = list->getItemSpace(); h = list->getItemHeight(); sp = w-SIDE_SPACING; if (!label.empty()) { tw = 4+font->getTextWidth(label.text(), tlen); th = 4+font->getFontHeight(); if (tw > sp) { tw = sp; } if (bigIcon) { ss = BIG_TEXT_SPACING; } } if (bigIcon) { iw = bigIcon->getWidth(); ih = bigIcon->getHeight(); } ty = h-th-BIG_LINE_SPACING/2; iy = BIG_LINE_SPACING/2+(h-th-BIG_LINE_SPACING-ss-ih)/2; ix = (w-iw)/2; tx = (w-tw)/2; } else if (options&_ICONLIST_MINI_ICONS) { sp = list->getItemSpace()-SIDE_SPACING; ix = SIDE_SPACING/2; tx = SIDE_SPACING/2; if (miniIcon) { iw = miniIcon->getWidth(); ih = miniIcon->getHeight(); tx += iw+MINI_TEXT_SPACING; sp = sp-iw-MINI_TEXT_SPACING; } if (!label.empty()) { tw = 4+font->getTextWidth(label.text(), tlen); th = 4+font->getFontHeight(); if (tw > sp) { tw = sp; } } h = list->getItemHeight(); iy = (h-ih)/2; ty = (h-th)/2; } else { ix = SIDE_SPACING/2; tx = SIDE_SPACING/2; if (miniIcon) { iw = miniIcon->getWidth(); ih = miniIcon->getHeight(); tx += iw+DETAIL_TEXT_SPACING; } if (!label.empty()) { tw = 10000000; th = 4+font->getFontHeight(); } h = list->getItemHeight(); iy = (h-ih)/2; ty = (h-th)/2; } // In icon? if ((ix <= rx+rw) && (iy <= ry+rh) && (rx < ix+iw) && (ry < iy+ih)) { return(1); } // In text? if ((tx <= rx+rw) && (ty <= ry+rh) && (rx < tx+tw) && (ry < ty+th)) { return(2); } // Outside return(0); } // Set or kill focus void IconItem::setFocus(FXbool focus) { if (focus) { state |= FOCUS; } else { state &= ~FOCUS; } } // Select or deselect item void IconItem::setSelected(FXbool selected) { if (selected) { state |= SELECTED; } else { state &= ~SELECTED; } } // Enable or disable the item void IconItem::setEnabled(FXbool enabled) { if (enabled) { state &= ~DISABLED; } else { state |= DISABLED; } } // Icon is draggable void IconItem::setDraggable(FXbool draggable) { if (draggable) { state |= DRAGGABLE; } else { state &= ~DRAGGABLE; } } // Change item's text label void IconItem::setText(const FXString& txt) { label = txt; } // Change item's big icon void IconItem::setBigIcon(FXIcon* icn, FXbool owned) { if (bigIcon && (state&BIGICONOWNED)) { if (bigIcon != icn) { delete bigIcon; } state &= ~BIGICONOWNED; } bigIcon = icn; if (bigIcon && owned) { state |= BIGICONOWNED; } } // Change item's mini icon void IconItem::setMiniIcon(FXIcon* icn, FXbool owned) { if (miniIcon && (state&MINIICONOWNED)) { if (miniIcon != icn) { delete miniIcon; } state &= ~MINIICONOWNED; } miniIcon = icn; if (miniIcon && owned) { state |= MINIICONOWNED; } } // Create icon void IconItem::create() { if (bigIcon) { bigIcon->create(); } if (miniIcon) { miniIcon->create(); } } // Destroy icon void IconItem::destroy() { if ((state&BIGICONOWNED) && bigIcon) { bigIcon->destroy(); } if ((state&MINIICONOWNED) && miniIcon) { miniIcon->destroy(); } } // Detach from icon resource void IconItem::detach() { if (bigIcon) { bigIcon->detach(); } if (miniIcon) { miniIcon->detach(); } } // Get item width int IconItem::getWidth(const IconList* list) const { register FXuint options = list->getListStyle(); register FXFont* font = list->getFont(); register int iw = 0, tw = 0, w = 0, tlen; for (tlen = 0; tlen < label.length() && label[tlen] != '\t'; tlen++) { } if (options&_ICONLIST_BIG_ICONS) { if (bigIcon) { iw = bigIcon->getWidth(); } if (!label.empty()) { tw = 4+font->getTextWidth(label.text(), tlen); } w = SIDE_SPACING+FXMAX(tw, iw); } else if (options&_ICONLIST_MINI_ICONS) { if (miniIcon) { iw = miniIcon->getWidth(); } if (!label.empty()) { tw = 4+font->getTextWidth(label.text(), tlen); } if (iw && tw) { iw += MINI_TEXT_SPACING; } w = SIDE_SPACING+iw+tw; } else { w = SIDE_SPACING; } return(w); } // Get item height int IconItem::getHeight(const IconList* list) const { register FXuint options = list->getListStyle(); register int ih = 0, th = 0, h = 0; if (options&_ICONLIST_BIG_ICONS) { if (bigIcon) { ih = bigIcon->getHeight(); } if (!label.empty()) { th = 4+list->getFont()->getFontHeight(); } if (ih && th) { ih += BIG_TEXT_SPACING; } h = BIG_LINE_SPACING+ih+th; } else if (options&_ICONLIST_MINI_ICONS) { if (miniIcon) { ih = miniIcon->getHeight(); } if (!label.empty()) { th = 4+list->getFont()->getFontHeight(); } h = FXMAX(ih, th); } else { if (miniIcon) { ih = miniIcon->getHeight(); } if (!label.empty()) { th = 4+list->getFont()->getFontHeight(); } h = FXMAX(ih, th); } return(h); } // Save data void IconItem::save(FXStream& store) const { FXObject::save(store); store << label; store << bigIcon; store << miniIcon; store << state; } // Load data void IconItem::load(FXStream& store) { FXObject::load(store); store >> label; store >> bigIcon; store >> miniIcon; store >> state; } // Delete icons if owned IconItem::~IconItem() { if (state&BIGICONOWNED) { delete bigIcon; } if (state&MINIICONOWNED) { delete miniIcon; } bigIcon = (FXIcon*)-1L; miniIcon = (FXIcon*)-1L; } // Map FXDEFMAP(IconList) IconListMap[] = { FXMAPFUNC(SEL_PAINT, 0, IconList::onPaint), FXMAPFUNC(SEL_MOTION, 0, IconList::onMotion), FXMAPFUNC(SEL_CONFIGURE, 0, IconList::onConfigure), FXMAPFUNC(SEL_LEFTBUTTONPRESS, 0, IconList::onLeftBtnPress), FXMAPFUNC(SEL_LEFTBUTTONRELEASE, 0, IconList::onLeftBtnRelease), FXMAPFUNC(SEL_RIGHTBUTTONPRESS, 0, IconList::onRightBtnPress), FXMAPFUNC(SEL_RIGHTBUTTONRELEASE, 0, IconList::onRightBtnRelease), FXMAPFUNC(SEL_TIMEOUT, FXWindow::ID_AUTOSCROLL, IconList::onAutoScroll), FXMAPFUNC(SEL_TIMEOUT, IconList::ID_TIPTIMER, IconList::onTipTimer), FXMAPFUNC(SEL_TIMEOUT, IconList::ID_LOOKUPTIMER, IconList::onLookupTimer), FXMAPFUNC(SEL_UNGRABBED, 0, IconList::onUngrabbed), FXMAPFUNC(SEL_KEYPRESS, 0, IconList::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, IconList::onKeyRelease), FXMAPFUNC(SEL_ENTER, 0, IconList::onEnter), FXMAPFUNC(SEL_LEAVE, 0, IconList::onLeave), FXMAPFUNC(SEL_FOCUSIN, 0, IconList::onFocusIn), FXMAPFUNC(SEL_FOCUSOUT, 0, IconList::onFocusOut), FXMAPFUNC(SEL_CLICKED, 0, IconList::onClicked), FXMAPFUNC(SEL_DOUBLECLICKED, 0, IconList::onDoubleClicked), FXMAPFUNC(SEL_TRIPLECLICKED, 0, IconList::onTripleClicked), FXMAPFUNC(SEL_QUERY_TIP, 0, IconList::onQueryTip), FXMAPFUNC(SEL_QUERY_HELP, 0, IconList::onQueryHelp), FXMAPFUNC(SEL_CHANGED, IconList::ID_HEADER_CHANGE, IconList::onHeaderChanged), FXMAPFUNC(SEL_CLICKED, IconList::ID_HEADER_CHANGE, IconList::onHeaderResize), FXMAPFUNC(SEL_UPDATE, IconList::ID_SHOW_DETAILS, IconList::onUpdShowDetails), FXMAPFUNC(SEL_UPDATE, IconList::ID_SHOW_MINI_ICONS, IconList::onUpdShowMiniIcons), FXMAPFUNC(SEL_UPDATE, IconList::ID_SHOW_BIG_ICONS, IconList::onUpdShowBigIcons), FXMAPFUNC(SEL_UPDATE, IconList::ID_ARRANGE_BY_ROWS, IconList::onUpdArrangeByRows), FXMAPFUNC(SEL_UPDATE, IconList::ID_ARRANGE_BY_COLUMNS, IconList::onUpdArrangeByColumns), FXMAPFUNC(SEL_COMMAND, IconList::ID_SHOW_DETAILS, IconList::onCmdShowDetails), FXMAPFUNC(SEL_COMMAND, IconList::ID_SHOW_MINI_ICONS, IconList::onCmdShowMiniIcons), FXMAPFUNC(SEL_COMMAND, IconList::ID_SHOW_BIG_ICONS, IconList::onCmdShowBigIcons), FXMAPFUNC(SEL_COMMAND, IconList::ID_ARRANGE_BY_ROWS, IconList::onCmdArrangeByRows), FXMAPFUNC(SEL_COMMAND, IconList::ID_ARRANGE_BY_COLUMNS, IconList::onCmdArrangeByColumns), FXMAPFUNC(SEL_COMMAND, IconList::ID_SELECT_ALL, IconList::onCmdselectAll), FXMAPFUNC(SEL_COMMAND, IconList::ID_DESELECT_ALL, IconList::onCmdDeselectAll), FXMAPFUNC(SEL_COMMAND, IconList::ID_SELECT_INVERSE, IconList::onCmdSelectInverse), FXMAPFUNC(SEL_COMMAND, FXWindow::ID_SETVALUE, IconList::onCmdSetValue), FXMAPFUNC(SEL_COMMAND, FXWindow::ID_SETINTVALUE, IconList::onCmdSetIntValue), FXMAPFUNC(SEL_COMMAND, FXWindow::ID_GETINTVALUE, IconList::onCmdGetIntValue), FXMAPFUNC(SEL_COMMAND, IconList::ID_AUTOSIZE, IconList::onCmdToggleAutosize), FXMAPFUNC(SEL_UPDATE, IconList::ID_AUTOSIZE, IconList::onUpdToggleAutosize), FXMAPFUNC(SEL_COMMAND, IconList::ID_HEADER_CHANGE, IconList::onCmdHeaderClicked), }; // Object implementation FXIMPLEMENT(IconList, FXScrollArea, IconListMap, ARRAYNUMBER(IconListMap)) // Icon List IconList::IconList(FXComposite* p, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h) : FXScrollArea(p, opts, x, y, w, h) { flags |= FLAG_ENABLED; // Headers look slightly different depending on the control theme FXbool use_clearlooks = getApp()->reg().readUnsignedEntry("SETTINGS", "use_clearlooks", true); if (use_clearlooks) { header = new FXHeader(this, this, IconList::ID_HEADER_CHANGE, HEADER_TRACKING|HEADER_BUTTON|HEADER_RESIZE|FRAME_RAISED); } else { header = new FXHeader(this, this, IconList::ID_HEADER_CHANGE, HEADER_TRACKING|HEADER_BUTTON|HEADER_RESIZE|FRAME_RAISED|FRAME_THICK); } target = tgt; message = sel; nrows = 1; ncols = 1; anchor = -1; current = -1; extent = -1; cursor = -1; viewable = -1; font = getApp()->getNormalFont(); sortfunc = NULL; textColor = getApp()->getForeColor(); selbackColor = getApp()->getSelbackColor(); seltextColor = getApp()->getSelforeColor(); highlightColor = getApp()->reg().readColorEntry("SETTINGS", "highlightcolor", FXRGB(238, 238, 238)); // Sort colors for detailed mode FXColor listbackColor = getApp()->reg().readColorEntry("SETTINGS", "listbackcolor", FXRGB(255, 255, 255)); FXuint R, G, B; R = (FXuint)(DARKEN_SORT*FXREDVAL(listbackColor)); G = (FXuint)(DARKEN_SORT*FXGREENVAL(listbackColor)); B = (FXuint)(DARKEN_SORT*FXBLUEVAL(listbackColor)); sortColor = FXRGB(R, G, B); R = (FXuint)(DARKEN_SORT*FXREDVAL(highlightColor)); G = (FXuint)(DARKEN_SORT*FXGREENVAL(highlightColor)); B = (FXuint)(DARKEN_SORT*FXBLUEVAL(highlightColor)); highlightSortColor = FXRGB(R, G, B); itemSpace = ITEM_SPACE; itemWidth = 1; itemHeight = 1; anchorx = 0; anchory = 0; currentx = 0; currenty = 0; grabx = 0; graby = 0; state = false; numsortheader = 0; count = 0; ignorecase = true; initheaderpct = true; allowTooltip = true; } // Used to resize the headers relatively to the list width long IconList::onConfigure(FXObject*, FXSelector, void*) { // Obtain the main window width int width = (this->getShell())->getWidth(); // Initialize the relative sizes, skipping the first call if (count == 1) { // Initialize the relative header sizes for (int hi = 0; hi < getNumHeaders(); hi++) { headerpct[hi] = (double)getHeaderSize(hi)/(double)width; } } // Update the relative header sizes if (relative_resize && (count >= 1)) { // Initialize the extra header pcts if necessary if (initheaderpct && (getNumHeaders() == 9)) // Search list, is it really necessary??? { headerpct[8] = (double)getHeaderSize(8)/(double)width; initheaderpct = false; } if (initheaderpct && (getNumHeaders() == 10)) { headerpct[8] = (double)getHeaderSize(8)/(double)width; headerpct[9] = (double)getHeaderSize(9)/(double)width; initheaderpct = false; } int newhsize; for (int hi = 0; hi < getNumHeaders(); hi++) { newhsize = (int)round(headerpct[hi]*width); setHeaderSize(hi, newhsize); } } // Update the counter if (count <= 2) { count++; } return(1); } // Create window void IconList::create() { register int i; FXScrollArea::create(); for (i = 0; i < items.no(); i++) { items[i]->create(); } font->create(); } // Detach window void IconList::detach() { register int i; FXScrollArea::detach(); for (i = 0; i < items.no(); i++) { items[i]->detach(); } font->detach(); } // If window can have focus bool IconList::canFocus() const { return(true); } // Into focus chain void IconList::setFocus() { FXScrollArea::setFocus(); setDefault(true); } // Out of focus chain void IconList::killFocus() { FXScrollArea::killFocus(); setDefault(MAYBE); } // Move content void IconList::moveContents(int x, int y) { int dx = x-pos_x; int dy = y-pos_y; int top = 0; pos_x = x; pos_y = y; if (!(options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS))) { top = header->getDefaultHeight(); header->setPosition(x); } scroll(0, top, viewport_w, viewport_h, dx, dy); } // Propagate size change void IconList::recalc() { FXScrollArea::recalc(); flags |= FLAG_RECALC; cursor = -1; } // Recompute interior void IconList::recompute() { register int w, h, i; itemWidth = 1; itemHeight = 1; // Measure the items for (i = 0; i < items.no(); i++) { w = items[i]->getWidth(this); h = items[i]->getHeight(this); if (w > itemWidth) { itemWidth = w; } if (h > itemHeight) { itemHeight = h; } } // Automatically size item spacing if (options&_ICONLIST_AUTOSIZE) { itemSpace = FXMAX(itemWidth, 1); } else { itemSpace = ITEM_SPACE; } // Adjust for detail mode if (!(options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS))) { itemWidth = header->getDefaultWidth(); } // Get number of rows or columns getrowscols(nrows, ncols, width, height); // Done flags &= ~FLAG_RECALC; } // Determine number of columns and number of rows void IconList::getrowscols(int& nr, int& nc, int w, int h) const { if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { if (options&_ICONLIST_COLUMNS) { nc = w/itemSpace; if (nc < 1) { nc = 1; } nr = (items.no()+nc-1)/nc; if (nr*itemHeight > h) { nc = (w-vertical->getDefaultWidth())/itemSpace; if (nc < 1) { nc = 1; } nr = (items.no()+nc-1)/nc; } if (nr < 1) { nr = 1; } } else { nr = h/itemHeight; if (nr < 1) { nr = 1; } nc = (items.no()+nr-1)/nr; if (nc*itemSpace > w) { nr = (h-horizontal->getDefaultHeight())/itemHeight; if (nr < 1) { nr = 1; } nc = (items.no()+nr-1)/nr; } if (nc < 1) { nc = 1; } } } else { nr = items.no(); nc = 1; } } // Size of a possible column caption int IconList::getViewportHeight() { return((options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) ? height : height-header->getDefaultHeight()); } // Determine content width of icon list int IconList::getContentWidth() { if (flags&FLAG_RECALC) { recompute(); } if (options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) { return(ncols*itemSpace); } return(header->getDefaultWidth()); } // Determine content height of icon list int IconList::getContentHeight() { if (flags&FLAG_RECALC) { recompute(); } return(nrows*itemHeight); } // Recalculate layout void IconList::layout() { // Update scroll bars FXScrollArea::layout(); // In detail mode if (!(options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS))) { header->position(0, 0, viewport_w, header->getDefaultHeight()); header->show(); } else { header->hide(); } // Set line size vertical->setLine(itemHeight); horizontal->setLine(itemSpace); // We were supposed to make this item viewable if (0 <= viewable) { makeItemVisible(viewable); } // Force repaint update(); flags &= ~FLAG_DIRTY; } // Changed size:- this is a bit tricky, because // we don't want to re-measure the items, but the content // size has changed because the number of rows/columns has... void IconList::resize(int w, int h) { int nr = nrows; int nc = ncols; if ((w != width) || (h != height)) { getrowscols(nrows, ncols, w, h); if ((nr != nrows) || (nc != ncols)) { update(); } } FXScrollArea::resize(w, h); } // Changed size and/or pos:- this is a bit tricky, because // we don't want to re-measure the items, but the content // size has changed because the number of rows/columns has... void IconList::position(int x, int y, int w, int h) { int nr = nrows; int nc = ncols; if ((w != width) || (h != height)) { getrowscols(nrows, ncols, w, h); if ((nr != nrows) || (nc != ncols)) { update(); } } FXScrollArea::position(x, y, w, h); } // A header button was clicked : pass the message to the target long IconList::onCmdHeaderClicked(FXObject*, FXSelector, void* ptr) { if (target && target->tryHandle(this, FXSEL(SEL_COMMAND, message), ptr)) { } return(1); } // Header subdivision has changed:- this is a bit tricky, // we want to update the content size w/o re-measuring the items... long IconList::onHeaderChanged(FXObject*, FXSelector, void* ptr) { // Obtain the main window width int width = (this->getShell())->getWidth(); // Update the header relative sizes for (int hi = 0; hi < getNumHeaders(); hi++) { headerpct[hi] = (double)getHeaderSize(hi)/(double)width; } flags &= ~FLAG_RECALC; return(1); } // Header subdivision resize has been requested; // we want to set the width of the header column // to that of the widest item. long IconList::onHeaderResize(FXObject*, FXSelector, void* ptr) { register int hi = (int)(FXival)ptr; register int i, iw, tw, w, nw = 0; FXString text; // For detailed icon list if (!(options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS))) { for (i = 0; i < items.no(); i++) { w = 0; // The first header item may have an icon if (hi == 0) { if (items[i]->miniIcon) { iw = items[i]->miniIcon->getWidth(); w += iw+DETAIL_TEXT_SPACING+SIDE_SPACING/2; } } // Measure section of text text = items[i]->label.section('\t', hi); if (!text.empty()) { tw = font->getTextWidth(text.text(), text.length()); w += tw+SIDE_SPACING+2; } // Keep the max if (w > nw) { nw = w; } } // Set new header width if ((nw > 0) && (nw != header->getItemSize(hi))) { header->setItemSize(hi, nw); flags &= ~FLAG_RECALC; } } return(1); } // Set headers from array of strings void IconList::setHeaders(const char** strings, int size) { header->clearItems(); header->fillItems(strings, NULL, size); } // Set headers from newline separated strings void IconList::setHeaders(const FXString& strings, int size) { header->clearItems(); header->fillItems(strings, NULL, size); } // Append header caption void IconList::appendHeader(const FXString& text, FXIcon* icon, int size) { header->appendItem(text, icon, size); } // Remove header caption void IconList::removeHeader(int index) { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::removeHeader: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } header->removeItem(index); } // Change header caption void IconList::setHeaderText(int index, const FXString& text) { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::setHeaderText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } header->setItemText(index, text); } // Get header caption FXString IconList::getHeaderText(int index) const { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::getHeaderText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(header->getItemText(index)); } // Change header icon void IconList::setHeaderIcon(int index, FXIcon* icon) { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::setHeaderIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } header->setItemIcon(index, icon); } // Get header icon FXIcon* IconList::getHeaderIcon(int index) const { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::getHeaderIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(header->getItemIcon(index)); } // Change header size void IconList::setHeaderSize(int index, int size) { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::setHeaderSize: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } header->setItemSize(index, size); } // Get header size int IconList::getHeaderSize(int index) const { if ((index < 0) || (header->getNumItems() <= index)) { fprintf(stderr, "%s::getHeaderSize: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(header->getItemSize(index)); } // Return number of headers int IconList::getNumHeaders() const { return(header->getNumItems()); } // Change item text void IconList::setItemText(int index, const FXString& text) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::setItemText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (items[index]->getText() != text) { items[index]->setText(text); recalc(); } } // Get item text FXString IconList::getItemText(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::getItemText: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]->getText()); } // Set item icon void IconList::setItemBigIcon(int index, FXIcon* icon, FXbool owned) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::setItemBigIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (items[index]->getBigIcon() != icon) { recalc(); } items[index]->setBigIcon(icon, owned); } // Get item icon FXIcon* IconList::getItemBigIcon(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::getItemBigIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]->getBigIcon()); } // Set item icon void IconList::setItemMiniIcon(int index, FXIcon* icon, FXbool owned) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::setItemMiniIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (items[index]->getMiniIcon() != icon) { recalc(); } items[index]->setMiniIcon(icon, owned); } // Get item icon FXIcon* IconList::getItemMiniIcon(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::getItemMiniIcon: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]->getMiniIcon()); } // Set item data void IconList::setItemData(int index, void* ptr) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::setItemData: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } items[index]->setData(ptr); } // Get item data void* IconList::getItemData(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::getItemData: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]->getData()); } // True if item is current FXbool IconList::isItemCurrent(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::isItemCurrent: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(index == current); } // True if item is enabled FXbool IconList::isItemEnabled(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::isItemEnabled: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]->isEnabled()); } // True if item (partially) visible FXbool IconList::isItemVisible(int index) const { register FXbool vis = false; register int x, y, hh; if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::isItemVisible: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { if (options&_ICONLIST_COLUMNS) { FXASSERT(ncols > 0); x = pos_x+itemSpace*(index%ncols); y = pos_y+itemHeight*(index/ncols); } else { FXASSERT(nrows > 0); x = pos_x+itemSpace*(index/nrows); y = pos_y+itemHeight*(index%nrows); } if ((0 < x+itemSpace) && (x < viewport_w) && (0 < y+itemHeight) && (y < viewport_h)) { vis = true; } } else { hh = header->getDefaultHeight(); y = pos_y+hh+index*itemHeight; if ((hh < y+itemHeight) && (y < viewport_h)) { vis = true; } } return(vis); } // Make item fully visible void IconList::makeItemVisible(int index) { register int x, y, hh, px, py; if ((0 <= index) && (index < items.no())) { // Remember for later viewable = index; // Was realized if (xid) { // Force layout if dirty if (flags&FLAG_RECALC) { layout(); } px = pos_x; py = pos_y; // Showing icon view if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { if (options&_ICONLIST_COLUMNS) { FXASSERT(ncols > 0); x = itemSpace*(index%ncols); y = itemHeight*(index/ncols); } else { FXASSERT(nrows > 0); x = itemSpace*(index/nrows); y = itemHeight*(index%nrows); } if (px+x+itemSpace >= viewport_w) { px = viewport_w-x-itemSpace; } if (px+x <= 0) { px = -x; } if (py+y+itemHeight >= viewport_h) { py = viewport_h-y-itemHeight; } if (py+y <= 0) { py = -y; } } // Showing list view else { hh = header->getDefaultHeight(); y = hh+index*itemHeight; if (py+y+itemHeight >= viewport_h+hh) { py = hh+viewport_h-y-itemHeight; } if (py+y <= hh) { py = hh-y; } } // Scroll into view setPosition(px, py); // Done it viewable = -1; } } } // Hack to avoid displaying the allowTooltip in detailed mode when the mouse is not on the first column // Get item at position x,y //int IconList::getItemAt(int x,int y) const int IconList::getItemAt(int x, int y) { register int ix, iy; register int r, c, index; y -= pos_y; x -= pos_x; // Update the allowTooltip variable allowTooltip = true; if (options&_ICONLIST_STANDARD) { allowTooltip = false; } if (!(options&_ICONLIST_STANDARD) && (single_click == SINGLE_CLICK_DIR_FILE)) { // Don't change cursor while the wait cursor is displayed if (::setWaitCursor(getApp(), QUERY_CURSOR) == 0) { setDefaultCursor(getApp()->getDefaultCursor(DEF_HAND_CURSOR)); } } if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { c = x/itemSpace; r = y/itemHeight; if ((c < 0) || (c >= ncols) || (r < 0) || (r >= nrows)) { return(-1); } index = (options&_ICONLIST_COLUMNS) ? ncols*r+c : nrows*c+r; if ((index < 0) || (index >= items.no())) { return(-1); } ix = itemSpace*c; iy = itemHeight*r; if (items[index]->hitItem(this, x-ix, y-iy) == 0) { return(-1); } } else { // Update the allowTooltip variable if ((x == 0) || (x > header->getItemSize(0))) { allowTooltip = false; // Don't change cursor while the wait cursor is displayed if (::setWaitCursor(getApp(), QUERY_CURSOR) == 0) { setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); } } y -= header->getDefaultHeight(); c = 0; index = y/itemHeight; if ((index < 0) || (index >= items.no())) { return(-1); } } return(index); } // Compare strings up to n static int comp(const FXString& s1, const FXString& s2, int n) { register const FXuchar* p1 = (const FXuchar*)s1.text(); register const FXuchar* p2 = (const FXuchar*)s2.text(); register int c1, c2; if (0 < n) { do { c1 = *p1++; if (c1 == '\t') { c1 = 0; } c2 = *p2++; if (c2 == '\t') { c2 = 0; } } while (--n && c1 && (c1 == c2)); return(c1-c2); } return(0); } // Compare strings case insensitive up to n static int compcase(const FXString& s1, const FXString& s2, int n) { register const FXuchar* p1 = (const FXuchar*)s1.text(); register const FXuchar* p2 = (const FXuchar*)s2.text(); register int c1, c2; if (0 < n) { do { c1 = Ascii::toLower(*p1++); if (c1 == '\t') { c1 = 0; // FIXME UTF8 version } c2 = Ascii::toLower(*p2++); if (c2 == '\t') { c2 = 0; } } while (--n && c1 && (c1 == c2)); return(c1-c2); } return(0); } typedef int (*FXCompareFunc)(const FXString&, const FXString&, int); // Get item by name int IconList::findItem(const FXString& text, int start, FXuint flgs) const { register FXCompareFunc comparefunc; register int index, len; if (0 < items.no()) { comparefunc = (flgs&SEARCH_IGNORECASE) ? (FXCompareFunc)compcase : (FXCompareFunc)comp; len = (flgs&SEARCH_PREFIX) ? text.length() : 2147483647; if (flgs&SEARCH_BACKWARD) { if (start < 0) { start = items.no()-1; } for (index = start; 0 <= index; index--) { if ((*comparefunc)(items[index]->getText(), text, len) == 0) { return(index); } } if (!(flgs&SEARCH_WRAP)) { return(-1); } for (index = items.no()-1; start < index; index--) { if ((*comparefunc)(items[index]->getText(), text, len) == 0) { return(index); } } } else { if (start < 0) { start = 0; } for (index = start; index < items.no(); index++) { if ((*comparefunc)(items[index]->getText(), text, len) == 0) { return(index); } } if (!(flgs&SEARCH_WRAP)) { return(-1); } for (index = 0; index < start; index++) { if ((*comparefunc)(items[index]->getText(), text, len) == 0) { return(index); } } } } return(-1); } // Get item by data int IconList::findItemByData(const void* ptr, int start, FXuint flgs) const { register int index; if (0 < items.no()) { if (flgs&SEARCH_BACKWARD) { if (start < 0) { start = items.no()-1; } for (index = start; 0 <= index; index--) { if (items[index]->getData() == ptr) { return(index); } } if (!(flgs&SEARCH_WRAP)) { return(-1); } for (index = items.no()-1; start < index; index--) { if (items[index]->getData() == ptr) { return(index); } } } else { if (start < 0) { start = 0; } for (index = start; index < items.no(); index++) { if (items[index]->getData() == ptr) { return(index); } } if (!(flgs&SEARCH_WRAP)) { return(-1); } for (index = 0; index < start; index++) { if (items[index]->getData() == ptr) { return(index); } } } } return(-1); } // Did we hit the item, and which part of it did we hit int IconList::hitItem(int index, int x, int y, int ww, int hh) const { int ix, iy, r, c, hit = 0; if ((0 <= index) && (index < items.no())) { x -= pos_x; y -= pos_y; if (!(options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS))) { y -= header->getDefaultHeight(); } if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { if (options&_ICONLIST_COLUMNS) { r = index/ncols; c = index%ncols; } else { c = index/nrows; r = index%nrows; } } else { r = index; c = 0; } ix = itemSpace*c; iy = itemHeight*r; hit = items[index]->hitItem(this, x-ix, y-iy, ww, hh); } return(hit); } // Repaint void IconList::updateItem(int index) const { if (xid && (0 <= index) && (index < items.no())) { if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { if (options&_ICONLIST_COLUMNS) { FXASSERT(ncols > 0); update(pos_x+itemSpace*(index%ncols), pos_y+itemHeight*(index/ncols), itemSpace, itemHeight); } else { FXASSERT(nrows > 0); update(pos_x+itemSpace*(index/nrows), pos_y+itemHeight*(index%nrows), itemSpace, itemHeight); } } else { update(0, pos_y+header->getDefaultHeight()+index*itemHeight, width, itemHeight); } } } // Enable one item FXbool IconList::enableItem(int index) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::enableItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (!items[index]->isEnabled()) { items[index]->setEnabled(true); updateItem(index); return(true); } return(false); } // Disable one item FXbool IconList::disableItem(int index) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::disableItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (items[index]->isEnabled()) { items[index]->setEnabled(false); updateItem(index); return(true); } return(false); } // Select one item FXbool IconList::selectItem(int index, FXbool notify) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::selectItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (!items[index]->isSelected()) { switch (options&SELECT_MASK) { case _ICONLIST_SINGLESELECT: case _ICONLIST_BROWSESELECT: killSelection(notify); case _ICONLIST_EXTENDEDSELECT: case _ICONLIST_MULTIPLESELECT: items[index]->setSelected(true); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)index); } break; } return(true); } return(false); } // Deselect one item FXbool IconList::deselectItem(int index, FXbool notify) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::deselectItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (items[index]->isSelected()) { switch (options&SELECT_MASK) { case _ICONLIST_EXTENDEDSELECT: case _ICONLIST_MULTIPLESELECT: case _ICONLIST_SINGLESELECT: items[index]->setSelected(false); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)index); } break; } return(true); } return(false); } // Toggle one item FXbool IconList::toggleItem(int index, FXbool notify) { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::toggleItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } switch (options&SELECT_MASK) { case _ICONLIST_BROWSESELECT: if (!items[index]->isSelected()) { killSelection(notify); items[index]->setSelected(true); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)index); } } break; case _ICONLIST_SINGLESELECT: if (!items[index]->isSelected()) { killSelection(notify); items[index]->setSelected(true); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)index); } } else { items[index]->setSelected(false); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)index); } } break; case _ICONLIST_EXTENDEDSELECT: case _ICONLIST_MULTIPLESELECT: if (!items[index]->isSelected()) { items[index]->setSelected(true); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)index); } } else { items[index]->setSelected(false); updateItem(index); if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)index); } } break; } return(true); } // Select items in rectangle FXbool IconList::selectInRectangle(int x, int y, int w, int h, FXbool notify) { register int r, c, index; register FXbool changed = false; if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { for (r = 0; r < nrows; r++) { for (c = 0; c < ncols; c++) { index = (options&_ICONLIST_COLUMNS) ? ncols*r+c : nrows*c+r; if (index < items.no()) { if (hitItem(index, x, y, w, h)) { changed |= selectItem(index, notify); } } } } } else { for (index = 0; index < items.no(); index++) { if (hitItem(index, x, y, w, h)) { changed |= selectItem(index, notify); } } } return(changed); } // Extend selection FXbool IconList::extendSelection(int index, FXbool notify) { register FXbool changes = false; int i1, i2, i3, i; if ((0 <= index) && (0 <= anchor) && (0 <= extent)) { // Find segments i1 = index; if (anchor < i1) { i2 = i1; i1 = anchor; } else { i2 = anchor; } if (extent < i1) { i3 = i2; i2 = i1; i1 = extent; } else if (extent < i2) { i3 = i2; i2 = extent; } else { i3 = extent; } // First segment for (i = i1; i < i2; i++) { // item===extent---anchor // item===anchor---extent if (i1 == index) { if (!items[i]->isSelected()) { items[i]->setSelected(true); updateItem(i); changes = true; if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)i); } } } // extent===anchor---item // extent===item-----anchor else if (i1 == extent) { if (items[i]->isSelected()) { items[i]->setSelected(false); updateItem(i); changes = true; if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)i); } } } } // Second segment for (i = i2+1; i <= i3; i++) { // extent---anchor===item // anchor---extent===item if (i3 == index) { if (!items[i]->isSelected()) { items[i]->setSelected(true); updateItem(i); changes = true; if (notify && target) { target->tryHandle(this, FXSEL(SEL_SELECTED, message), (void*)(FXival)i); } } } // item-----anchor===extent // anchor---item=====extent else if (i3 == extent) { if (items[i]->isSelected()) { items[i]->setSelected(false); updateItem(i); changes = true; if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)i); } } } } extent = index; } return(changes); } // Kill selection FXbool IconList::killSelection(FXbool notify) { register FXbool changes = false; register int i; for (i = 0; i < items.no(); i++) { if (items[i]->isSelected()) { items[i]->setSelected(false); updateItem(i); changes = true; if (notify && target) { target->tryHandle(this, FXSEL(SEL_DESELECTED, message), (void*)(FXival)i); } } } return(changes); } // Lasso changed, so select/unselect items based on difference between new and old lasso box void IconList::lassoChanged(int ox, int oy, int ow, int oh, int nx, int ny, int nw, int nh, FXbool notify) { register int r, c; int ohit, nhit, index; if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { for (r = 0; r < nrows; r++) { for (c = 0; c < ncols; c++) { index = (options&_ICONLIST_COLUMNS) ? ncols*r+c : nrows*c+r; if (index < items.no()) { ohit = hitItem(index, ox, oy, ow, oh); nhit = hitItem(index, nx, ny, nw, nh); if (ohit && !nhit) // In old rectangle and not in new rectangle { deselectItem(index, notify); } else if (!ohit && nhit) // Not in old rectangle and in new rectangle { selectItem(index, notify); } } } } } else { for (index = 0; index < items.no(); index++) { ohit = hitItem(index, ox, oy, ow, oh); nhit = hitItem(index, nx, ny, nw, nh); if (ohit && !nhit) // Was in old, not in new { deselectItem(index, notify); } else if (!ohit && nhit) // Not in old, but in new { selectItem(index, notify); } } } } // Update value from a message long IconList::onCmdSetValue(FXObject*, FXSelector, void* ptr) { setCurrentItem((int)(FXival)ptr); return(1); } // Obtain value from list long IconList::onCmdGetIntValue(FXObject*, FXSelector, void* ptr) { *((int*)ptr) = getCurrentItem(); return(1); } // Update value from a message long IconList::onCmdSetIntValue(FXObject*, FXSelector, void* ptr) { setCurrentItem(*((int*)ptr)); return(1); } // Start motion timer while in this window long IconList::onEnter(FXObject* sender, FXSelector sel, void* ptr) { FXScrollArea::onEnter(sender, sel, ptr); getApp()->addTimeout(this, ID_TIPTIMER, getApp()->getMenuPause()); cursor = -1; return(1); } // Stop motion timer when leaving window long IconList::onLeave(FXObject* sender, FXSelector sel, void* ptr) { FXScrollArea::onLeave(sender, sel, ptr); getApp()->removeTimeout(this, ID_TIPTIMER); cursor = -1; return(1); } // We timed out, i.e. the user didn't move for a while long IconList::onTipTimer(FXObject*, FXSelector, void*) { flags |= FLAG_TIP; return(1); } // Hack to display more informations in the tool tip long IconList::onQueryTip(FXObject* sender, FXSelector sel, void* ptr) { if (FXWindow::onQueryTip(sender, sel, ptr)) { return(1); } // File tooltips are optional if (file_tooltips) { // In detailed mode, avoid displaying the tooltip when the mouse is not on the first column if (allowTooltip && (flags&FLAG_TIP) && (0 <= cursor)) { FXString string; // Get the item text FXString str = items[cursor]->getText(); // Add name, size, type, permissions, etc. to the tool tip FXString name = str.section('\t', 0); FXString size = str.section('\t', 1); FXString type = str.section('\t', 2); FXString date = str.section('\t', 4); FXString user = str.section('\t', 5); FXString group = str.section('\t', 6); FXString perms = str.section('\t', 7); FXString origpath = str.section('\t', 8); FXString deldate = str.section('\t', 9); FXString pathname = str.section('\t', 10); // Don't display tooltip for the dotdot directory if (name == "..") { string = ""; } else { // Folder or mount point if ((type == _("Folder")) || (type == _("Mount point"))) { // Compute root file size FXulong dnsize; char dsize[64]; dnsize = ::dirsize(pathname.text()); #if __WORDSIZE == 64 snprintf(dsize, sizeof(dsize)-1, "%lu", dnsize); #else snprintf(dsize, sizeof(dsize)-1, "%llu", dnsize); #endif size = ::hSize(dsize); if (deldate.empty()) { string = _("Name: ")+name+"\n"+_("Size in root: ")+size+"\n"+_("Type: ")+type+"\n" +_("Modified date: ")+date+"\n"+_("User: ")+user+" - "+_("Group: ")+group+"\n" +_("Permissions: ")+perms; } else { string = _("Name: ")+name+"\n"+ +_("Original path: ")+origpath+"\n" +_("Size in root: ")+size+"\n"+_("Type: ")+type+"\n" +_("Modified date: ")+date+"\n" +_("Deletion date: ")+deldate+"\n" +_("User: ")+user+" - "+_("Group: ")+group+"\n"+_("Permissions: ")+perms; } } // Regular file else { if (deldate.empty()) { string = _("Name: ")+name+"\n"+_("Size: ")+size+"\n"+_("Type: ")+type+"\n" +_("Modified date: ")+date+"\n"+_("User: ")+user+" - "+_("Group: ")+group +"\n"+_("Permissions: ")+perms; } else { string = _("Name: ")+name+"\n"+ +_("Original path: ")+origpath+"\n" +_("Size: ")+size+"\n"+_("Type: ")+type +"\n"+_("Modified date: ")+date+"\n" +_("Deletion date: ")+deldate+"\n" +_("User: ")+user+" - "+_("Group: ")+group+"\n"+_("Permissions: ")+perms; } } } sender->handle(this, FXSEL(SEL_COMMAND, ID_SETSTRINGVALUE), (void*)&string); return(1); } else if (!allowTooltip) { // Don't change cursor while the wait cursor is displayed if (::setWaitCursor(getApp(), QUERY_CURSOR) == 0) { setDefaultCursor(getApp()->getDefaultCursor(DEF_ARROW_CURSOR)); } } } return(0); } // We were asked about status text long IconList::onQueryHelp(FXObject* sender, FXSelector sel, void* ptr) { if (FXWindow::onQueryHelp(sender, sel, ptr)) { return(1); } if ((flags&FLAG_HELP) && !help.empty()) { sender->handle(this, FXSEL(SEL_COMMAND, ID_SETSTRINGVALUE), (void*)&help); return(1); } return(0); } // Gained focus long IconList::onFocusIn(FXObject* sender, FXSelector sel, void* ptr) { FXScrollArea::onFocusIn(sender, sel, ptr); if (0 <= current) { FXASSERT(current < items.no()); items[current]->setFocus(true); updateItem(current); } return(1); } // Lost focus long IconList::onFocusOut(FXObject* sender, FXSelector sel, void* ptr) { FXScrollArea::onFocusOut(sender, sel, ptr); if (0 <= current) { FXASSERT(current < items.no()); items[current]->setFocus(false); updateItem(current); } return(1); } // Draw item list long IconList::onPaint(FXObject*, FXSelector, void* ptr) { register int rlo, rhi, clo, chi, yy, xx; register int x, y, r, c, index; FXEvent* event = (FXEvent*)ptr; FXDCWindow dc(this, event); // Set font dc.setFont(font); // Icon mode if (options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS)) { // Exposed rows rlo = (event->rect.y-pos_y)/itemHeight; rhi = (event->rect.y+event->rect.h-pos_y)/itemHeight; if (rlo < 0) { rlo = 0; } if (rhi >= nrows) { rhi = nrows-1; } // Exposed columns clo = (event->rect.x-pos_x)/itemSpace; chi = (event->rect.x+event->rect.w-pos_x)/itemSpace; if (clo < 0) { clo = 0; } if (chi >= ncols) { chi = ncols-1; } // Big Icons if (options&_ICONLIST_BIG_ICONS) { for (r = rlo; r <= rhi; r++) { y = pos_y+r*itemHeight; for (c = clo; c <= chi; c++) { x = pos_x+c*itemSpace; index = (options&_ICONLIST_COLUMNS) ? ncols*r+c : nrows*c+r; dc.setForeground(backColor); dc.fillRectangle(x, y, itemSpace, itemHeight); if (index < items.no()) { items[index]->draw(this, dc, x, y, itemSpace, itemHeight); } } } } // Mini icons else { for (r = rlo; r <= rhi; r++) { y = pos_y+r*itemHeight; for (c = clo; c <= chi; c++) { x = pos_x+c*itemSpace; index = (options&_ICONLIST_COLUMNS) ? ncols*r+c : nrows*c+r; dc.setForeground(backColor); dc.fillRectangle(x, y, itemSpace, itemHeight); if (index < items.no()) { items[index]->draw(this, dc, x, y, itemSpace, itemHeight); } } } } // Repaint left-over background yy = (rhi+1)*itemHeight; if (yy < event->rect.y+event->rect.h) { dc.setForeground(backColor); dc.fillRectangle(event->rect.x, yy, event->rect.w, event->rect.y+event->rect.h-yy); } xx = (chi+1)*itemSpace; if (xx < event->rect.x+event->rect.w) { dc.setForeground(backColor); dc.fillRectangle(xx, event->rect.y, event->rect.x+event->rect.w-xx, event->rect.h); } } // Detailed mode else { // Exposed rows rlo = (event->rect.y-pos_y-header->getDefaultHeight())/itemHeight; rhi = (event->rect.y+event->rect.h-pos_y-header->getDefaultHeight())/itemHeight; if (rlo < 0) { rlo = 0; } if (rhi >= items.no()) { rhi = items.no()-1; } // Repaint the items y = pos_y+rlo*itemHeight+header->getDefaultHeight(); for (index = rlo; index <= rhi; index++, y += itemHeight) { dc.setForeground(backColor); dc.fillRectangle(0, y, width, itemHeight); items[index]->draw(this, dc, pos_x, y, width, itemHeight); } // Repaint left-over background if (y < event->rect.y+event->rect.h) { dc.setForeground(backColor); dc.fillRectangle(event->rect.x, y, event->rect.w, event->rect.y+event->rect.h-y); } } return(1); } // Draw Lasso rectangle void IconList::drawLasso(int x0, int y0, int x1, int y1) { FXDCWindow dc(this); dc.setFunction(BLT_NOT_DST); x0 += pos_x; x1 += pos_x; y0 += pos_y; y1 += pos_y; dc.drawLine(x0, y0, x1, y0); dc.drawLine(x1, y0, x1, y1); dc.drawLine(x1, y1, x0, y1); dc.drawLine(x0, y1, x0, y0); } // Arrange by rows long IconList::onCmdArrangeByRows(FXObject*, FXSelector, void*) { options &= ~_ICONLIST_COLUMNS; recalc(); return(1); } // Update sender long IconList::onUpdArrangeByRows(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&_ICONLIST_COLUMNS) ? FXSEL(SEL_COMMAND, ID_UNCHECK) : FXSEL(SEL_COMMAND, ID_CHECK), NULL); sender->handle(this, (options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) ? FXSEL(SEL_COMMAND, ID_ENABLE) : FXSEL(SEL_COMMAND, ID_DISABLE), NULL); return(1); } // Arrange by columns long IconList::onCmdArrangeByColumns(FXObject*, FXSelector, void*) { options |= _ICONLIST_COLUMNS; recalc(); return(1); } // Update sender long IconList::onUpdArrangeByColumns(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&_ICONLIST_COLUMNS) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); sender->handle(this, (options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) ? FXSEL(SEL_COMMAND, ID_ENABLE) : FXSEL(SEL_COMMAND, ID_DISABLE), NULL); return(1); } // Toggle autosize items long IconList::onCmdToggleAutosize(FXObject*, FXSelector, void*) { if (options&_ICONLIST_AUTOSIZE) { options &= ~_ICONLIST_AUTOSIZE; } else { options |= _ICONLIST_AUTOSIZE; } recalc(); return(1); } // Update sender long IconList::onUpdToggleAutosize(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&_ICONLIST_AUTOSIZE) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); sender->handle(this, (options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) ? FXSEL(SEL_COMMAND, ID_ENABLE) : FXSEL(SEL_COMMAND, ID_DISABLE), NULL); return(1); } // Show detailed list long IconList::onCmdShowDetails(FXObject*, FXSelector, void*) { options &= ~_ICONLIST_MINI_ICONS; options &= ~_ICONLIST_BIG_ICONS; recalc(); return(1); } // Update sender long IconList::onUpdShowDetails(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&(_ICONLIST_MINI_ICONS|_ICONLIST_BIG_ICONS)) ? FXSEL(SEL_COMMAND, ID_UNCHECK) : FXSEL(SEL_COMMAND, ID_CHECK), NULL); return(1); } // Show big icons long IconList::onCmdShowBigIcons(FXObject*, FXSelector, void*) { options &= ~_ICONLIST_MINI_ICONS; options |= _ICONLIST_BIG_ICONS; recalc(); return(1); } // Update sender long IconList::onUpdShowBigIcons(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&_ICONLIST_BIG_ICONS) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Show small icons long IconList::onCmdShowMiniIcons(FXObject*, FXSelector, void*) { options |= _ICONLIST_MINI_ICONS; options &= ~_ICONLIST_BIG_ICONS; recalc(); return(1); } // Update sender long IconList::onUpdShowMiniIcons(FXObject* sender, FXSelector, void*) { sender->handle(this, (options&_ICONLIST_MINI_ICONS) ? FXSEL(SEL_COMMAND, ID_CHECK) : FXSEL(SEL_COMMAND, ID_UNCHECK), NULL); return(1); } // Select all items long IconList::onCmdselectAll(FXObject*, FXSelector, void*) { for (int i = 0; i < items.no(); i++) { selectItem(i, true); } if (!(options&_ICONLIST_SEARCH) && !(options&_ICONLIST_STANDARD)) { deselectItem(0, true); } return(1); } // Deselect all items long IconList::onCmdDeselectAll(FXObject*, FXSelector, void*) { for (int i = 0; i < items.no(); i++) { deselectItem(i, true); } return(1); } // Select inverse of current selection long IconList::onCmdSelectInverse(FXObject*, FXSelector, void*) { for (int i = 0; i < items.no(); i++) { toggleItem(i, true); } if (!(options&_ICONLIST_SEARCH) && !(options&_ICONLIST_STANDARD)) { deselectItem(0, true); } return(1); } // Compare sectioned strings int IconList::compareSection(const char* p, const char* q, int s) { register int c1, c2, x; for (x = s; x && *p; x -= (*p++ == '\t')) { } for (x = s; x && *q; x -= (*q++ == '\t')) { } do { c1 = (FXuchar)(*p++); c2 = (FXuchar)(*q++); } while ('\t' < c1 && (c1 == c2)); return(c1-c2); } // Compare sectioned strings, case-insensitive int IconList::compareSectionCase(const char* p, const char* q, int s) { register int c1, c2, x; for (x = s; x && *p; x -= (*p++ == '\t')) { } for (x = s; x && *q; x -= (*q++ == '\t')) { } do { if ((*p & 0x80) && (*q & 0x80)) { c1 = Unicode::toLower(wc(p)); p += wclen(p); c2 = Unicode::toLower(wc(q)); q += wclen(q); } else { c1 = Ascii::toLower(*p); p += 1; c2 = Ascii::toLower(*q); q += 1; } } while ('\t' < c1 && (c1 == c2)); return(c1-c2); } // Sort items in ascending order int IconList::ascending(const IconItem* a, const IconItem* b) { return(compareSection(a->getText().text(), b->getText().text(), 0)); } // Sort items in descending order int IconList::descending(const IconItem* a, const IconItem* b) { return(compareSection(b->getText().text(), a->getText().text(), 0)); } // Sort items in ascending order, case insensitive int IconList::ascendingCase(const IconItem* a, const IconItem* b) { return(compareSectionCase(a->getText().text(), b->getText().text(), 0)); } // Sort items in descending order, case insensitive int IconList::descendingCase(const IconItem* a, const IconItem* b) { return(compareSectionCase(b->getText().text(), a->getText().text(), 0)); } // Sort the items based on the sort function void IconList::sortItems() { register IconItem* v, *c = 0; register FXbool exch = false; register int i, j, h; if (sortfunc) { if (0 <= current) { c = items[current]; } for (h = 1; h <= items.no()/9; h = 3*h+1) { } for ( ; h > 0; h /= 3) { for (i = h+1; i <= items.no(); i++) { v = items[i-1]; j = i; while (j > h && sortfunc(items[j-h-1], v) > 0) { items[j-1] = items[j-h-1]; exch = true; j -= h; } items[j-1] = v; } } if (0 <= current) { for (i = 0; i < items.no(); i++) { if (items[i] == c) { current = i; break; } } } if (exch) { recalc(); } } } // Set current item void IconList::setCurrentItem(int index, FXbool notify) { if ((index < -1) || (items.no() <= index)) { fprintf(stderr, "%s::setCurrentItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } if (index != current) { // Deactivate old item if (0 <= current) { // No visible change if it doen't have the focus if (hasFocus()) { items[current]->setFocus(false); updateItem(current); } } current = index; // Activate new item if (0 <= current) { // No visible change if it doen't have the focus if (hasFocus()) { items[current]->setFocus(true); updateItem(current); } } // Notify item change if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)current); } } // In browse selection mode, select item if (((options&SELECT_MASK) == _ICONLIST_BROWSESELECT) && (0 <= current) && items[current]->isEnabled()) { selectItem(current, notify); } } // Set anchor item void IconList::setAnchorItem(int index) { if ((index < -1) || (items.no() <= index)) { fprintf(stderr, "%s::setAnchorItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } anchor = index; extent = index; } // Zero out lookup string long IconList::onLookupTimer(FXObject*, FXSelector, void*) { lookup = FXString::null; return(1); } long IconList::onKeyPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; int index = current; flags &= ~FLAG_TIP; if (!isEnabled()) { return(0); } if (target && target->tryHandle(this, FXSEL(SEL_KEYPRESS, message), ptr)) { return(1); } switch (event->code) { case KEY_Control_L: case KEY_Control_R: case KEY_Shift_L: case KEY_Shift_R: case KEY_Alt_L: case KEY_Alt_R: if (flags&FLAG_DODRAG) { handle(this, FXSEL(SEL_DRAGGED, 0), ptr); } return(1); case KEY_Page_Up: case KEY_KP_Page_Up: lookup = FXString::null; setPosition(pos_x, pos_y+verticalScrollBar()->getPage()); // To select an item in the current page index -= (int)(verticalScrollBar()->getPage()/verticalScrollBar()->getLine()); goto hop; return(1); case KEY_Page_Down: case KEY_KP_Page_Down: lookup = FXString::null; setPosition(pos_x, pos_y-verticalScrollBar()->getPage()); // To select an item in the current page index += (int)(verticalScrollBar()->getPage()/verticalScrollBar()->getLine()); goto hop; return(1); case KEY_Right: case KEY_KP_Right: if (!(options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS))) { setPosition(pos_x-10, pos_y); return(1); } if (options&_ICONLIST_COLUMNS) { index += 1; } else { index += nrows; } goto hop; case KEY_Left: case KEY_KP_Left: if (!(options&(_ICONLIST_BIG_ICONS|_ICONLIST_MINI_ICONS))) { setPosition(pos_x+10, pos_y); return(1); } if (options&_ICONLIST_COLUMNS) { index -= 1; } else { index -= nrows; } goto hop; case KEY_Up: case KEY_KP_Up: if (options&_ICONLIST_COLUMNS) { index -= ncols; } else { index -= 1; } goto hop; case KEY_Down: case KEY_KP_Down: if (options&_ICONLIST_COLUMNS) { index += ncols; } else { index += 1; } goto hop; case KEY_Home: case KEY_KP_Home: index = 0; goto hop; case KEY_End: case KEY_KP_End: index = items.no()-1; hop: lookup = FXString::null; if ((0 <= index) && (index < items.no())) { setCurrentItem(index, true); makeItemVisible(index); if (items[index]->isEnabled()) { if ((options&SELECT_MASK) == _ICONLIST_EXTENDEDSELECT) { if (event->state&SHIFTMASK) { if (0 <= anchor) { selectItem(anchor, true); extendSelection(index, true); } else { selectItem(index, true); } } else if (!(event->state&CONTROLMASK)) { killSelection(true); selectItem(index, true); setAnchorItem(index); } } } } // Commented out to allow single click navigation in the FileList //handle(this,FXSEL(SEL_CLICKED,0),(void*)(FXival)current); if ((0 <= current) && items[current]->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)(FXival)current); } return(1); case KEY_space: case KEY_KP_Space: lookup = FXString::null; if ((0 <= current) && items[current]->isEnabled()) { switch (options&SELECT_MASK) { case _ICONLIST_EXTENDEDSELECT: if (event->state&SHIFTMASK) { if (0 <= anchor) { selectItem(anchor, true); extendSelection(current, true); } else { selectItem(current, true); } } else if (event->state&CONTROLMASK) { toggleItem(current, true); } else { killSelection(true); selectItem(current, true); } break; case _ICONLIST_MULTIPLESELECT: case _ICONLIST_SINGLESELECT: toggleItem(current, true); break; } setAnchorItem(current); } // Commented out to select the current item with space //handle(this,FXSEL(SEL_CLICKED,0),(void*)(FXival)current); if ((0 <= current) && items[current]->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)(FXival)current); } return(1); case KEY_Return: case KEY_KP_Enter: lookup = FXString::null; handle(this, FXSEL(SEL_DOUBLECLICKED, 0), (void*)(FXival)current); if ((0 <= current) && items[current]->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)(FXival)current); } return(1); default: if ((FXuchar)event->text[0] < ' ') { return(0); } if (event->state&(CONTROLMASK|ALTMASK)) { return(0); } if (!Ascii::isPrint(event->text[0])) { return(0); } lookup.append(event->text); getApp()->addTimeout(this, ID_LOOKUPTIMER, getApp()->getTypingSpeed()); // String lookup can be case insensitive now if (ignorecase) { index = findItem(lookup, current, SEARCH_FORWARD|SEARCH_WRAP|SEARCH_PREFIX|SEARCH_IGNORECASE); } else { index = findItem(lookup, current, SEARCH_FORWARD|SEARCH_WRAP|SEARCH_PREFIX); } if (0 <= index) { setCurrentItem(index, true); makeItemVisible(index); if (items[index]->isEnabled()) { if ((options&SELECT_MASK) == _ICONLIST_EXTENDEDSELECT) { killSelection(true); selectItem(index, true); } setAnchorItem(index); } } handle(this, FXSEL(SEL_FOCUSIN, 0), (void*)(FXival)current); if ((0 <= current) && items[current]->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)(FXival)current); } return(1); } return(0); } // Key Release long IconList::onKeyRelease(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; if (!isEnabled()) { return(0); } if (target && target->tryHandle(this, FXSEL(SEL_KEYRELEASE, message), ptr)) { return(1); } switch (event->code) { case KEY_Shift_L: case KEY_Shift_R: case KEY_Control_L: case KEY_Control_R: case KEY_Alt_L: case KEY_Alt_R: if (flags&FLAG_DODRAG) { handle(this, FXSEL(SEL_DRAGGED, 0), ptr); } return(1); } return(0); } // Autoscrolling timer long IconList::onAutoScroll(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; int olx, orx, oty, oby, nlx, nrx, nty, nby; // Lasso mode if (flags&FLAG_LASSO) { // Hide the lasso before scrolling drawLasso(anchorx, anchory, currentx, currenty); // Scroll the content FXScrollArea::onAutoScroll(sender, sel, ptr); // Select items in lasso FXMINMAX(olx, orx, anchorx, currentx); FXMINMAX(oty, oby, anchory, currenty); currentx = event->win_x-pos_x; currenty = event->win_y-pos_y; FXMINMAX(nlx, nrx, anchorx, currentx); FXMINMAX(nty, nby, anchory, currenty); lassoChanged(pos_x+olx, pos_y+oty, orx-olx+1, oby-oty+1, pos_x+nlx, pos_y+nty, nrx-nlx+1, nby-nty+1, true); // Force repaint on this window repaint(); // Show lasso again drawLasso(anchorx, anchory, currentx, currenty); return(1); } // Scroll the content FXScrollArea::onAutoScroll(sender, sel, ptr); // Content scrolled, so perhaps something else under cursor if (flags&FLAG_DODRAG) { handle(this, FXSEL(SEL_DRAGGED, 0), ptr); return(1); } return(0); } // Mouse moved long IconList::onMotion(FXObject*, FXSelector, void* ptr) { int olx, orx, oty, oby, nlx, nrx, nty, nby; FXEvent* event = (FXEvent*)ptr; int oldcursor = cursor; FXuint flg = flags; // Kill the tip flags &= ~FLAG_TIP; // Kill the tip timer getApp()->removeTimeout(this, ID_TIPTIMER); // Right mouse scrolling if (flags&FLAG_SCROLLING) { setPosition(event->win_x-grabx, event->win_y-graby); return(1); } // Lasso selection mode if (flags&FLAG_LASSO) { if (startAutoScroll(event, false)) { return(1); } // Hide lasso drawLasso(anchorx, anchory, currentx, currenty); // Select items in lasso FXMINMAX(olx, orx, anchorx, currentx); FXMINMAX(oty, oby, anchory, currenty); currentx = event->win_x-pos_x; currenty = event->win_y-pos_y; FXMINMAX(nlx, nrx, anchorx, currentx); FXMINMAX(nty, nby, anchory, currenty); lassoChanged(pos_x+olx, pos_y+oty, orx-olx+1, oby-oty+1, pos_x+nlx, pos_y+nty, nrx-nlx+1, nby-nty+1, true); // Force repaint on this window repaint(); // Show lasso again drawLasso(anchorx, anchory, currentx, currenty); return(1); } // Drag and drop mode if (flags&FLAG_DODRAG) { if (startAutoScroll(event, true)) { return(1); } handle(this, FXSEL(SEL_DRAGGED, 0), ptr); return(1); } // Tentative drag and drop if (flags&FLAG_TRYDRAG) { if (event->moved) { flags &= ~FLAG_TRYDRAG; if (handle(this, FXSEL(SEL_BEGINDRAG, 0), ptr)) { flags |= FLAG_DODRAG; } } return(1); } // Reset tip timer if nothing's going on getApp()->addTimeout(this, ID_TIPTIMER, getApp()->getMenuPause()); // Get item we're over cursor = getItemAt(event->win_x, event->win_y); // Force GUI update only when needed return((cursor != oldcursor) || (flg&FLAG_TIP)); } // Pressed a button long IconList::onLeftBtnPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; int index, code; flags &= ~FLAG_TIP; handle(this, FXSEL(SEL_FOCUS_SELF, 0), ptr); if (isEnabled()) { grab(); flags &= ~FLAG_UPDATE; // First change callback if (target && target->tryHandle(this, FXSEL(SEL_LEFTBUTTONPRESS, message), ptr)) { return(1); } // Locate item index = getItemAt(event->win_x, event->win_y); // No item if (index < 0) { // Start lasso if ((options&SELECT_MASK) == _ICONLIST_EXTENDEDSELECT) { // Kill selection if (!(event->state&(SHIFTMASK|CONTROLMASK))) { killSelection(true); } anchorx = currentx = event->win_x-pos_x; anchory = currenty = event->win_y-pos_y; drawLasso(anchorx, anchory, currentx, currenty); flags |= FLAG_LASSO; } return(1); } // Find out where hit code = hitItem(index, event->win_x, event->win_y); // Change current item setCurrentItem(index, true); // Change item selection state = items[index]->isSelected(); switch (options&SELECT_MASK) { case _ICONLIST_EXTENDEDSELECT: if (event->state&SHIFTMASK) { if (0 <= anchor) { if (items[anchor]->isEnabled()) { selectItem(anchor, true); } extendSelection(index, true); } else { if (items[index]->isEnabled()) { selectItem(index, true); } setAnchorItem(index); } } else if (event->state&CONTROLMASK) { if (items[index]->isEnabled() && !state) { selectItem(index, true); } setAnchorItem(index); } else { if (items[index]->isEnabled() && !state) { killSelection(true); selectItem(index, true); } setAnchorItem(index); } break; case _ICONLIST_MULTIPLESELECT: case _ICONLIST_SINGLESELECT: if (items[index]->isEnabled() && !state) { selectItem(index, true); } break; } // Are we dragging? if (code && items[index]->isSelected() && items[index]->isDraggable()) { flags |= FLAG_TRYDRAG; } flags |= FLAG_PRESSED; return(1); } return(0); } // Released button long IconList::onLeftBtnRelease(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXuint flg = flags; if (isEnabled()) { ungrab(); stopAutoScroll(); flags |= FLAG_UPDATE; flags &= ~(FLAG_PRESSED|FLAG_TRYDRAG|FLAG_LASSO|FLAG_DODRAG); // First chance callback if (target && target->tryHandle(this, FXSEL(SEL_LEFTBUTTONRELEASE, message), ptr)) { return(1); } // Was lassoing if (flg&FLAG_LASSO) { drawLasso(anchorx, anchory, currentx, currenty); return(1); } // Was dragging if (flg&FLAG_DODRAG) { handle(this, FXSEL(SEL_ENDDRAG, 0), ptr); return(1); } // Must have pressed if (flg&FLAG_PRESSED) { // Selection change switch (options&SELECT_MASK) { case _ICONLIST_EXTENDEDSELECT: if ((0 <= current) && items[current]->isEnabled()) { if (event->state&CONTROLMASK) { if (state) { deselectItem(current, true); } } else if (!(event->state&SHIFTMASK)) { if (state) { killSelection(true); selectItem(current, true); } } } break; case _ICONLIST_MULTIPLESELECT: case _ICONLIST_SINGLESELECT: if ((0 <= current) && items[current]->isEnabled()) { if (state) { deselectItem(current, true); } } break; } // Scroll to make item visible makeItemVisible(current); // Update anchor setAnchorItem(current); // Generate clicked callbacks if (event->click_count == 1) { handle(this, FXSEL(SEL_CLICKED, 0), (void*)(FXival)current); } else if (event->click_count == 2) { handle(this, FXSEL(SEL_DOUBLECLICKED, 0), (void*)(FXival)current); } else if (event->click_count == 3) { handle(this, FXSEL(SEL_TRIPLECLICKED, 0), (void*)(FXival)current); } // Command callback only when clicked on item if ((0 <= current) && items[current]->isEnabled()) { handle(this, FXSEL(SEL_COMMAND, 0), (void*)(FXival)current); } } return(1); } return(0); } // Pressed right button long IconList::onRightBtnPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; flags &= ~FLAG_TIP; handle(this, FXSEL(SEL_FOCUS_SELF, 0), ptr); if (isEnabled()) { grab(); flags &= ~FLAG_UPDATE; if (target && target->tryHandle(this, FXSEL(SEL_RIGHTBUTTONPRESS, message), ptr)) { return(1); } flags |= FLAG_SCROLLING; grabx = event->win_x-pos_x; graby = event->win_y-pos_y; return(1); } return(0); } // Released right button long IconList::onRightBtnRelease(FXObject*, FXSelector, void* ptr) { if (isEnabled()) { ungrab(); flags &= ~FLAG_SCROLLING; flags |= FLAG_UPDATE; if (target && target->tryHandle(this, FXSEL(SEL_RIGHTBUTTONRELEASE, message), ptr)) { } return(1); } return(0); } // The widget lost the grab for some reason long IconList::onUngrabbed(FXObject* sender, FXSelector sel, void* ptr) { FXScrollArea::onUngrabbed(sender, sel, ptr); flags &= ~(FLAG_DODRAG|FLAG_LASSO|FLAG_TRYDRAG|FLAG_PRESSED|FLAG_CHANGED|FLAG_SCROLLING); flags |= FLAG_UPDATE; stopAutoScroll(); return(1); } // Command message long IconList::onCommand(FXObject*, FXSelector, void* ptr) { return(target && target->tryHandle(this, FXSEL(SEL_COMMAND, message), ptr)); } // Clicked in list long IconList::onClicked(FXObject*, FXSelector, void* ptr) { return(target && target->tryHandle(this, FXSEL(SEL_CLICKED, message), ptr)); } // Double Clicked in list; ptr may or may not point to an item long IconList::onDoubleClicked(FXObject*, FXSelector, void* ptr) { return(target && target->tryHandle(this, FXSEL(SEL_DOUBLECLICKED, message), ptr)); } // Triple Clicked in list; ptr may or may not point to an item long IconList::onTripleClicked(FXObject*, FXSelector, void* ptr) { return(target && target->tryHandle(this, FXSEL(SEL_TRIPLECLICKED, message), ptr)); } // Create custom item IconItem* IconList::createItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr) { return(new IconItem(text, big, mini, ptr)); } // Retrieve item IconItem* IconList::getItem(int index) const { if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::getItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } return(items[index]); } // Replace item with another int IconList::setItem(int index, IconItem* item, FXbool notify) { // Must have item if (!item) { fprintf(stderr, "%s::setItem: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } // Must be in range if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::setItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } // Notify item will be replaced if (notify && target) { target->tryHandle(this, FXSEL(SEL_REPLACED, message), (void*)(FXival)index); } // Copy the state over item->state = items[index]->state; // Delete old delete items[index]; // Add new items[index] = item; // Redo layout recalc(); return(index); } // Replace item with another int IconList::setItem(int index, const FXString& text, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { return(setItem(index, createItem(text, big, mini, ptr), notify)); } // Insert item int IconList::insertItem(int index, IconItem* item, FXbool notify) { register int old = current; // Must have item if (!item) { fprintf(stderr, "%s::insertItem: item is NULL.\n", getClassName()); exit(EXIT_FAILURE); } // Must be in range if ((index < 0) || (items.no() < index)) { fprintf(stderr, "%s::insertItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } // Add item to list items.insert(index, item); // Adjust indices if (anchor >= index) { anchor++; } if (extent >= index) { extent++; } if (current >= index) { current++; } if (viewable >= index) { viewable++; } if ((current < 0) && (items.no() == 1)) { current = 0; } // Notify item has been inserted if (notify && target) { target->tryHandle(this, FXSEL(SEL_INSERTED, message), (void*)(FXival)index); } // Current item may have changed if (old != current) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)current); } } // Was new item if ((0 <= current) && (current == index)) { if (hasFocus()) { items[current]->setFocus(true); } if (((options&SELECT_MASK) == _ICONLIST_BROWSESELECT) && items[current]->isEnabled()) { selectItem(current, notify); } } // Redo layout recalc(); return(index); } // Insert item int IconList::insertItem(int index, const FXString& text, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { return(insertItem(index, createItem(text, big, mini, ptr), notify)); } // Append item int IconList::appendItem(IconItem* item, FXbool notify) { return(insertItem(items.no(), item, notify)); } // Append item int IconList::appendItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { return(insertItem(items.no(), createItem(text, big, mini, ptr), notify)); } // Prepend item int IconList::prependItem(IconItem* item, FXbool notify) { return(insertItem(0, item, notify)); } // Prepend item int IconList::prependItem(const FXString& text, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { return(insertItem(0, createItem(text, big, mini, ptr), notify)); } // Fill list by appending items from array of strings int IconList::fillItems(const char** strings, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { register int n = 0; if (strings) { while (strings[n]) { appendItem(strings[n++], big, mini, ptr, notify); } } return(n); } // Fill list by appending items from newline separated strings int IconList::fillItems(const FXString& strings, FXIcon* big, FXIcon* mini, void* ptr, FXbool notify) { register int n = 0; FXString text; while (!(text = strings.section('\n', n)).empty()) { appendItem(text, big, mini, ptr, notify); n++; } return(n); } // Move item from oldindex to newindex int IconList::moveItem(int newindex, int oldindex, FXbool notify) { register int old = current; register IconItem* item; // Must be in range if ((newindex < 0) || (oldindex < 0) || (items.no() <= newindex) || (items.no() <= oldindex)) { fprintf(stderr, "%s::moveItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } // Did it change? if (oldindex != newindex) { // Move item item = items[oldindex]; items.erase(oldindex); items.insert(newindex, item); // Move item down if (newindex < oldindex) { if ((newindex <= anchor) && (anchor < oldindex)) { anchor++; } if ((newindex <= extent) && (extent < oldindex)) { extent++; } if ((newindex <= current) && (current < oldindex)) { current++; } if ((newindex <= viewable) && (viewable < oldindex)) { viewable++; } } // Move item up else { if ((oldindex < anchor) && (anchor <= newindex)) { anchor--; } if ((oldindex < extent) && (extent <= newindex)) { extent--; } if ((oldindex < current) && (current <= newindex)) { current--; } if ((oldindex < viewable) && (viewable <= newindex)) { viewable--; } } // Adjust if it was equal if (anchor == oldindex) { anchor = newindex; } if (extent == oldindex) { extent = newindex; } if (current == oldindex) { current = newindex; } if (viewable == oldindex) { viewable = newindex; } // Current item may have changed if (old != current) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)current); } } // Redo layout recalc(); } return(newindex); } // Extract node from list IconItem* IconList::extractItem(int index, FXbool notify) { register IconItem* result; register int old = current; // Must be in range if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::extractItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } // Notify item will be deleted if (notify && target) { target->tryHandle(this, FXSEL(SEL_DELETED, message), (void*)(FXival)index); } // Extract item result = items[index]; // Remove from list items.erase(index); // Adjust indices if ((anchor > index) || (anchor >= items.no())) { anchor--; } if ((extent > index) || (extent >= items.no())) { extent--; } if ((current > index) || (current >= items.no())) { current--; } if ((viewable > index) || (viewable >= items.no())) { viewable--; } // Current item has changed if (index <= old) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)current); } } // Deleted current item if ((0 <= current) && (index == old)) { if (hasFocus()) { items[current]->setFocus(true); } if (((options&SELECT_MASK) == _ICONLIST_BROWSESELECT) && items[current]->isEnabled()) { selectItem(current, notify); } } // Redo layout recalc(); // Return item return(result); } // Remove node from list void IconList::removeItem(int index, FXbool notify) { register int old = current; // Must be in range if ((index < 0) || (items.no() <= index)) { fprintf(stderr, "%s::removeItem: index out of range.\n", getClassName()); exit(EXIT_FAILURE); } // Notify item will be deleted if (notify && target) { target->tryHandle(this, FXSEL(SEL_DELETED, message), (void*)(FXival)index); } // Delete item delete items[index]; // Remove from list items.erase(index); // Adjust indices if ((anchor > index) || (anchor >= items.no())) { anchor--; } if ((extent > index) || (extent >= items.no())) { extent--; } if ((current > index) || (current >= items.no())) { current--; } if ((viewable > index) || (viewable >= items.no())) { viewable--; } // Current item has changed if (index <= old) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)current); } } // Deleted current item if ((0 <= current) && (index == old)) { if (hasFocus()) { items[current]->setFocus(true); } if (((options&SELECT_MASK) == _ICONLIST_BROWSESELECT) && items[current]->isEnabled()) { selectItem(current, notify); } } // Redo layout recalc(); } // Remove all items void IconList::clearItems(FXbool notify) { register int old = current; // Delete items for (int index = items.no()-1; 0 <= index; index--) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_DELETED, message), (void*)(FXival)index); } delete items[index]; } // Free array items.clear(); // Adjust indices current = -1; anchor = -1; extent = -1; viewable = -1; // Current item has changed if (old != -1) { if (notify && target) { target->tryHandle(this, FXSEL(SEL_CHANGED, message), (void*)(FXival)-1); } } // Redo layout recalc(); } // Change the font void IconList::setFont(FXFont* fnt) { if (!fnt) { fprintf(stderr, "%s::setFont: NULL font specified.\n", getClassName()); exit(EXIT_FAILURE); } if (font != fnt) { font = fnt; recalc(); update(); } } // Set text color void IconList::setTextColor(FXColor clr) { if (clr != textColor) { textColor = clr; update(); } } // Set select background color void IconList::setSelBackColor(FXColor clr) { if (clr != selbackColor) { selbackColor = clr; update(); } } // Set selected text color void IconList::setSelTextColor(FXColor clr) { if (clr != seltextColor) { seltextColor = clr; update(); } } // Set text width void IconList::setItemSpace(int s) { if (s < 1) { s = 1; } if (itemSpace != s) { itemSpace = s; recalc(); } } // Change list style void IconList::setListStyle(FXuint style) { FXuint opts = (options&~ICONLIST_MASK) | (style&ICONLIST_MASK); if (options != opts) { options = opts; recalc(); } } // Get list style FXuint IconList::getListStyle() const { return(options&ICONLIST_MASK); } // Change help text void IconList::setHelpText(const FXString& text) { help = text; } // Set ignore case flag void IconList::setIgnoreCase(FXbool icase) { ignorecase = icase; } // Save data void IconList::save(FXStream& store) const { FXScrollArea::save(store); store << header; items.save(store); store << nrows; store << ncols; store << anchor; store << current; store << extent; store << font; store << textColor; store << selbackColor; store << seltextColor; store << itemSpace; store << itemWidth; store << itemHeight; store << help; } // Load data void IconList::load(FXStream& store) { FXScrollArea::load(store); store >> header; items.load(store); store >> nrows; store >> ncols; store >> anchor; store >> current; store >> extent; store >> font; store >> textColor; store >> selbackColor; store >> seltextColor; store >> itemSpace; store >> itemWidth; store >> itemHeight; store >> help; } // Cleanup IconList::~IconList() { getApp()->removeTimeout(this, ID_TIPTIMER); getApp()->removeTimeout(this, ID_LOOKUPTIMER); clearItems(false); header = (FXHeader*)-1L; font = (FXFont*)-1L; } xfe-1.42/src/xfedefs.h0000644000175100017510000001370012746115255011542 00000000000000// Common Xfe constants #ifndef COPYRIGHT #define COPYRIGHT "Copyright (C) 2002-2016 Roland Baudin (roland65@free.fr)" #endif // Default normal font #ifndef DEFAULT_NORMAL_FONT #define DEFAULT_NORMAL_FONT "Helvetica,100,normal,regular" #endif // Default text font #ifndef DEFAULT_TEXT_FONT #define DEFAULT_TEXT_FONT "Courier,100,normal,regular" #endif // Default file and directory list time format #ifndef DEFAULT_TIME_FORMAT #define DEFAULT_TIME_FORMAT "%x %X" #endif // Default initial main window width #ifndef DEFAULT_WINDOW_WIDTH #define DEFAULT_WINDOW_WIDTH 800 #endif // Default initial main window heigth #ifndef DEFAULT_WINDOW_HEIGHT #define DEFAULT_WINDOW_HEIGHT 600 #endif // Default initial main window X position #ifndef DEFAULT_WINDOW_XPOS #define DEFAULT_WINDOW_XPOS 50 #endif // Default initial main window Y position #ifndef DEFAULT_WINDOW_YPOS #define DEFAULT_WINDOW_YPOS 50 #endif // Maximum sizes for thumbnail image preview #ifndef MAX_BIGTHUMB_SIZE #define MAX_BIGTHUMB_SIZE 64 #endif #ifndef MAX_MINITHUMB_SIZE #define MAX_MINITHUMB_SIZE 20 #endif // Minimum width of a file panel or directory panel #ifndef MIN_PANEL_WIDTH #define MIN_PANEL_WIDTH 100 #endif // Maximum length of a file path #ifndef MAXPATHLEN #define MAXPATHLEN 8192 #endif // Maximum length of a command line #ifndef MAX_COMMAND_SIZE #define MAX_COMMAND_SIZE 128 #endif // Maximum length of a filter pattern #ifndef MAX_PATTERN_SIZE #define MAX_PATTERN_SIZE 64 #endif // Maximum number of characters per line for one line messages #ifndef MAX_MESSAGE_LENGTH #define MAX_MESSAGE_LENGTH 96 #endif // Root directory string #ifndef ROOTDIR #define ROOTDIR "/" #endif // Path separator #ifndef PATHSEPSTRING #define PATHSEPSTRING "/" #endif // Path separator #ifndef PATHSEPCHAR #define PATHSEPCHAR '/' #endif // Maximum number of path links #ifndef MAX_LINKS #define MAX_LINKS 128 #endif // Run history size #ifndef RUN_HIST_SIZE #define RUN_HIST_SIZE 30 #endif // Open with history size #ifndef OPEN_HIST_SIZE #define OPEN_HIST_SIZE 30 #endif // Filter history size #ifndef FILTER_HIST_SIZE #define FILTER_HIST_SIZE 30 #endif #ifdef STARTUP_NOTIFICATION // If startup notification is used, this is the timeout value (seconds) #define STARTUP_TIMEOUT 15 #endif // If startup notification is not used, we use an ugly simulation of a startup time (seconds) #define SIMULATED_STARTUP_TIME 3 // Local data path #ifndef DATAPATH #define DATAPATH ".local/share" #endif // Local config path #ifndef CONFIGPATH #define CONFIGPATH ".config" #endif // Xfe config path #ifndef XFECONFIGPATH #define XFECONFIGPATH "xfe" #endif // Scripts path #ifndef SCRIPTPATH #define SCRIPTPATH "scripts" #endif // Local trashcan directory path #ifndef TRASHPATH #define TRASHPATH "Trash" #endif // Local trashcan directory path for files #ifndef TRASHFILESPATH #define TRASHFILESPATH "Trash/files" #endif // Local trashcan directory path for infos #ifndef TRASHINFOPATH #define TRASHINFOPATH "Trash/info" #endif // Xfe application name #ifndef XFEAPPNAME #define XFEAPPNAME "xfe" #endif // Xfe vendor name #ifndef XFEVDRNAME #define XFEVDRNAME "Xfe" #endif // Xfe config file name #ifndef XFECONFIGNAME #define XFECONFIGNAME "xferc" #endif // Default icon path #ifndef DEFAULTICONPATH #define DEFAULTICONPATH "~/.config/xfe/icons/xfe-theme:/usr/local/share/xfe/icons/xfe-theme:/usr/share/xfe/icons/xfe-theme" #endif // Command to launch Xfe as root with sudo or su, using st as a terminal #ifndef SUDOCMD #define SUDOCMD " -g 60x4 -e sudo su -c 'nohup xfe >& /dev/null & sleep 1'" #endif #ifndef SUCMD #define SUCMD " -g 60x4 -e su -c 'nohup xfe >& /dev/null & sleep 1'" #endif // Tooltips setup time and duration #ifndef TOOLTIP_PAUSE #define TOOLTIP_PAUSE 500 #endif #ifndef TOOLTIP_TIME #define TOOLTIP_TIME 10000 #endif // Coefficient used to darken the sorted column in detailed mode #ifndef DARKEN_SORT #define DARKEN_SORT 0.96 #endif // Default terminal program #ifndef DEFAULT_TERMINAL #define DEFAULT_TERMINAL "xterm -sb" #endif // These have to be the same as in xferc.in // Default text viewer program #ifndef DEFAULT_TXTVIEWER #define DEFAULT_TXTVIEWER "xfw -r" #endif // Default text editor program #ifndef DEFAULT_TXTEDITOR #define DEFAULT_TXTEDITOR "xfw" #endif // Default file comparator program #ifndef DEFAULT_FILECOMPARATOR #define DEFAULT_FILECOMPARATOR "meld" #endif // Default image editor program #ifndef DEFAULT_IMGEDITOR #define DEFAULT_IMGEDITOR "gimp" #endif // Default image viewer program #ifndef DEFAULT_IMGVIEWER #define DEFAULT_IMGVIEWER "xfi" #endif // Default archiver program #ifndef DEFAULT_ARCHIVER #define DEFAULT_ARCHIVER "xarchiver" #endif // Default PDF viewer program #ifndef DEFAULT_PDFVIEWER #define DEFAULT_PDFVIEWER "xpdf" #endif // Default audio player program #ifndef DEFAULT_AUDIOPLAYER #define DEFAULT_AUDIOPLAYER "audacious" #endif // Default video player program #ifndef DEFAULT_VIDEOPLAYER #define DEFAULT_VIDEOPLAYER "mplayer" #endif // Default mount command #ifndef DEFAULT_MOUNTCMD #define DEFAULT_MOUNTCMD "mount" #endif // Default unmount command #ifndef DEFAULT_UMOUNTCMD #define DEFAULT_UMOUNTCMD "umount" #endif // FOX hacks // FXTextField without frame, for clearlooks controls #define _TEXTFIELD_NOFRAME 0x10000000 // Common macros // Tab character #define TAB (FXString)"\t" #define TAB2 (FXString)"\t\t" // Macro to add tab characters before and after a given string #define TABS(s) ((FXString)"\t"+(s)+(FXString)"\t") // Macro to add parentheses before and after a given string #define PARS(s) ((FXString)" ("+(s)+(FXString)")") // Linux specials #if defined(linux) // fstab path #ifndef FSTAB_PATH #define FSTAB_PATH "/etc/fstab" #endif // mtab path #ifndef MTAB_PATH #define MTAB_PATH "/proc/mounts" #endif // Package format #define DEB_PKG 0 #define RPM_PKG 1 #define OTHER_PKG 2 #endif xfe-1.42/src/XFilePackage.h0000644000175100017510000000333212625057514012400 00000000000000#ifndef XFILEPACKAGE_H #define XFILEPACKAGE_H #include "FileDialog.h" class XFilePackage : public FXMainWindow { FXDECLARE(XFilePackage) protected: FXMenuBar* menubar; // Menu bar FXMenuPane* filemenu; // File menu FXMenuPane* helpmenu; // Help menu FXMenuPane* prefsmenu; // Preferences menu FXToolBar* toolbar; // Toolbar FXString filename; // Current package name FXTreeList* list; // File list FXText* description; // Package description FXbool smoothscroll; FXbool errorflag; protected: XFilePackage() : menubar(NULL), filemenu(NULL), helpmenu(NULL), prefsmenu(NULL), toolbar(NULL), list(NULL), description(NULL), smoothscroll(false), errorflag(false) {} public: enum { ID_DESCRIPTION=FXMainWindow::ID_LAST, ID_FILELIST, ID_UNINSTALL, ID_INSTALL, ID_ABOUT, ID_OPEN, ID_HARVEST, ID_QUIT, ID_LAST }; void start(FXString); void create(); XFilePackage(FXApp*); ~XFilePackage(); void setSmoothScroll(FXbool smooth) { smoothscroll = smooth; } long onCmdUninstall(FXObject*, FXSelector, void*); long onCmdInstall(FXObject*, FXSelector, void*); long onCmdAbout(FXObject*, FXSelector, void*); long onCmdOpen(FXObject*, FXSelector, void*); int readDescription(); int readFileList(); void saveConfig(); long onSigHarvest(FXObject*, FXSelector, void*); long onCmdQuit(FXObject*, FXSelector, void*); long onUpdWindow(FXObject*, FXSelector, void*); }; #endif xfe-1.42/src/icons.cpp0000644000175100017510000004435712625057511011574 00000000000000// Global icons for all applications #include "config.h" #include "i18n.h" #include #include #include "xfedefs.h" #include "xfeutils.h" #include "icons.h" // Icons (global variables) FXIcon *archaddicon, *archexticon, *attribicon, *bigattribicon, *bigblockdevicon, *bigbrokenlinkicon, *bigcdromicon, *bigchardevicon; FXIcon *bigcompareicon, *bigdocicon, *bigexecicon, *bigfileopenicon, *bigfiltericon, *bigfloppyicon, *bigfolderlockedicon; FXIcon *bigfolderopenicon, *bigfoldericon, *bigfolderupicon, *bigharddiskicon, *bigiconsicon, *biglinkicon, *bignewfileicon; FXIcon *bignewfoldericon, *bignewlinkicon, *bignfsdriveicon; FXIcon *bignfsdriveumticon, *bigpipeicon, *bigsocketicon, *bigzipicon, *cdromicon, *charticon; FXIcon *closefileicon, *clrbookicon, *collfoldericon, *copy_bigicon, *colltreeicon; FXIcon *copy_clpicon, *cut_clpicon, *delete_big_permicon, *delete_bigicon, *deselicon, *detailsicon; FXIcon *dirupicon, *editicon, *entericon, *errorbigicon, *exptreeicon, *compareicon; FXIcon *filedelete_permicon, *filedeleteicon, *fileopenicon; FXIcon *viewicon, *filtericon, *find_againicon, *fliplricon, *flipudicon, *floppyicon; FXIcon *fontsicon, *gotobigicon, *gotodiricon, *gotolineicon, *harddiskicon, *helpicon, *hidehiddenicon; FXIcon *hidenumbersicon, *hidethumbicon, *homeicon, *infobigicon, *invselicon, *link_bigicon; FXIcon *locationicon, *lowercaseicon, *maphosticon, *miniappicon, *miniblockdevicon, *minibrokenlinkicon; FXIcon *minichardevicon, *minidocicon, *miniexecicon, *minifolderclosedicon; FXIcon *minifolderlockedicon, *minifolderopenicon, *minifoldericon, *minifolderupicon, *minilinkicon; FXIcon *minipipeicon, *minishellicon, *minisocketicon; FXIcon *move_bigicon, *moveiticon, *newfileicon, *newfoldericon, *nfsdriveicon, *nfsdriveumticon; FXIcon *onepanelicon, *packageicon, *paste_clpicon, *prefsicon, *printbigicon, *printicon; FXIcon *questionbigicon, *quiticon, *redoicon, *reloadicon, *renameiticon, *replaceicon; FXIcon *reverticon, *rotatelefticon, *rotaterighticon, *runicon, *saveasicon, *savefileicon; FXIcon *searchnexticon, *searchicon, *searchprevicon, *selallicon, *setbookicon, *shellicon; FXIcon *showhiddenicon, *shownumbersicon, *showthumbicon, *smalliconsicon; FXIcon *trash_full_bigicon, *trash_fullicon, *treeonepanelicon, *treetwopanelsicon, *twopanelsicon; FXIcon *undoicon, *unmaphosticon, *uppercaseicon, *warningbigicon, *workicon, *wrapofficon, *wraponicon, *xfeicon, *xfiicon; FXIcon *xfpicon, *xfwicon, *zipicon, *zoom100icon, *zoominicon, *zoomouticon, *zoomwinicon; FXIcon *totrashicon, *dirbackicon, *dirforwardicon, *minixfeicon, *minixferooticon, *filedialogicon, *bigarchaddicon; FXIcon *switchpanelsicon, *syncpanelsicon, *newlinkicon, *greenbuttonicon, *graybuttonicon; FXIcon *keybindingsicon, *minikeybindingsicon, *filerestoreicon, *restore_bigicon, *vertpanelsicon, *horzpanelsicon; // Load all application icons as global variables FXbool loadAppIcons(FXApp* app) { FXbool success = true; // Icon path FXString iconpath = app->reg().readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); // Load icons and set the success flag success = ((archaddicon = loadiconfile(app, iconpath, "archadd.png")) != NULL) & success; success = ((archexticon = loadiconfile(app, iconpath, "archext.png")) != NULL) & success; success = ((attribicon = loadiconfile(app, iconpath, "attrib.png")) != NULL) & success; success = ((bigattribicon = loadiconfile(app, iconpath, "bigattrib.png")) != NULL) & success; success = ((bigblockdevicon = loadiconfile(app, iconpath, "bigblockdev.png")) != NULL) & success; success = ((bigbrokenlinkicon = loadiconfile(app, iconpath, "bigbrokenlink.png")) != NULL) & success; success = ((bigcdromicon = loadiconfile(app, iconpath, "bigcdrom.png")) != NULL) & success; success = ((bigchardevicon = loadiconfile(app, iconpath, "bigchardev.png")) != NULL) & success; success = ((bigcompareicon = loadiconfile(app, iconpath, "bigcompare.png")) != NULL) & success; success = ((bigdocicon = loadiconfile(app, iconpath, "bigdoc.png")) != NULL) & success; success = ((bigexecicon = loadiconfile(app, iconpath, "bigexec.png")) != NULL) & success; success = ((bigfileopenicon = loadiconfile(app, iconpath, "bigfileopen.png")) != NULL) & success; success = ((bigfiltericon = loadiconfile(app, iconpath, "bigfilter.png")) != NULL) & success; success = ((bigfloppyicon = loadiconfile(app, iconpath, "bigfloppy.png")) != NULL) & success; success = ((bigfolderlockedicon = loadiconfile(app, iconpath, "bigfolderlocked.png")) != NULL) & success; success = ((bigfolderopenicon = loadiconfile(app, iconpath, "bigfolderopen.png")) != NULL) & success; success = ((bigfoldericon = loadiconfile(app, iconpath, "bigfolder.png")) != NULL) & success; success = ((bigfolderupicon = loadiconfile(app, iconpath, "bigfolderup.png")) != NULL) & success; success = ((bigharddiskicon = loadiconfile(app, iconpath, "bigharddisk.png")) != NULL) & success; success = ((bigiconsicon = loadiconfile(app, iconpath, "bigicons.png")) != NULL) & success; success = ((biglinkicon = loadiconfile(app, iconpath, "biglink.png")) != NULL) & success; success = ((bignewfileicon = loadiconfile(app, iconpath, "bignewfile.png")) != NULL) & success; success = ((bignewfoldericon = loadiconfile(app, iconpath, "bignewfolder.png")) != NULL) & success; success = ((bignewlinkicon = loadiconfile(app, iconpath, "bignewlink.png")) != NULL) & success; success = ((bignfsdriveicon = loadiconfile(app, iconpath, "bignfsdrive.png")) != NULL) & success; success = ((bignfsdriveumticon = loadiconfile(app, iconpath, "bignfsdriveumt.png")) != NULL) & success; success = ((bigpipeicon = loadiconfile(app, iconpath, "bigpipe.png")) != NULL) & success; success = ((bigsocketicon = loadiconfile(app, iconpath, "bigsocket.png")) != NULL) & success; success = ((bigzipicon = loadiconfile(app, iconpath, "bigzip.png")) != NULL) & success; success = ((cdromicon = loadiconfile(app, iconpath, "cdrom.png")) != NULL) & success; success = ((charticon = loadiconfile(app, iconpath, "chart.png")) != NULL) & success; success = ((closefileicon = loadiconfile(app, iconpath, "closefile.png")) != NULL) & success; success = ((clrbookicon = loadiconfile(app, iconpath, "clrbook.png")) != NULL) & success; success = ((colltreeicon = loadiconfile(app, iconpath, "colltree.png")) != NULL) & success; success = ((copy_bigicon = loadiconfile(app, iconpath, "copy_big.png")) != NULL) & success; success = ((copy_clpicon = loadiconfile(app, iconpath, "copy_clp.png")) != NULL) & success; success = ((cut_clpicon = loadiconfile(app, iconpath, "cut_clp.png")) != NULL) & success; success = ((delete_big_permicon = loadiconfile(app, iconpath, "delete_big_perm.png")) != NULL) & success; success = ((delete_bigicon = loadiconfile(app, iconpath, "delete_big.png")) != NULL) & success; success = ((deselicon = loadiconfile(app, iconpath, "desel.png")) != NULL) & success; success = ((detailsicon = loadiconfile(app, iconpath, "details.png")) != NULL) & success; success = ((dirupicon = loadiconfile(app, iconpath, "dirup.png")) != NULL) & success; success = ((editicon = loadiconfile(app, iconpath, "edit.png")) != NULL) & success; success = ((entericon = loadiconfile(app, iconpath, "enter.png")) != NULL) & success; success = ((errorbigicon = loadiconfile(app, iconpath, "errorbig.png")) != NULL) & success; success = ((exptreeicon = loadiconfile(app, iconpath, "exptree.png")) != NULL) & success; success = ((compareicon = loadiconfile(app, iconpath, "compare.png")) != NULL) & success; success = ((filedelete_permicon = loadiconfile(app, iconpath, "filedelete_perm.png")) != NULL) & success; success = ((filedeleteicon = loadiconfile(app, iconpath, "filedelete.png")) != NULL) & success; success = ((fileopenicon = loadiconfile(app, iconpath, "fileopen.png")) != NULL) & success; success = ((viewicon = loadiconfile(app, iconpath, "view.png")) != NULL) & success; success = ((filtericon = loadiconfile(app, iconpath, "filter.png")) != NULL) & success; success = ((find_againicon = loadiconfile(app, iconpath, "find_again.png")) != NULL) & success; success = ((fliplricon = loadiconfile(app, iconpath, "fliplr.png")) != NULL) & success; success = ((flipudicon = loadiconfile(app, iconpath, "flipud.png")) != NULL) & success; success = ((floppyicon = loadiconfile(app, iconpath, "floppy.png")) != NULL) & success; success = ((fontsicon = loadiconfile(app, iconpath, "fonts.png")) != NULL) & success; success = ((gotobigicon = loadiconfile(app, iconpath, "gotobig.png")) != NULL) & success; success = ((gotodiricon = loadiconfile(app, iconpath, "gotodir.png")) != NULL) & success; success = ((gotolineicon = loadiconfile(app, iconpath, "gotoline.png")) != NULL) & success; success = ((harddiskicon = loadiconfile(app, iconpath, "harddisk.png")) != NULL) & success; success = ((helpicon = loadiconfile(app, iconpath, "help.png")) != NULL) & success; success = ((hidehiddenicon = loadiconfile(app, iconpath, "hidehidden.png")) != NULL) & success; success = ((hidenumbersicon = loadiconfile(app, iconpath, "hidenumbers.png")) != NULL) & success; success = ((hidethumbicon = loadiconfile(app, iconpath, "hidethumb.png")) != NULL) & success; success = ((homeicon = loadiconfile(app, iconpath, "home.png")) != NULL) & success; success = ((infobigicon = loadiconfile(app, iconpath, "infobig.png")) != NULL) & success; success = ((invselicon = loadiconfile(app, iconpath, "invsel.png")) != NULL) & success; success = ((link_bigicon = loadiconfile(app, iconpath, "link_big.png")) != NULL) & success; success = ((locationicon = loadiconfile(app, iconpath, "location.png")) != NULL) & success; success = ((lowercaseicon = loadiconfile(app, iconpath, "lowercase.png")) != NULL) & success; success = ((maphosticon = loadiconfile(app, iconpath, "maphost.png")) != NULL) & success; success = ((miniappicon = loadiconfile(app, iconpath, "miniapp.png")) != NULL) & success; success = ((miniblockdevicon = loadiconfile(app, iconpath, "miniblockdev.png")) != NULL) & success; success = ((minibrokenlinkicon = loadiconfile(app, iconpath, "minibrokenlink.png")) != NULL) & success; success = ((minichardevicon = loadiconfile(app, iconpath, "minichardev.png")) != NULL) & success; success = ((minidocicon = loadiconfile(app, iconpath, "minidoc.png")) != NULL) & success; success = ((miniexecicon = loadiconfile(app, iconpath, "miniexec.png")) != NULL) & success; success = ((minifolderclosedicon = loadiconfile(app, iconpath, "minifolderclosed.png")) != NULL) & success; success = ((minifolderlockedicon = loadiconfile(app, iconpath, "minifolderlocked.png")) != NULL) & success; success = ((minifolderopenicon = loadiconfile(app, iconpath, "minifolderopen.png")) != NULL) & success; success = ((minifoldericon = loadiconfile(app, iconpath, "minifolder.png")) != NULL) & success; success = ((minifolderupicon = loadiconfile(app, iconpath, "minifolderup.png")) != NULL) & success; success = ((minilinkicon = loadiconfile(app, iconpath, "minilink.png")) != NULL) & success; success = ((minipipeicon = loadiconfile(app, iconpath, "minipipe.png")) != NULL) & success; success = ((minishellicon = loadiconfile(app, iconpath, "minishell.png")) != NULL) & success; success = ((minisocketicon = loadiconfile(app, iconpath, "minisocket.png")) != NULL) & success; success = ((move_bigicon = loadiconfile(app, iconpath, "move_big.png")) != NULL) & success; success = ((moveiticon = loadiconfile(app, iconpath, "moveit.png")) != NULL) & success; success = ((newfileicon = loadiconfile(app, iconpath, "newfile.png")) != NULL) & success; success = ((newfoldericon = loadiconfile(app, iconpath, "newfolder.png")) != NULL) & success; success = ((nfsdriveicon = loadiconfile(app, iconpath, "nfsdrive.png")) != NULL) & success; success = ((nfsdriveumticon = loadiconfile(app, iconpath, "nfsdriveumt.png")) != NULL) & success; success = ((onepanelicon = loadiconfile(app, iconpath, "onepanel.png")) != NULL) & success; success = ((packageicon = loadiconfile(app, iconpath, "package.png")) != NULL) & success; success = ((paste_clpicon = loadiconfile(app, iconpath, "paste_clp.png")) != NULL) & success; success = ((prefsicon = loadiconfile(app, iconpath, "prefs.png")) != NULL) & success; success = ((printbigicon = loadiconfile(app, iconpath, "printbig.png")) != NULL) & success; success = ((printicon = loadiconfile(app, iconpath, "print.png")) != NULL) & success; success = ((questionbigicon = loadiconfile(app, iconpath, "questionbig.png")) != NULL) & success; success = ((quiticon = loadiconfile(app, iconpath, "quit.png")) != NULL) & success; success = ((redoicon = loadiconfile(app, iconpath, "redo.png")) != NULL) & success; success = ((reloadicon = loadiconfile(app, iconpath, "reload.png")) != NULL) & success; success = ((renameiticon = loadiconfile(app, iconpath, "renameit.png")) != NULL) & success; success = ((replaceicon = loadiconfile(app, iconpath, "replace.png")) != NULL) & success; success = ((reverticon = loadiconfile(app, iconpath, "revert.png")) != NULL) & success; success = ((rotatelefticon = loadiconfile(app, iconpath, "rotateleft.png")) != NULL) & success; success = ((rotaterighticon = loadiconfile(app, iconpath, "rotateright.png")) != NULL) & success; success = ((runicon = loadiconfile(app, iconpath, "run.png")) != NULL) & success; success = ((saveasicon = loadiconfile(app, iconpath, "saveas.png")) != NULL) & success; success = ((savefileicon = loadiconfile(app, iconpath, "savefile.png")) != NULL) & success; success = ((searchnexticon = loadiconfile(app, iconpath, "searchnext.png")) != NULL) & success; success = ((searchicon = loadiconfile(app, iconpath, "search.png")) != NULL) & success; success = ((searchprevicon = loadiconfile(app, iconpath, "searchprev.png")) != NULL) & success; success = ((selallicon = loadiconfile(app, iconpath, "selall.png")) != NULL) & success; success = ((setbookicon = loadiconfile(app, iconpath, "setbook.png")) != NULL) & success; success = ((shellicon = loadiconfile(app, iconpath, "shell.png")) != NULL) & success; success = ((showhiddenicon = loadiconfile(app, iconpath, "showhidden.png")) != NULL) & success; success = ((shownumbersicon = loadiconfile(app, iconpath, "shownumbers.png")) != NULL) & success; success = ((showthumbicon = loadiconfile(app, iconpath, "showthumb.png")) != NULL) & success; success = ((smalliconsicon = loadiconfile(app, iconpath, "smallicons.png")) != NULL) & success; success = ((trash_full_bigicon = loadiconfile(app, iconpath, "trash_full_big.png")) != NULL) & success; success = ((trash_fullicon = loadiconfile(app, iconpath, "trash_full.png")) != NULL) & success; success = ((treeonepanelicon = loadiconfile(app, iconpath, "treeonepanel.png")) != NULL) & success; success = ((treetwopanelsicon = loadiconfile(app, iconpath, "treetwopanels.png")) != NULL) & success; success = ((twopanelsicon = loadiconfile(app, iconpath, "twopanels.png")) != NULL) & success; success = ((undoicon = loadiconfile(app, iconpath, "undo.png")) != NULL) & success; success = ((unmaphosticon = loadiconfile(app, iconpath, "unmaphost.png")) != NULL) & success; success = ((uppercaseicon = loadiconfile(app, iconpath, "uppercase.png")) != NULL) & success; success = ((warningbigicon = loadiconfile(app, iconpath, "warningbig.png")) != NULL) & success; success = ((workicon = loadiconfile(app, iconpath, "work.png")) != NULL) & success; success = ((wrapofficon = loadiconfile(app, iconpath, "wrapoff.png")) != NULL) & success; success = ((wraponicon = loadiconfile(app, iconpath, "wrapon.png")) != NULL) & success; success = ((xfeicon = loadiconfile(app, iconpath, "xfe.png")) != NULL) & success; success = ((xfiicon = loadiconfile(app, iconpath, "xfi.png")) != NULL) & success; success = ((xfpicon = loadiconfile(app, iconpath, "xfp.png")) != NULL) & success; success = ((xfwicon = loadiconfile(app, iconpath, "xfw.png")) != NULL) & success; success = ((zipicon = loadiconfile(app, iconpath, "zip.png")) != NULL) & success; success = ((zoom100icon = loadiconfile(app, iconpath, "zoom100.png")) != NULL) & success; success = ((zoominicon = loadiconfile(app, iconpath, "zoomin.png")) != NULL) & success; success = ((zoomouticon = loadiconfile(app, iconpath, "zoomout.png")) != NULL) & success; success = ((zoomwinicon = loadiconfile(app, iconpath, "zoomwin.png")) != NULL) & success; success = ((totrashicon = loadiconfile(app, iconpath, "totrash.png")) != NULL) & success; success = ((dirbackicon = loadiconfile(app, iconpath, "dirback.png")) != NULL) & success; success = ((dirforwardicon = loadiconfile(app, iconpath, "dirforward.png")) != NULL) & success; success = ((minixferooticon = loadiconfile(app, iconpath, "minixferoot.png")) != NULL) & success; success = ((minixfeicon = loadiconfile(app, iconpath, "minixfe.png")) != NULL) & success; success = ((filedialogicon = loadiconfile(app, iconpath, "filedialog.png")) != NULL) & success; success = ((bigarchaddicon = loadiconfile(app, iconpath, "bigarchadd.png")) != NULL) & success; success = ((switchpanelsicon = loadiconfile(app, iconpath, "switchpanels.png")) != NULL) & success; success = ((syncpanelsicon = loadiconfile(app, iconpath, "syncpanels.png")) != NULL) & success; success = ((newlinkicon = loadiconfile(app, iconpath, "newlink.png")) != NULL) & success; success = ((greenbuttonicon = loadiconfile(app, iconpath, "greenbutton.png")) != NULL) & success; success = ((graybuttonicon = loadiconfile(app, iconpath, "graybutton.png")) != NULL) & success; success = ((keybindingsicon = loadiconfile(app, iconpath, "keybindings.png")) != NULL) & success; success = ((minikeybindingsicon = loadiconfile(app, iconpath, "minikeybindings.png")) != NULL) & success; success = ((filerestoreicon = loadiconfile(app, iconpath, "filerestore.png")) != NULL) & success; success = ((restore_bigicon = loadiconfile(app, iconpath, "restore_big.png")) != NULL) & success; success = ((horzpanelsicon = loadiconfile(app, iconpath, "horzpanels.png")) != NULL) & success; success = ((vertpanelsicon = loadiconfile(app, iconpath, "vertpanels.png")) != NULL) & success; return(success); } xfe-1.42/src/SearchWindow.h0000644000175100017510000001410312625057514012510 00000000000000#ifndef SEARCHWINDOW_H #define SEARCHWINDOW_H #include "SearchPanel.h" // Search window class FXAPI SearchWindow : public FXTopWindow { FXDECLARE(SearchWindow) public: enum { ID_CANCEL=FXTopWindow::ID_LAST, ID_START, ID_STOP, ID_BROWSE_PATH, ID_READ_DATA, ID_CLOSE, ID_MORE_OPTIONS, ID_SIZE, ID_PERM, ID_RESET_OPTIONS, ID_LAST }; SearchWindow(FXApp* app, const FXString& name, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0, int w = 0, int h = 0, int pl = 10, int pr = 10, int pt = 10, int pb = 10, int hs = 4, int vs = 4); virtual void show(FXuint placement = PLACEMENT_CURSOR); virtual void create(); virtual ~SearchWindow(); protected: FXApp* application; FXLabel* searchresults; FXTextField* findfile; FXTextField* wheredir; FXTextField* greptext; FXButton* dirbutton; FXButton* startbutton; FXButton* stopbutton; SearchPanel* searchpanel; TextWindow* warnwindow; int in[2]; // Input and output pipes int out[2]; int pid; // Proccess ID of child (valid if busy). FXuint count; FXbool running; FXString strprev; FXString searchcommand; FXString uid; FXString gid; FXGroupBox* moregroup; FXVerticalFrame* searchframe; FXCheckButton* grepigncase; FXCheckButton* findigncase; FXCheckButton* findhidden; FXCheckButton* moreoptions; FXSpinner* minsize; FXSpinner* maxsize; FXSpinner* mindays; FXSpinner* maxdays; FXComboBox* user; FXComboBox* grp; FXComboBox* type; FXTextField* perm; FXCheckButton* userbtn; FXCheckButton* grpbtn; FXCheckButton* typebtn; FXCheckButton* permbtn; FXCheckButton* emptybtn; FXCheckButton* linkbtn; FXCheckButton* norecbtn; FXCheckButton* nofsbtn; FXButton* resetoptions; SearchWindow() : application(NULL), searchresults(NULL), findfile(NULL), wheredir(NULL), greptext(NULL), dirbutton(NULL), startbutton(NULL), stopbutton(NULL), searchpanel(NULL), warnwindow(NULL), pid(0), count(0), running(false), moregroup(NULL), searchframe(NULL), grepigncase(NULL), findigncase(NULL), findhidden(NULL), moreoptions(NULL), minsize(NULL), maxsize(NULL), mindays(NULL), maxdays(NULL), user(NULL), grp(NULL), type(NULL), perm(NULL), userbtn(NULL), grpbtn(NULL), typebtn(NULL), permbtn(NULL), emptybtn(NULL), linkbtn(NULL), norecbtn(NULL), nofsbtn(NULL), resetoptions(NULL) {} SearchWindow(const SearchWindow&) {} public: FXuint execute(FXuint placement = PLACEMENT_CURSOR); int execCmd(FXString); int readData(); long onKeyPress(FXObject*, FXSelector, void*); long onCmdClose(FXObject*, FXSelector, void*); long onCmdStart(FXObject*, FXSelector, void*); long onCmdBrowsePath(FXObject*, FXSelector, void*); long onReadData(FXObject*, FXSelector, void*); long onCmdStop(FXObject*, FXSelector, void*); long onPermVerify(FXObject*, FXSelector, void*); long onCmdMoreOptions(FXObject*, FXSelector, void*); long onCmdResetOptions(FXObject*, FXSelector, void*); long onUpdStart(FXObject*, FXSelector, void*); long onUpdStop(FXObject*, FXSelector, void*); long onUpdPerm(FXObject*, FXSelector, void*); long onUpdSize(FXObject*, FXSelector, void*); public: // Change sort function void setSortFunc(IconListSortFunc func) { searchpanel->setSortFunc(func); } // Return sort function IconListSortFunc getSortFunc() const { return(searchpanel->getSortFunc()); } // More option dialog shown ? FXbool shownMoreOptions(void) const { return(moreoptions->getCheck()); } // Get ignore case in find FXbool getFindIgnoreCase(void) const { return(findigncase->getCheck()); } // Set hidden files in find void setFindHidden(FXbool hidden) { findhidden->setCheck(hidden); } // Get hidden files in find FXbool getFindHidden(void) const { return(findhidden->getCheck()); } // Set ignore case in find void setFindIgnoreCase(FXbool ignorecase) { findigncase->setCheck(ignorecase); } // Get ignore case in grep FXbool getGrepIgnoreCase(void) const { return(grepigncase->getCheck()); } // Set ignore case in grep void setGrepIgnoreCase(FXbool ignorecase) { grepigncase->setCheck(ignorecase); } // Set ignore case void setIgnoreCase(FXbool ignorecase) { searchpanel->setIgnoreCase(ignorecase); } // Get ignore case FXbool getIgnoreCase(void) { return(searchpanel->getIgnoreCase()); } // Set directory first void setDirsFirst(FXbool dirsfirst) { searchpanel->setDirsFirst(dirsfirst); } // Set directory first FXbool getDirsFirst(void) { return(searchpanel->getDirsFirst()); } // Get the current icon list style FXuint getListStyle(void) const { return(searchpanel->getListStyle()); } // Get the current icon list style void setListStyle(FXuint style) { searchpanel->setListStyle(style); } // Thumbnails shown? FXbool shownThumbnails(void) const { return(searchpanel->shownThumbnails()); } // Show thumbnails void showThumbnails(FXbool shown) { searchpanel->showThumbnails(shown); } // Get header size given its index int getHeaderSize(int index) const { return(searchpanel->getHeaderSize(index)); } // Set search directory void setSearchPath(const FXString dir) { wheredir->setText(dir); } // Deselect all items void deselectAll(void) { searchpanel->deselectAll(); } }; #endif xfe-1.42/src/TextLabel.cpp0000644000175100017510000012416612625057511012342 00000000000000// Text label with selection/copy/paste capabilities // Based on the FXTextField widget #include #include #include #include #include "TextLabel.h" #define JUSTIFY_MASK (JUSTIFY_HZ_APART|JUSTIFY_VT_APART) // Map FXDEFMAP(TextLabel) TextLabelMap[] = { FXMAPFUNC(SEL_PAINT, 0, TextLabel::onPaint), FXMAPFUNC(SEL_UPDATE, 0, TextLabel::onUpdate), FXMAPFUNC(SEL_MOTION, 0, TextLabel::onMotion), FXMAPFUNC(SEL_TIMEOUT, TextLabel::ID_AUTOSCROLL, TextLabel::onAutoScroll), FXMAPFUNC(SEL_LEFTBUTTONPRESS, 0, TextLabel::onLeftBtnPress), FXMAPFUNC(SEL_LEFTBUTTONRELEASE, 0, TextLabel::onLeftBtnRelease), FXMAPFUNC(SEL_MIDDLEBUTTONPRESS, 0, TextLabel::onMiddleBtnPress), FXMAPFUNC(SEL_MIDDLEBUTTONRELEASE, 0, TextLabel::onMiddleBtnRelease), FXMAPFUNC(SEL_KEYPRESS, 0, TextLabel::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, TextLabel::onKeyRelease), FXMAPFUNC(SEL_SELECTION_LOST, 0, TextLabel::onSelectionLost), FXMAPFUNC(SEL_SELECTION_GAINED, 0, TextLabel::onSelectionGained), FXMAPFUNC(SEL_SELECTION_REQUEST, 0, TextLabel::onSelectionRequest), FXMAPFUNC(SEL_CLIPBOARD_LOST, 0, TextLabel::onClipboardLost), FXMAPFUNC(SEL_CLIPBOARD_GAINED, 0, TextLabel::onClipboardGained), FXMAPFUNC(SEL_CLIPBOARD_REQUEST, 0, TextLabel::onClipboardRequest), FXMAPFUNC(SEL_FOCUSIN, 0, TextLabel::onFocusIn), FXMAPFUNC(SEL_FOCUSOUT, 0, TextLabel::onFocusOut), FXMAPFUNC(SEL_FOCUS_SELF, 0, TextLabel::onFocusSelf), FXMAPFUNC(SEL_UPDATE, TextLabel::ID_COPY_SEL, TextLabel::onUpdHaveSelection), FXMAPFUNC(SEL_UPDATE, TextLabel::ID_SELECT_ALL, TextLabel::onUpdselectAll), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_HOME, TextLabel::onCmdCursorHome), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_END, TextLabel::onCmdCursorEnd), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_RIGHT, TextLabel::onCmdCursorRight), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_LEFT, TextLabel::onCmdCursorLeft), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_WORD_LEFT, TextLabel::onCmdCursorWordLeft), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_WORD_RIGHT, TextLabel::onCmdCursorWordRight), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_WORD_START, TextLabel::onCmdCursorWordStart), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_CURSOR_WORD_END, TextLabel::onCmdCursorWordEnd), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_MARK, TextLabel::onCmdMark), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_EXTEND, TextLabel::onCmdExtend), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_SELECT_ALL, TextLabel::onCmdselectAll), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_DESELECT_ALL, TextLabel::onCmdDeselectAll), FXMAPFUNC(SEL_COMMAND, TextLabel::ID_COPY_SEL, TextLabel::onCmdCopySel), }; // Object implementation FXIMPLEMENT(TextLabel, FXFrame, TextLabelMap, ARRAYNUMBER(TextLabelMap)) // Delimiters const char TextLabel::textDelimiters[] = "~.,/\\`'!@#$%^&*()-=+{}|[]\":;<>?"; // Construct and init TextLabel::TextLabel(FXComposite* p, int ncols, FXObject* tgt, FXSelector sel, FXuint opts, int x, int y, int w, int h, int pl, int pr, int pt, int pb) : FXFrame(p, opts, x, y, w, h, pl, pr, pt, pb) { if (ncols < 0) { ncols = 0; } flags |= FLAG_ENABLED; target = tgt; message = sel; if (!(options&JUSTIFY_RIGHT)) { options |= JUSTIFY_LEFT; } // Note : cursor is not changed if the object is constructed with ncols=0 if (ncols > 0) { defaultCursor = getApp()->getDefaultCursor(DEF_TEXT_CURSOR); dragCursor = getApp()->getDefaultCursor(DEF_TEXT_CURSOR); } delimiters = textDelimiters; font = getApp()->getNormalFont(); backColor = getApp()->getBackColor(); textColor = getApp()->getForeColor(); selbackColor = getApp()->getSelbackColor(); seltextColor = getApp()->getSelforeColor(); cursorColor = getApp()->getForeColor(); cursor = 0; anchor = 0; columns = ncols; shift = 0; } // Create X window void TextLabel::create() { FXFrame::create(); if (!textType) { textType = getApp()->registerDragType(textTypeName); } if (!utf8Type) { utf8Type = getApp()->registerDragType(utf8TypeName); } if (!utf16Type) { utf16Type = getApp()->registerDragType(utf16TypeName); } font->create(); } // Change the font void TextLabel::setFont(FXFont* fnt) { if (!fnt) { fxerror("%s::setFont: NULL font specified.\n", getClassName()); } if (font != fnt) { font = fnt; recalc(); update(); } } // Enable the window void TextLabel::enable() { if (!(flags&FLAG_ENABLED)) { FXFrame::enable(); update(); } } // Disable the window void TextLabel::disable() { if (flags&FLAG_ENABLED) { FXFrame::disable(); update(); } } // Get default width int TextLabel::getDefaultWidth() { return(padleft+padright+(border<<1)+columns*font->getTextWidth("8", 1)); } // Get default height int TextLabel::getDefaultHeight() { return(padtop+padbottom+(border<<1)+font->getFontHeight()); } // Implement auto-hide or auto-gray modes long TextLabel::onUpdate(FXObject* sender, FXSelector sel, void* ptr) { if (!FXFrame::onUpdate(sender, sel, ptr)) { if (options&TEXTFIELD_AUTOHIDE) { if (shown()) { hide(); recalc(); } } if (options&TEXTFIELD_AUTOGRAY) { disable(); } } return(1); } // We now really do have the selection; repaint the text field long TextLabel::onSelectionGained(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onSelectionGained(sender, sel, ptr); update(); return(1); } // We lost the selection somehow; repaint the text field long TextLabel::onSelectionLost(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onSelectionLost(sender, sel, ptr); update(); return(1); } // Somebody wants our selection; the text field will furnish it if the target doesn't long TextLabel::onSelectionRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXString string; FXuint start; FXuint len; // Make sure FXASSERT(0 <= anchor && anchor <= contents.length()); FXASSERT(0 <= cursor && cursor <= contents.length()); // Perhaps the target wants to supply its own data for the selection if (FXFrame::onSelectionRequest(sender, sel, ptr)) { return(1); } // Recognize the request? if ((event->target == stringType) || (event->target == textType) || (event->target == utf8Type) || (event->target == utf16Type)) { // Figure selected bytes if (anchor < cursor) { start = anchor; len = cursor-anchor; } else { start = cursor; len = anchor-cursor; } // Get selected fragment string = contents.mid(start, len); // If password mode, replace by stars if (options&TEXTFIELD_PASSWD) { string.assign('*', string.count()); } // Return text of the selection as UTF-8 if (event->target == utf8Type) { setDNDData(FROM_SELECTION, event->target, string); return(1); } // Return text of the selection translated to 8859-1 if ((event->target == stringType) || (event->target == textType)) { FX88591Codec ascii; setDNDData(FROM_SELECTION, event->target, ascii.utf2mb(string)); return(1); } // Return text of the selection translated to UTF-16 if (event->target == utf16Type) { FXUTF16LECodec unicode; // FIXME maybe other endianness for unix setDNDData(FROM_SELECTION, event->target, unicode.utf2mb(string)); return(1); } } return(0); } // We now really do have the clipboard, keep clipped text long TextLabel::onClipboardGained(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onClipboardGained(sender, sel, ptr); return(1); } // We lost the clipboard, free clipped text long TextLabel::onClipboardLost(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onClipboardLost(sender, sel, ptr); clipped.clear(); return(1); } // Somebody wants our clipped text long TextLabel::onClipboardRequest(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; FXString string; // Perhaps the target wants to supply its own data for the clipboard if (FXFrame::onClipboardRequest(sender, sel, ptr)) { return(1); } // Recognize the request? if ((event->target == stringType) || (event->target == textType) || (event->target == utf8Type) || (event->target == utf16Type)) { // Get clipped string string = clipped; // If password mode, replace by stars if (options&TEXTFIELD_PASSWD) { string.assign('*', string.count()); } // Return clipped text as as UTF-8 if (event->target == utf8Type) { setDNDData(FROM_CLIPBOARD, event->target, string); return(1); } // Return clipped text translated to 8859-1 if ((event->target == stringType) || (event->target == textType)) { FX88591Codec ascii; setDNDData(FROM_CLIPBOARD, event->target, ascii.utf2mb(string)); return(1); } // Return text of the selection translated to UTF-16 if (event->target == utf16Type) { FXUTF16LECodec unicode; // FIXME maybe other endianness for unix setDNDData(FROM_CLIPBOARD, event->target, unicode.utf2mb(string)); return(1); } } return(0); } // Gained focus long TextLabel::onFocusIn(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onFocusIn(sender, sel, ptr); if (hasSelection()) { update(border, border, width-(border<<1), height-(border<<1)); } return(1); } // Lost focus long TextLabel::onFocusOut(FXObject* sender, FXSelector sel, void* ptr) { FXFrame::onFocusOut(sender, sel, ptr); if (hasSelection()) { update(border, border, width-(border<<1), height-(border<<1)); } return(1); } // Focus on widget itself long TextLabel::onFocusSelf(FXObject* sender, FXSelector sel, void* ptr) { if (FXFrame::onFocusSelf(sender, sel, ptr)) { FXEvent* event = (FXEvent*)ptr; if ((event->type == SEL_KEYPRESS) || (event->type == SEL_KEYRELEASE)) { handle(this, FXSEL(SEL_COMMAND, ID_SELECT_ALL), NULL); } return(1); } return(0); } // If window can have focus bool TextLabel::canFocus() const { return(true); } // Into focus chain void TextLabel::setFocus() { FXFrame::setFocus(); setDefault(true); flags &= ~FLAG_UPDATE; if (getApp()->hasInputMethod()) { createComposeContext(); } } // Out of focus chain void TextLabel::killFocus() { FXFrame::killFocus(); setDefault(MAYBE); flags |= FLAG_UPDATE; if (flags&FLAG_CHANGED) { flags &= ~FLAG_CHANGED; if (!(options&TEXTFIELD_ENTER_ONLY)) { if (target) { target->tryHandle(this, FXSEL(SEL_COMMAND, message), (void*)contents.text()); } } } if (getApp()->hasInputMethod()) { destroyComposeContext(); } } // Pressed left button long TextLabel::onLeftBtnPress(FXObject*, FXSelector, void* ptr) { FXEvent* ev = (FXEvent*)ptr; handle(this, FXSEL(SEL_FOCUS_SELF, 0), ptr); if (isEnabled()) { grab(); if (target && target->tryHandle(this, FXSEL(SEL_LEFTBUTTONPRESS, message), ptr)) { return(1); } flags &= ~FLAG_UPDATE; if (ev->click_count == 1) { setCursorPos(index(ev->win_x)); if (ev->state&SHIFTMASK) { extendSelection(cursor); } else { killSelection(); setAnchorPos(cursor); } makePositionVisible(cursor); flags |= FLAG_PRESSED; } else { setAnchorPos(0); setCursorPos(contents.length()); extendSelection(contents.length()); makePositionVisible(cursor); } return(1); } return(0); } // Released left button long TextLabel::onLeftBtnRelease(FXObject*, FXSelector, void* ptr) { if (isEnabled()) { ungrab(); flags &= ~FLAG_PRESSED; if (target && target->tryHandle(this, FXSEL(SEL_LEFTBUTTONRELEASE, message), ptr)) { return(1); } } return(0); } // Moved long TextLabel::onMotion(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; int t; if (flags&FLAG_PRESSED) { if ((event->win_x < (border+padleft)) || ((width-border-padright) < event->win_x)) { if (!getApp()->hasTimeout(this, ID_AUTOSCROLL)) { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } else { getApp()->removeTimeout(this, ID_AUTOSCROLL); t = index(event->win_x); if (t != cursor) { cursor = t; extendSelection(cursor); } } return(1); } return(0); } // Automatic scroll long TextLabel::onAutoScroll(FXObject*, FXSelector, void* ptr) { register FXEvent* event = (FXEvent*)ptr; if (flags&FLAG_PRESSED) { register int newcursor = cursor; register int ll = border+padleft; register int rr = width-border-padright; register int ww = rr-ll; register int tw; if (options&TEXTFIELD_PASSWD) { tw = font->getTextWidth("*", 1)*contents.count(); } else { tw = font->getTextWidth(contents.text(), contents.length()); } // Text right-aligned if (options&JUSTIFY_RIGHT) { // Scroll left if (event->win_x < ll) { if (tw > ww) { shift += ll-event->win_x; if (ww > tw-shift) { shift = tw-ww; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(ll); } // Scroll right if (rr < event->win_x) { if (tw > ww) { shift += rr-event->win_x; if (shift <= 0) { shift = 0; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(rr); } } // Text left-aligned else if (options&JUSTIFY_LEFT) { // Scroll left if (event->win_x < ll) { if (tw > ww) { shift += ll-event->win_x; if (shift >= 0) { shift = 0; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(ll); } // Scroll right if (rr < event->win_x) { if (tw > ww) { shift += rr-event->win_x; if (shift+tw < ww) { shift = ww-tw; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(rr); } } // Text centered else { // Scroll left if (event->win_x < ll) { if (tw > ww) { shift += ll-event->win_x; if (shift > tw/2-ww/2) { shift = tw/2-ww/2; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(ll); } // Scroll right if (rr < event->win_x) { if (tw > ww) { shift += rr-event->win_x; if (shift < (ww-ww/2)-tw/2) { shift = (ww-ww/2)-tw/2; } else { getApp()->addTimeout(this, ID_AUTOSCROLL, getApp()->getScrollSpeed(), event); } } newcursor = index(rr); } } // Extend the selection if (newcursor != cursor) { cursor = newcursor; extendSelection(cursor); } } return(1); } // Update somebody who works on the selection long TextLabel::onUpdHaveSelection(FXObject* sender, FXSelector, void* ptr) { sender->handle(this, hasSelection() ? FXSEL(SEL_COMMAND, ID_ENABLE) : FXSEL(SEL_COMMAND, ID_DISABLE), ptr); return(1); } // Update somebody who works on the selection long TextLabel::onUpdselectAll(FXObject* sender, FXSelector, void* ptr) { sender->handle(this, contents.empty() ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE), ptr); return(1); } // Move the cursor to new valid position void TextLabel::setCursorPos(int pos) { pos = contents.validate(FXCLAMP(0, pos, contents.length())); if (cursor != pos) { cursor = pos; } } // Set anchor position to valid position void TextLabel::setAnchorPos(int pos) { anchor = contents.validate(FXCLAMP(0, pos, contents.length())); } // Fix scroll amount after text changes or widget resize void TextLabel::layout() { register int rr = width-border-padright; register int ll = border+padleft; register int ww = rr-ll; register int tw; if (!xid) { return; } // Figure text width if (options&TEXTFIELD_PASSWD) { tw = font->getTextWidth("*", 1)*contents.count(); } else { tw = font->getTextWidth(contents.text(), contents.length()); } // Constrain shift if (options&JUSTIFY_RIGHT) { if (ww >= tw) { shift = 0; } else if (shift < 0) { shift = 0; } else if (shift > tw-ww) { shift = tw-ww; } } else if (options&JUSTIFY_LEFT) { if (ww >= tw) { shift = 0; } else if (shift > 0) { shift = 0; } else if (shift < ww-tw) { shift = ww-tw; } } else { if (ww >= tw) { shift = 0; } else if (shift > tw/2-ww/2) { shift = tw/2-ww/2; } else if (shift < (ww-ww/2)-tw/2) { shift = (ww-ww/2)-tw/2; } } // Keep cursor in the picture if resizing field makePositionVisible(cursor); // Always redraw update(); flags &= ~FLAG_DIRTY; } // Force position to become fully visible; we assume layout is correct void TextLabel::makePositionVisible(int pos) { register int rr = width-border-padright; register int ll = border+padleft; register int ww = rr-ll; register int oldshift = shift; register int xx; if (!xid) { return; } pos = contents.validate(FXCLAMP(0, pos, contents.length())); if (options&JUSTIFY_RIGHT) { if (options&TEXTFIELD_PASSWD) { xx = font->getTextWidth("*", 1)*contents.count(pos, contents.length()); } else { xx = font->getTextWidth(&contents[pos], contents.length()-pos); } if (shift-xx > 0) { shift = xx; } else if (shift-xx < -ww) { shift = xx-ww; } } else if (options&JUSTIFY_LEFT) { if (options&TEXTFIELD_PASSWD) { xx = font->getTextWidth("*", 1)*contents.index(pos); } else { xx = font->getTextWidth(contents.text(), pos); } if (shift+xx < 0) { shift = -xx; } else if (shift+xx >= ww) { shift = ww-xx; } } else { if (options&TEXTFIELD_PASSWD) { xx = font->getTextWidth("*", 1)*contents.index(pos)-(font->getTextWidth("*", 1)*contents.count())/2; } else { xx = font->getTextWidth(contents.text(), pos)-font->getTextWidth(contents.text(), contents.length())/2; } if (shift+ww/2+xx < 0) { shift = -ww/2-xx; } else if (shift+ww/2+xx >= ww) { shift = ww-ww/2-xx; } } if (shift != oldshift) { update(border, border, width-(border<<1), height-(border<<1)); } } // Find index from coord int TextLabel::index(int x) const { register int rr = width-border-padright; register int ll = border+padleft; register int mm = (ll+rr)/2; register int pos, xx, cw; if (options&TEXTFIELD_PASSWD) { cw = font->getTextWidth("*", 1); if (options&JUSTIFY_RIGHT) { xx = rr-cw*contents.count(); } else if (options&JUSTIFY_LEFT) { xx = ll; } else { xx = mm-(cw*contents.count())/2; } xx += shift; pos = contents.offset((x-xx+(cw>>1))/cw); } else { if (options&JUSTIFY_RIGHT) { xx = rr-font->getTextWidth(contents.text(), contents.length()); } else if (options&JUSTIFY_LEFT) { xx = ll; } else { xx = mm-font->getTextWidth(contents.text(), contents.length())/2; } xx += shift; for (pos = 0; pos < contents.length(); pos = contents.inc(pos)) { cw = font->getTextWidth(&contents[pos], contents.extent(pos)); if (x < (xx+(cw>>1))) { break; } xx += cw; } } if (pos < 0) { pos = 0; } if (pos > contents.length()) { pos = contents.length(); } return(pos); } // Find coordinate from index int TextLabel::coord(int i) const { register int rr = width-border-padright; register int ll = border+padleft; register int mm = (ll+rr)/2; register int pos; FXASSERT(0 <= i && i <= contents.length()); if (options&JUSTIFY_RIGHT) { if (options&TEXTFIELD_PASSWD) { pos = rr-font->getTextWidth("*", 1)*(contents.count()-contents.index(i)); } else { pos = rr-font->getTextWidth(&contents[i], contents.length()-i); } } else if (options&JUSTIFY_LEFT) { if (options&TEXTFIELD_PASSWD) { pos = ll+font->getTextWidth("*", 1)*contents.index(i); } else { pos = ll+font->getTextWidth(contents.text(), i); } } else { if (options&TEXTFIELD_PASSWD) { pos = mm+font->getTextWidth("*", 1)*contents.index(i)-(font->getTextWidth("*", 1)*contents.count())/2; } else { pos = mm+font->getTextWidth(contents.text(), i)-font->getTextWidth(contents.text(), contents.length())/2; } } return(pos+shift); } // Return true if position is visible FXbool TextLabel::isPosVisible(int pos) const { if ((0 <= pos) && (pos <= contents.length())) { register int x = coord(contents.validate(pos)); return(border+padleft <= x && x <= width-border-padright); } return(false); } // Return true if position pos is selected FXbool TextLabel::isPosSelected(int pos) const { return(hasSelection() && FXMIN(anchor, cursor) <= pos && pos <= FXMAX(anchor, cursor)); } // Draw text fragment void TextLabel::drawTextFragment(FXDCWindow& dc, int x, int y, int fm, int to) { x += font->getTextWidth(contents.text(), fm); y += font->getFontAscent(); dc.drawText(x, y, &contents[fm], to-fm); } // Draw range of text void TextLabel::drawTextRange(FXDCWindow& dc, int fm, int to) { register int sx, ex, xx, yy, cw, hh, ww, si, ei, lx, rx, t; register int rr = width-border-padright; register int ll = border+padleft; register int mm = (ll+rr)/2; if (to <= fm) { return; } dc.setFont(font); // Text color dc.setForeground(textColor); // Height hh = font->getFontHeight(); // Text sticks to top of field if (options&JUSTIFY_TOP) { yy = padtop+border; } // Text sticks to bottom of field else if (options&JUSTIFY_BOTTOM) { yy = height-padbottom-border-hh; } // Text centered in y else { yy = border+padtop+(height-padbottom-padtop-(border<<1)-hh)/2; } if (anchor < cursor) { si = anchor; ei = cursor; } else { si = cursor; ei = anchor; } // Normal mode ww = font->getTextWidth(contents.text(), contents.length()); // Text sticks to right of field if (options&JUSTIFY_RIGHT) { xx = shift+rr-ww; } // Text sticks on left of field else if (options&JUSTIFY_LEFT) { xx = shift+ll; } // Text centered in field else { xx = shift+mm-ww/2; } // Reduce to avoid drawing excessive amounts of text lx = xx+font->getTextWidth(&contents[0], fm); rx = lx+font->getTextWidth(&contents[fm], to-fm); while (fm < to) { t = contents.inc(fm); cw = font->getTextWidth(&contents[fm], t-fm); if (lx+cw >= 0) { break; } lx += cw; fm = t; } while (fm < to) { t = contents.dec(to); cw = font->getTextWidth(&contents[t], to-t); if (rx-cw < width) { break; } rx -= cw; to = t; } // Adjust selected range if (si < fm) { si = fm; } if (ei > to) { ei = to; } // Nothing selected if (!hasSelection() || (to <= si) || (ei <= fm)) { drawTextFragment(dc, xx, yy, fm, to); } // Stuff selected else { if (fm < si) { drawTextFragment(dc, xx, yy, fm, si); } else { si = fm; } if (ei < to) { drawTextFragment(dc, xx, yy, ei, to); } else { ei = to; } if (si < ei) { sx = xx+font->getTextWidth(contents.text(), si); ex = xx+font->getTextWidth(contents.text(), ei); if (hasFocus()) { dc.setForeground(selbackColor); dc.fillRectangle(sx, padtop+border, ex-sx, height-padtop-padbottom-(border<<1)); dc.setForeground(seltextColor); drawTextFragment(dc, xx, yy, si, ei); } else { dc.setForeground(baseColor); dc.fillRectangle(sx, padtop+border, ex-sx, height-padtop-padbottom-(border<<1)); dc.setForeground(textColor); drawTextFragment(dc, xx, yy, si, ei); } } } } // Handle repaint long TextLabel::onPaint(FXObject*, FXSelector, void* ptr) { FXEvent* ev = (FXEvent*)ptr; FXDCWindow dc(this, ev); // Draw frame drawFrame(dc, 0, 0, width, height); // Gray background if disabled if (isEnabled()) { dc.setForeground(backColor); } else { dc.setForeground(baseColor); } // Draw background dc.fillRectangle(border, border, width-(border<<1), height-(border<<1)); // Draw text, clipped against frame interior dc.setClipRectangle(border, border, width-(border<<1), height-(border<<1)); drawTextRange(dc, 0, contents.length()); return(1); } // Move cursor to begin of line long TextLabel::onCmdCursorHome(FXObject*, FXSelector, void*) { setCursorPos(0); makePositionVisible(0); return(1); } // Move cursor to end of line long TextLabel::onCmdCursorEnd(FXObject*, FXSelector, void*) { setCursorPos(contents.length()); makePositionVisible(cursor); return(1); } // Move cursor right long TextLabel::onCmdCursorRight(FXObject*, FXSelector, void*) { setCursorPos(contents.inc(cursor)); makePositionVisible(cursor); return(1); } // Move cursor left long TextLabel::onCmdCursorLeft(FXObject*, FXSelector, void*) { setCursorPos(contents.dec(cursor)); makePositionVisible(cursor); return(1); } // Check if w is delimiter static FXbool isdelimiter(const char* delimiters, FXwchar w) { return(w < 256 && strchr(delimiters, w)); // FIXME for w>256 } // Find end of previous word int TextLabel::leftWord(int pos) const { register int pp = pos, p; // Ensure input is valid FXASSERT(0 <= pos && pos <= contents.length()); // Back up until space or delimiter while (0 <= (p = contents.dec(pp)) && !Unicode::isSpace(contents.wc(p)) && !isdelimiter(delimiters, contents.wc(p))) { pp = p; } // Back up over run of spaces while (0 <= (p = contents.dec(pp)) && Unicode::isSpace(contents.wc(p))) { pp = p; } // One more in case we didn't move if ((pos == pp) && (0 <= (p = contents.dec(pp)))) { pp = p; } return(pp); } // Find begin of next word int TextLabel::rightWord(int pos) const { register int pp = pos; // Ensure input is valid FXASSERT(0 <= pos && pos <= contents.length()); // Advance until space or delimiter while (pp < contents.length() && !Unicode::isSpace(contents.wc(pp)) && !isdelimiter(delimiters, contents.wc(pp))) { pp = contents.inc(pp); } // Advance over run of spaces while (pp < contents.length() && Unicode::isSpace(contents.wc(pp))) { pp = contents.inc(pp); } // One more in case we didn't move if ((pos == pp) && (pp < contents.length())) { pp = contents.inc(pp); } return(pp); } // Find begin of a word int TextLabel::wordStart(int pos) const { register int p; FXASSERT(0 <= pos && pos <= contents.length()); if ((pos == contents.length()) || Unicode::isSpace(contents.wc(pos))) { while (0 <= (p = contents.dec(pos)) && Unicode::isSpace(contents.wc(p))) { pos = p; } } else if (isdelimiter(delimiters, contents.wc(pos))) { while (0 <= (p = contents.dec(pos)) && isdelimiter(delimiters, contents.wc(p))) { pos = p; } } else { while (0 <= (p = contents.dec(pos)) && !isdelimiter(delimiters, contents.wc(p)) && !Unicode::isSpace(contents.wc(p))) { pos = p; } } return(pos); } // Find end of word int TextLabel::wordEnd(int pos) const { FXASSERT(0 <= pos && pos <= contents.length()); if ((pos == contents.length()) || Unicode::isSpace(contents.wc(pos))) { while (pos < contents.length() && Unicode::isSpace(contents.wc(pos))) { pos = contents.inc(pos); } } else if (isdelimiter(delimiters, contents.wc(pos))) { while (pos < contents.length() && isdelimiter(delimiters, contents.wc(pos))) { pos = contents.inc(pos); } } else { while (pos < contents.length() && !isdelimiter(delimiters, contents.wc(pos)) && !Unicode::isSpace(contents.wc(pos))) { pos = contents.inc(pos); } } return(pos); } // Move cursor word right long TextLabel::onCmdCursorWordRight(FXObject*, FXSelector, void*) { setCursorPos(rightWord(cursor)); makePositionVisible(cursor); return(1); } // Move cursor word left long TextLabel::onCmdCursorWordLeft(FXObject*, FXSelector, void*) { setCursorPos(leftWord(cursor)); makePositionVisible(cursor); return(1); } // Move cursor to word start long TextLabel::onCmdCursorWordStart(FXObject*, FXSelector, void*) { setCursorPos(wordStart(cursor)); makePositionVisible(cursor); return(1); } // Move cursor to word end long TextLabel::onCmdCursorWordEnd(FXObject*, FXSelector, void*) { setCursorPos(wordEnd(cursor)); makePositionVisible(cursor); return(1); } // Mark long TextLabel::onCmdMark(FXObject*, FXSelector, void*) { setAnchorPos(cursor); return(1); } // Extend long TextLabel::onCmdExtend(FXObject*, FXSelector, void*) { extendSelection(cursor); return(1); } // Select All long TextLabel::onCmdselectAll(FXObject*, FXSelector, void*) { selectAll(); makePositionVisible(cursor); return(1); } // Deselect All long TextLabel::onCmdDeselectAll(FXObject*, FXSelector, void*) { killSelection(); return(1); } // Copy onto cliboard long TextLabel::onCmdCopySel(FXObject*, FXSelector, void*) { if (hasSelection()) { FXDragType types[4]; types[0] = stringType; types[1] = textType; types[2] = utf8Type; types[3] = utf16Type; if (acquireClipboard(types, 4)) { if (anchor < cursor) { clipped = contents.mid(anchor, cursor-anchor); } else { clipped = contents.mid(cursor, anchor-cursor); } } } return(1); } // Pressed a key long TextLabel::onKeyPress(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; if (isEnabled()) { if (target && target->tryHandle(this, FXSEL(SEL_KEYPRESS, message), ptr)) { return(1); } flags &= ~FLAG_UPDATE; switch (event->code) { case KEY_Right: case KEY_KP_Right: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } if (event->state&CONTROLMASK) { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_WORD_RIGHT), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_RIGHT), NULL); } if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Left: case KEY_KP_Left: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } if (event->state&CONTROLMASK) { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_WORD_LEFT), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_LEFT), NULL); } if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Home: case KEY_KP_Home: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_HOME), NULL); if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_End: case KEY_KP_End: if (!(event->state&SHIFTMASK)) { handle(this, FXSEL(SEL_COMMAND, ID_DESELECT_ALL), NULL); } handle(this, FXSEL(SEL_COMMAND, ID_CURSOR_END), NULL); if (event->state&SHIFTMASK) { handle(this, FXSEL(SEL_COMMAND, ID_EXTEND), NULL); } else { handle(this, FXSEL(SEL_COMMAND, ID_MARK), NULL); } return(1); case KEY_Return: case KEY_KP_Enter: getApp()->beep(); return(1); case KEY_a: if (!(event->state&CONTROLMASK)) { goto ins; } handle(this, FXSEL(SEL_COMMAND, ID_SELECT_ALL), NULL); return(1); case KEY_c: if (!(event->state&CONTROLMASK)) { goto ins; } break; case KEY_F16: // Sun Copy key handle(this, FXSEL(SEL_COMMAND, ID_COPY_SEL), NULL); return(1); default: ins: if ((event->state&(CONTROLMASK|ALTMASK)) || ((FXuchar)event->text[0] < 32)) { return(0); } return(1); } } return(0); } // Key Release long TextLabel::onKeyRelease(FXObject*, FXSelector, void* ptr) { FXEvent* event = (FXEvent*)ptr; if (isEnabled()) { if (target && target->tryHandle(this, FXSEL(SEL_KEYRELEASE, message), ptr)) { return(1); } switch (event->code) { case KEY_Right: case KEY_KP_Right: case KEY_Left: case KEY_KP_Left: case KEY_Home: case KEY_KP_Home: case KEY_End: case KEY_KP_End: case KEY_Insert: case KEY_KP_Insert: case KEY_Delete: case KEY_KP_Delete: case KEY_BackSpace: case KEY_Return: case KEY_F20: // Sun Cut key case KEY_F16: // Sun Copy key case KEY_F18: // Sun Paste key return(1); case KEY_a: case KEY_x: case KEY_c: case KEY_v: if (event->state&CONTROLMASK) { return(1); } break; default: if ((event->state&(CONTROLMASK|ALTMASK)) || ((FXuchar)event->text[0] < 32)) { return(0); } return(1); } } return(0); } // Kill the selection FXbool TextLabel::killSelection() { if (hasSelection()) { releaseSelection(); update(border, border, width-(border<<1), height-(border<<1)); return(true); } return(false); } // Select all text FXbool TextLabel::selectAll() { setAnchorPos(0); setCursorPos(contents.length()); extendSelection(cursor); return(true); } // Set selection FXbool TextLabel::setSelection(int pos, int len) { setAnchorPos(pos); setCursorPos(pos+len); extendSelection(cursor); return(true); } // Extend selection FXbool TextLabel::extendSelection(int pos) { // Don't select text if ncols=0 if (columns == 0) { return(true); } FXDragType types[4]; // Validate position to start of character pos = contents.validate(FXCLAMP(0, pos, contents.length())); // Got a selection at all? if (anchor != pos) { types[0] = stringType; types[1] = textType; types[2] = utf8Type; types[3] = utf16Type; if (!hasSelection()) { acquireSelection(types, 4); } } else { if (hasSelection()) { releaseSelection(); } } update(border, border, width-(border<<1), height-(border<<1)); return(true); } // Change the text and move cursor to end void TextLabel::setText(const FXString& text, FXbool notify) { killSelection(); if (contents != text) { contents = text; anchor = contents.length(); cursor = contents.length(); if (xid) { layout(); } if (notify && target) { target->tryHandle(this, FXSEL(SEL_COMMAND, message), (void*)contents.text()); } } } // Set text color void TextLabel::setTextColor(FXColor clr) { if (textColor != clr) { textColor = clr; update(); } } // Set select background color void TextLabel::setSelBackColor(FXColor clr) { if (selbackColor != clr) { selbackColor = clr; update(); } } // Set selected text color void TextLabel::setSelTextColor(FXColor clr) { if (seltextColor != clr) { seltextColor = clr; update(); } } // Set cursor color void TextLabel::setCursorColor(FXColor clr) { if (clr != cursorColor) { cursorColor = clr; update(); } } // Change number of columns void TextLabel::setNumColumns(int ncols) { if (ncols < 0) { ncols = 0; } if (columns != ncols) { shift = 0; columns = ncols; layout(); // This may not be necessary! recalc(); update(); } } // Set text justify style void TextLabel::setJustify(FXuint style) { FXuint opts = (options&~JUSTIFY_MASK) | (style&JUSTIFY_MASK); if (options != opts) { shift = 0; options = opts; recalc(); update(); } } // Get text justify style FXuint TextLabel::getJustify() const { return(options&JUSTIFY_MASK); } // Clean up TextLabel::~TextLabel() { getApp()->removeTimeout(this, ID_AUTOSCROLL); font = (FXFont*)-1L; } xfe-1.42/src/DirPanel.h0000644000175100017510000001650412746076301011617 00000000000000#ifndef DIRPANEL_H #define DIRPANEL_H #include "DirList.h" #include "Properties.h" #include "InputDialog.h" #include "ArchInputDialog.h" #include "BrowseInputDialog.h" #include class DirPanel : public FXVerticalFrame { FXDECLARE(DirPanel) protected: DirList* list; FXPacker* statusbar; FXLabel* status; FXButton* activeicon; FXString trashlocation; FXString trashfileslocation; FXString trashinfolocation; FXString startlocation; FXDragType urilistType; // Standard uri-list type FXDragType xfelistType; // Xfe, Gnome and XFCE list type FXDragType kdelistType; // KDE list type FXDragType utf8Type; // UTF-8 text type FXbool clipboard_locked; // Clipboard locked to prevent changes when viewing it InputDialog* newdirdialog; ArchInputDialog* archdialog; BrowseInputDialog* operationdialog; InputDialog* operationdialogrename; FXbool fromPaste; FXWindow* focuswindow; FXbool ctrlflag; // Flag to select the right click control menu TextLabel* paneltitle; // Panel title FXbool isactive; // Flag to indicate is panel has keyboard focus FXbool stopListRefresh; // To stop refreshing in some cases time_t curr_mtime; // Current directory mtime FXString curr_dirpath; // Current directory path FXbool allowDirsizeRefresh; // Allow or avoid directory size refresh public: DirPanel(FXWindow* owner, FXComposite* p, FXColor listbackcolor = FXRGB(255, 255, 255), FXColor listforecolor = FXRGB(0, 0, 0), FXbool smoothscroll = true, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); DirPanel() : list(NULL), statusbar(NULL), status(NULL), activeicon(NULL), urilistType(0), xfelistType(0), kdelistType(0), utf8Type(0), clipboard_locked(false), newdirdialog(NULL), archdialog(NULL), operationdialog(NULL), operationdialogrename(NULL), fromPaste(false), focuswindow(NULL), ctrlflag(false), paneltitle(NULL), isactive(false), stopListRefresh(false), curr_mtime(0), allowDirsizeRefresh(false) {} virtual void create(); ~DirPanel(); enum { ID_FILELIST=FXVerticalFrame::ID_LAST, ID_STOP_LIST_REFRESH_TIMER, ID_EXPANDTREE, ID_TOGGLE_HIDDEN, ID_COLLAPSEDIR, ID_COLLAPSETREE, ID_PROPERTIES, ID_ARCHIVE, ID_DIR_COPY, ID_DIR_CUT, ID_DIR_COPYTO, ID_DIR_MOVETO, ID_DIR_RENAME, ID_DIR_SYMLINK, ID_DIR_DELETE, ID_DIR_TRASH, ID_DIR_RESTORE, ID_NEW_DIR, ID_XTERM, ID_COPY_CLIPBOARD, ID_CUT_CLIPBOARD, ID_ADDCOPY_CLIPBOARD, ID_ADDCUT_CLIPBOARD, ID_PASTE_CLIPBOARD, ID_TOGGLE_TREE, ID_TITLE, ID_DIRSIZE_REFRESH, ID_POPUP_MENU, #if defined(linux) ID_MOUNT, ID_UMOUNT, #endif ID_LAST, }; long exploreUp(DirItem* item, const DirItem* rootitem, const int task); long exploreDown(DirItem* item, const DirItem* rootitem, const int task); public: long onClipboardGained(FXObject*, FXSelector, void*); long onClipboardLost(FXObject*, FXSelector, void*); long onClipboardRequest(FXObject*, FXSelector, void*); long onCmdToggleHidden(FXObject*, FXSelector, void*); long onUpdToggleHidden(FXObject* sender, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onExpandTree(FXObject*, FXSelector, void*); long onCollapseTree(FXObject*, FXSelector, void*); long onCmdProperties(FXObject*, FXSelector, void*); long onCmdAddToArch(FXObject*, FXSelector, void*); long onCmdDirMan(FXObject*, FXSelector, void*); long onCmdDirDelete(FXObject*, FXSelector, void*); long onCmdDirTrash(FXObject*, FXSelector, void*); long onCmdDirRestore(FXObject*, FXSelector, void*); long onCmdNewDir(FXObject*, FXSelector, void*); long onCmdXTerm(FXObject*, FXSelector, void*); long onCmdCopyCut(FXObject*, FXSelector, void*); long onCmdPaste(FXObject*, FXSelector, void*); long onUpdPaste(FXObject*, FXSelector, void*); long onCmdDirectory(FXObject*, FXSelector, void*); long onCmdToggleTree(FXObject*, FXSelector sel, void*); long onCmdDirsizeRefresh(FXObject*, FXSelector, void*); long onUpdToggleTree(FXObject*, FXSelector, void*); long onUpdMount(FXObject*, FXSelector, void*); long onUpdUnmount(FXObject*, FXSelector, void*); long onUpdMenu(FXObject*, FXSelector, void*); long onUpdDirTrash(FXObject*, FXSelector, void*); long onUpdDirRestore(FXObject*, FXSelector, void*); long onUpdDirDelete(FXObject*, FXSelector, void*); long onUpdTitle(FXObject*, FXSelector, void*); long onUpdStatus(FXObject*, FXSelector, void*); long onExpand(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onCmdFocus(FXObject*, FXSelector, void*); long onCmdStopListRefreshTimer(FXObject*, FXSelector, void*); long onUpdDirsizeRefresh(FXObject*, FXSelector, void*); #if defined(linux) long onCmdMount(FXObject*, FXSelector, void*); #endif public: void setActive(); void setInactive(); // Toggle dirsize refresh and force refresh if flag is true void setAllowDirsizeRefresh(FXbool flag); // Change sort function void setSortFunc(FXTreeListSortFunc func) { list->setSortFunc(func); } // Return sort function FXTreeListSortFunc getSortFunc() const { return(list->getSortFunc()); } // Change default cursor void setDefaultCursor(FXCursor* cur) { list->setDefaultCursor(cur); } // Set current directory void setDirectory(const FXString& pathname, FXbool notify = false) { list->setDirectory(pathname, notify); } // Get current directory FXString getDirectory(void) const { return(list->getDirectory()); } // Get current item DirItem* getCurrentItem(void) const { return((DirItem*)list->getCurrentItem()); } // Get current path name FXString getItemPathname(const DirItem* item) const { return(list->getItemPathname((TreeItem*)item)); } // Hidden files shown? FXbool shownHiddenFiles() const { return(list->shownHiddenFiles()); } // Show hidden files void showHiddenFiles(FXbool shown) { list->showHiddenFiles(shown); } // Set focus on list void setFocusOnList(void) { list->setFocus(); } // Is panel active? FXbool isActive(void) { return(isactive); } // Force dir panel refresh void forceRefresh(void) { list->onCmdRefresh(0, 0, 0); } DirList* getList(void) { return(list); } #if defined(linux) // Force devices refresh void forceDevicesRefresh(void) { list->onMtdevicesRefresh(0, 0, 0); list->onUpdevicesRefresh(0, 0, 0); } #endif // Toggle status bar void toggleStatusbar(void) { statusbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } }; #endif xfe-1.42/src/FilePanel.h0000644000175100017510000003776512746075075012003 00000000000000#ifndef FILEPANEL_H #define FILEPANEL_H #include #include "Properties.h" #include "FileList.h" #include "PathLinker.h" #include "InputDialog.h" #include "BrowseInputDialog.h" #include "HistInputDialog.h" #include "ArchInputDialog.h" // Clipboard operations enum { COPY_CLIPBOARD, CUT_CLIPBOARD, }; // Typedef for the map between program string identifiers and integer indexes typedef std::map progsmap; class FilePanel : public FXVerticalFrame { FXDECLARE(FilePanel) protected: FilePanel* current; FileList* list; FilePanel* next; DirPanel* dirpanel; PathLinker* pathlink; FXPacker* statusbar; FXLabel* statuslabel; FXLabel* filterlabel; FXHorizontalSeparator* panelsep; FXButton* activeicon; FXString name; FXbool ctrlkey; FXbool selmult; FXString trashlocation; FXString trashfileslocation; FXString trashinfolocation; FXString startlocation; FXDragCorner* corner; FXDragType urilistType; // Standard uri-list type FXDragType xfelistType; // Xfe, Gnome and XFCE list type FXDragType kdelistType; // KDE list type FXDragType utf8Type; // UTF-8 text type FXbool clipboard_locked; // Clipboard locked to prevent changes when viewing it InputDialog* newfiledialog; InputDialog* newdirdialog; InputDialog* newlinkdialog; HistInputDialog* opendialog; ArchInputDialog* archdialog; HistInputDialog* filterdialog; BrowseInputDialog* operationdialogsingle; InputDialog* operationdialogrename; BrowseInputDialog* operationdialogmultiple; BrowseInputDialog* comparedialog; FXbool fromPaste; FXbool ctrl; // Flag to select the right click control menu FXbool shiftf10; // Flag indicating that Shift-F10 was pressed TextLabel* pathtext; FXbool isactive; FXbool stopListRefresh; FXColor attenclr; progsmap progs; // Map between program string identifiers and integer indexes public: FilePanel(FXWindow* owner, const char*, FXComposite*, DirPanel*, FXuint name_size = 200, FXuint size_size = 60, FXuint type_size = 100, FXuint ext_size = 100, FXuint modd_size = 150, FXuint user_size = 50, FXuint grou_size = 50, FXuint attr_size = 100, FXuint deldate_size = 150, FXuint origpath_size = 200, FXbool showthumbs = false, FXColor listbackcolor = FXRGB(255, 255, 255), FXColor listforecolor = FXRGB(0, 0, 0), FXColor attentioncolor = FXRGB(255, 0, 0), FXbool smoothscroll = true, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); FilePanel() : current(NULL), list(NULL), next(NULL), dirpanel(NULL), pathlink(NULL), statusbar(NULL), statuslabel(NULL), filterlabel(NULL), panelsep(NULL), activeicon(NULL), ctrlkey(false), selmult(false), corner(NULL), urilistType(0), xfelistType(0), kdelistType(0), utf8Type(0), clipboard_locked(false), newfiledialog(NULL), newdirdialog(NULL), newlinkdialog(NULL), opendialog(NULL), archdialog(NULL), filterdialog(NULL), operationdialogsingle(NULL), operationdialogrename(NULL), operationdialogmultiple(NULL), comparedialog(NULL), fromPaste(false), ctrl(false), shiftf10(false), pathtext(NULL), isactive(false), stopListRefresh(false), attenclr(FXRGB(0, 0, 0)) {} virtual void create(); ~FilePanel(); void setActive(); void setInactive(FXbool = true); void Next(FilePanel*); void updateLocation(); void showCorner(FXbool show); void showActiveIcon(FXbool show); void execFile(FXString pathname); int readScriptDir(FXMenuPane* scriptsmenu, FXString dir); enum { ID_FILELIST=FXVerticalFrame::ID_LAST, ID_STOP_LIST_REFRESH_TIMER, ID_DIRECTORY_UP, ID_VIEW, ID_EDIT, ID_COMPARE, ID_PROPERTIES, ID_FILE_COPY, ID_FILE_CUT, ID_FILE_COPYTO, ID_FILE_MOVETO, ID_FILE_RENAME, ID_FILE_SYMLINK, ID_FILE_DELETE, ID_FILE_TRASH, ID_FILE_RESTORE, ID_FILE_ASSOC, ID_POPUP_MENU, ID_XTERM, ID_EXTRACT, ID_RUN_SCRIPT, ID_GO_SCRIPTDIR, ID_EXTRACT_TO_FOLDER, ID_EXTRACT_HERE, ID_DIR_USAGE, ID_NEW_DIR, ID_NEW_FILE, ID_NEW_SYMLINK, ID_ADD_TO_ARCH, ID_GO_HOME, ID_GO_TRASH, ID_COPY_CLIPBOARD, ID_CUT_CLIPBOARD, ID_ADDCOPY_CLIPBOARD, ID_ADDCUT_CLIPBOARD, ID_PASTE_CLIPBOARD, ID_OPEN, ID_OPEN_WITH, ID_FILTER, ID_FILTER_CURRENT, ID_STATUS, ID_LABEL, ID_REFRESH, ID_SELECT_ALL, ID_DESELECT_ALL, ID_SELECT_INVERSE, ID_SHOW_BIG_ICONS, ID_SHOW_MINI_ICONS, ID_SHOW_DETAILS, ID_TOGGLE_HIDDEN, ID_TOGGLE_THUMBNAILS, #if defined(linux) ID_MOUNT, ID_UMOUNT, ID_PKG_QUERY, ID_PKG_INSTALL, ID_PKG_UNINSTALL, #endif ID_LAST, }; public: long onClipboardGained(FXObject*, FXSelector, void*); long onClipboardLost(FXObject*, FXSelector, void*); long onClipboardRequest(FXObject*, FXSelector, void*); long onUpdStatus(FXObject*, FXSelector, void*); long onCmdItemDoubleClicked(FXObject*, FXSelector, void*); long onCmdItemClicked(FXObject*, FXSelector, void*); long onCmdFocus(FXObject*, FXSelector, void*); long onCmdItemFilter(FXObject*, FXSelector, void*); long onCmdCopyCut(FXObject*, FXSelector, void*); long onCmdPaste(FXObject*, FXSelector, void*); long onCmdDirectoryUp(FXObject*, FXSelector, void*); long onCmdGoHome(FXObject*, FXSelector, void*); long onCmdGoTrash(FXObject*, FXSelector, void*); long onCmdEdit(FXObject*, FXSelector, void*); long onCmdCompare(FXObject*, FXSelector, void*); long onCmdProperties(FXObject*, FXSelector, void*); long onCmdFileMan(FXObject*, FXSelector, void*); long onCmdFileTrash(FXObject*, FXSelector, void*); long onCmdFileRestore(FXObject*, FXSelector, void*); long onCmdFileDelete(FXObject*, FXSelector, void*); long onCmdFileAssoc(FXObject*, FXSelector, void*); long onCmdNewDir(FXObject*, FXSelector, void*); long onCmdNewFile(FXObject*, FXSelector, void*); long onCmdNewSymlink(FXObject*, FXSelector, void*); long onCmdOpen(FXObject*, FXSelector, void*); long onCmdOpenWith(FXObject*, FXSelector, void*); long onCmdXTerm(FXObject*, FXSelector, void*); long onCmdExtract(FXObject*, FXSelector, void*); long onCmdExtractToFolder(FXObject*, FXSelector, void*); long onCmdExtractHere(FXObject*, FXSelector, void*); long onCmdRefresh(FXObject*, FXSelector, void*); long onCmdSelect(FXObject*, FXSelector, void*); long onCmdPopupMenu(FXObject*, FXSelector, void*); long onCmdShow(FXObject*, FXSelector, void*); long onUpdShow(FXObject*, FXSelector, void*); long onUpdUp(FXObject*, FXSelector, void*); long onUpdPaste(FXObject*, FXSelector, void*); long onCmdToggleHidden(FXObject*, FXSelector, void*); long onUpdToggleHidden(FXObject*, FXSelector, void*); long onCmdToggleThumbnails(FXObject*, FXSelector, void*); long onCmdRunScript(FXObject*, FXSelector, void*); long onCmdDirUsage(FXObject*, FXSelector, void*); long onUpdDirUsage(FXObject*, FXSelector, void*); long onUpdToggleThumbnails(FXObject*, FXSelector, void*); long onCmdAddToArch(FXObject*, FXSelector, void*); long onUpdMenu(FXObject*, FXSelector, void*); long onUpdOpen(FXObject*, FXSelector, void*); long onUpdAddToArch(FXObject*, FXSelector, void*); long onUpdSelMult(FXObject*, FXSelector, void*); long onUpdCompare(FXObject*, FXSelector, void*); long onUpdFileDelete(FXObject*, FXSelector, void*); long onUpdFileTrash(FXObject*, FXSelector, void*); long onUpdFileRestore(FXObject*, FXSelector, void*); long onUpdGoTrash(FXObject*, FXSelector, void*); void updatePath(); long onCmdStopListRefreshTimer(FXObject*, FXSelector, void*); long onUpdRunScript(FXObject*, FXSelector, void*); long onCmdGoScriptDir(FXObject*, FXSelector, void*); #if defined(linux) long onCmdMount(FXObject*, FXSelector, void*); long onUpdMount(FXObject*, FXSelector, void*); long onUpdUnmount(FXObject*, FXSelector, void*); long onCmdPkgQuery(FXObject*, FXSelector, void*); long onUpdPkgQuery(FXObject*, FXSelector, void*); long onCmdPkgInstall(FXObject*, FXSelector, void*); long onCmdPkgUninstall(FXObject*, FXSelector, void*); #endif public: // Change path text void setPathText(FXString title) { pathtext->setText(title); } // Toggle FileList refresh void setAllowRefresh(FXbool flag) { list->setAllowRefresh(flag); } // Change sort function void setSortFunc(IconListSortFunc func) { list->setSortFunc(func); } // Return sort function IconListSortFunc getSortFunc() const { return(list->getSortFunc()); } // Change default cursor void setDefaultCursor(FXCursor* cur) { list->setDefaultCursor(cur); } // Deselect all items void deselectAll(void) { list->onCmdDeselectAll(0,0,0); } // Redraw file list void redraw(void) { list->recalc(); } // Return a pointer on the current panel FilePanel* getCurrent(void) const { return(current); } // Return a pointer on the next panel FilePanel* getNext(void) const { return(next); } // Set current directory void setDirectory(FXString pathname, FXbool notify = false) { list->setDirectory(pathname, notify); } // Get current directory FXString getDirectory(void) const { return(list->getDirectory()); } // Get associations FileDict* getAssociations(void) { return(list->getAssociations()); } // Get header size given its index int getHeaderSize(int index) const { return(list->getHeaderSize(index)); } // Hidden files shown? FXbool shownHiddenFiles(void) const { return(list->shownHiddenFiles()); } // Show hidden files void showHiddenFiles(FXbool shown) { list->showHiddenFiles(shown); } // Thumbnails shown? FXbool shownThumbnails(void) const { return(list->shownThumbnails()); } // Show thumbnails void showThumbnails(FXbool shown) { list->showThumbnails(shown); } // Get the current icon list style FXuint getListStyle(void) const { return(list->getListStyle()); } // Get the current icon list style void setListStyle(FXuint style) { list->setListStyle(style); } // Return pointer on the file list FileList* getList(void) const { return(list); } // Set ignore case void setIgnoreCase(FXbool ignorecase) { list->setIgnoreCase(ignorecase); } // Get ignore case FXbool getIgnoreCase(void) { return(list->getIgnoreCase()); } // Set directory first void setDirsFirst(FXbool dirsfirst) { list->setDirsFirst(dirsfirst); } // Set directory first FXbool getDirsFirst(void) { return(list->getDirsFirst()); } // Set focus on file list void setFocusOnList(void) { list->setFocus(); } // Is panel active? FXbool isActive(void) { return(isactive); } // Get current item int getCurrentItem(void) const { return(list->getCurrentItem()); } // Set current item void setCurrentItem(int item) { list->setCurrentItem(item); list->makeItemVisible(item); } // Select item void selectItem(int item) { list->selectItem(item); } // Deselect item void deselectItem(int item) { list->deselectItem(item); } // Is item selected? FXbool isItemSelected(int item) { return(list->isItemSelected(item)); } // Get number od selected items int getNumSelectedItems(void) { return(list->getNumSelectedItems()); } // Status bar is shown? FXbool statusbarShown(void) { return(statusbar->shown()); } // Toggle status bar void toggleStatusbar(void) { statusbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } // Set path of the path linker void setPathLink(FXString pathname) { pathlink->setPath(pathname); } // Get back history first item StringItem* backhistGetFirst(void) { return(list->backhist->getFirst()); } // Get forward history first item StringItem* forwardhistGetFirst(void) { return(list->forwardhist->getFirst()); } // Get back history next item StringItem* backhistGetNext(StringItem* item) { return(list->backhist->getNext(item)); } // Get forward history next item StringItem* forwardhistGetNext(StringItem* item) { return(list->forwardhist->getNext(item)); } // Get back history string from item FXString backhistGetString(StringItem* item) { return(list->backhist->getString(item)); } // Get forward history string from item FXString forwardhistGetString(StringItem* item) { return(list->forwardhist->getString(item)); } // Remove back history first item void backhistRemoveFirstItem(void) { list->backhist->removeFirstItem(); } // Remove forward history first item void forwardhistRemoveFirstItem(void) { list->forwardhist->removeFirstItem(); } // Insert back history first item void backhistInsertFirstItem(FXString item) { list->backhist->insertFirstItem(item); } // Insert forward history first item void forwardhistInsertFirstItem(FXString item) { list->forwardhist->insertFirstItem(item); } // Get back history number of items int backhistGetNumItems(void) { if (list->backhist) { return(list->backhist->getNumItems()); } else { return(0); } } // Get forward history number of items int forwardhistGetNumItems(void) { if (list->forwardhist) { return(list->forwardhist->getNumItems()); } else { return(0); } } // Remove all back history items void backhistRemoveAllItems(void) { list->backhist->removeAllItems(); } // Remove all forward history items void forwardhistRemoveAllItems(void) { list->forwardhist->removeAllItems(); } // Remove all back history items before item void backhistRemoveAllItemsBefore(StringItem* item) { list->backhist->removeAllItemsBefore(item); } // Remove all forward history items before item void forwardhistRemoveAllItemsBefore(StringItem* item) { list->forwardhist->removeAllItemsBefore(item); } // Get back history item at position pos StringItem* backhistGetItemAtPos(int pos) { return(list->backhist->getItemAtPos(pos)); } // Get forward history item at position pos StringItem* forwardhistGetItemAtPos(int pos) { return(list->forwardhist->getItemAtPos(pos)); } // Show panel separator void showPanelSeparator(void) { panelsep->setSeparatorStyle(SEPARATOR_GROOVE); } // Hide panel separator void hidePanelSeparator(void) { panelsep->setSeparatorStyle(SEPARATOR_NONE); } }; #endif xfe-1.42/src/Properties.cpp0000644000175100017510000021675012634235113012607 00000000000000// Properties box #include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include #include #if defined(linux) #include #endif #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "File.h" #include "DialogBox.h" #include "FileDialog.h" #include "FilePanel.h" #include "XFileExplorer.h" #include "MessageBox.h" #include "Properties.h" // Global variables extern FXMainWindow* mainWindow; extern FXStringDict* fsdevices; extern FXString xdgdatahome; // Map FXDEFMAP(PermFrame) PermFrameMap[] = {}; // Object implementation FXIMPLEMENT(PermFrame, FXVerticalFrame, PermFrameMap, ARRAYNUMBER(PermFrameMap)) PermFrame::PermFrame(FXComposite* parent, FXObject* target) : FXVerticalFrame(parent, FRAME_RAISED) { FXHorizontalFrame* accessframe = new FXHorizontalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* chmodframe = new FXHorizontalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); // Permissions FXGroupBox* group1 = new FXGroupBox(accessframe, _("User"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); ur = new FXCheckButton(group1, _("Read"), target, PropertiesBox::ID_RUSR); uw = new FXCheckButton(group1, _("Write"), target, PropertiesBox::ID_WUSR); ux = new FXCheckButton(group1, _("Execute"), target, PropertiesBox::ID_XUSR); FXGroupBox* group2 = new FXGroupBox(accessframe, _("Group"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); gr = new FXCheckButton(group2, _("Read"), target, PropertiesBox::ID_RGRP); gw = new FXCheckButton(group2, _("Write"), target, PropertiesBox::ID_WGRP); gx = new FXCheckButton(group2, _("Execute"), target, PropertiesBox::ID_XGRP); FXGroupBox* group3 = new FXGroupBox(accessframe, _("Others"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); or_ = new FXCheckButton(group3, _("Read"), target, PropertiesBox::ID_ROTH); ow = new FXCheckButton(group3, _("Write"), target, PropertiesBox::ID_WOTH); ox = new FXCheckButton(group3, _("Execute"), target, PropertiesBox::ID_XOTH); FXGroupBox* group4 = new FXGroupBox(accessframe, _("Special"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); suid = new FXCheckButton(group4, _("Set UID"), target, PropertiesBox::ID_SUID); sgid = new FXCheckButton(group4, _("Set GID"), target, PropertiesBox::ID_SGID); svtx = new FXCheckButton(group4, _("Sticky"), target, PropertiesBox::ID_SVTX); // Owner FXGroupBox* group5 = new FXGroupBox(chmodframe, _("Owner"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(group5, _("User")); user = new FXComboBox(group5, 5, NULL, 0, COMBOBOX_STATIC|LAYOUT_FILL_X); user->setNumVisible(5); new FXLabel(group5, _("Group")); grp = new FXComboBox(group5, 5, NULL, 0, COMBOBOX_STATIC|LAYOUT_FILL_X); grp->setNumVisible(5); // User names (sorted in ascending order) struct passwd* pwde; while ((pwde = getpwent())) { user->appendItem(pwde->pw_name); } endpwent(); user->setSortFunc(FXList::ascending); user->sortItems(); // Group names (sorted in ascending order) struct group* grpe; while ((grpe = getgrent())) { grp->appendItem(grpe->gr_name); } endgrent(); grp->setSortFunc(FXList::ascending); grp->sortItems(); // Initializations cmd = 0; flt = 0; // Command FXGroupBox* group6 = new FXGroupBox(chmodframe, _("Command"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXMatrix* matrix6 = new FXMatrix(group6, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); cmd_radiotarget.connect(cmd); set = new FXRadioButton(matrix6, _("Set marked"), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_SET); rec = new FXCheckButton(matrix6, _("Recursively"), NULL, 0); clear = new FXRadioButton(matrix6, _("Clear marked"), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_CLEAR); flt_radiotarget.connect(flt); all = new FXRadioButton(matrix6, _("Files and folders"), &flt_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_ALL); add = new FXRadioButton(matrix6, _("Add marked"), &cmd_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_ADD); dironly = new FXRadioButton(matrix6, _("Folders only"), &flt_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_DIRONLY); own = new FXCheckButton(matrix6, _("Owner only"), NULL, 0); fileonly = new FXRadioButton(matrix6, _("Files only"), &flt_radiotarget, FXDataTarget::ID_OPTION+PropertiesBox::ID_FILEONLY); } // Map FXDEFMAP(PropertiesBox) PropertiesBoxMap[] = { FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_ACCEPT_SINGLE, PropertiesBox::onCmdAcceptSingle), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_ACCEPT_MULT, PropertiesBox::onCmdAcceptMult), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_CANCEL, PropertiesBox::onCmdCancel), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_RUSR, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_WUSR, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_XUSR, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_RGRP, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_WGRP, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_XGRP, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_ROTH, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_WOTH, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_XOTH, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_SUID, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_SGID, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_SVTX, PropertiesBox::onCmdCheck), FXMAPFUNC(SEL_UPDATE, 0, PropertiesBox::onUpdSizeAndPerm), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_SET, PropertiesBox::onCmdCommand), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_CLEAR, PropertiesBox::onCmdCommand), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_ADD, PropertiesBox::onCmdCommand), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_DIRONLY, PropertiesBox::onCmdFilter), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_FILEONLY, PropertiesBox::onCmdFilter), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_ALL, PropertiesBox::onCmdFilter), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_BIG_ICON, PropertiesBox::onCmdBrowseIcon), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_MINI_ICON, PropertiesBox::onCmdBrowseIcon), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_BROWSE_OPEN, PropertiesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_BROWSE_VIEW, PropertiesBox::onCmdBrowse), FXMAPFUNC(SEL_COMMAND, PropertiesBox::ID_BROWSE_EDIT, PropertiesBox::onCmdBrowse), FXMAPFUNC(SEL_KEYPRESS, 0, PropertiesBox::onCmdKeyPress), FXMAPFUNC(SEL_CHORE, PropertiesBox::ID_WATCHPROCESS, PropertiesBox::onWatchProcess), #ifdef STARTUP_NOTIFICATION FXMAPFUNC(SEL_UPDATE, PropertiesBox::ID_SNDISABLE, PropertiesBox::onUpdSnDisable), #endif }; // Object implementation FXIMPLEMENT(PropertiesBox, DialogBox, PropertiesBoxMap, ARRAYNUMBER(PropertiesBoxMap)) // Construct window for one file PropertiesBox::PropertiesBox(FXWindow* win, FXString file, FXString path) : DialogBox(win, _("Properties"), DECOR_TITLE|DECOR_BORDER|DECOR_MAXIMIZE|DECOR_STRETCHABLE|DECOR_CLOSE) { FXulong filesize; FXString mod, changed, accessed; FXString grpid, usrid; FXLabel* sizelabel = NULL; struct stat linfo; FXString type = "", extension, extension2, fileassoc; FXbool isLink, isBrokenLink; FXString pathname, referredpath; char mnttype[64], used[64], avail[64], pctr[64], size[64]; char buf[MAXPATHLEN+1]; FXString hsize; FILE* p; // Trash locations trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Contents FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Accept if (file != "..") { FXButton* ok = new FXButton(buttons, _("&Accept"), NULL, this, PropertiesBox::ID_ACCEPT_SINGLE, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); ok->addHotKey(KEY_Return); } // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, PropertiesBox::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Switcher FXTabBook* tabbook = new FXTabBook(contents, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT); // First item is General new FXTabItem(tabbook, _("&General"), NULL); FXPacker* genpack = new FXPacker(tabbook, FRAME_RAISED); FXGroupBox* generalgroup = new FXGroupBox(genpack, FXString::null, FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXVerticalFrame* generalframe = new FXVerticalFrame(generalgroup, LAYOUT_FILL_X|LAYOUT_FILL_Y); // Second item is Access Permissions FXTabItem* permtab = new FXTabItem(tabbook, _("&Permissions"), NULL); perm = new PermFrame(tabbook, this); // Permission tab is disabled for parent directory if (file == "..") { permtab->disable(); } // Third tab - file associations FXTabItem* fassoctab = new FXTabItem(tabbook, _("&File Associations"), NULL); FXPacker* fassocpack = new FXPacker(tabbook, FRAME_RAISED); FXGroupBox* fassocgroup = new FXGroupBox(fassocpack, FXString::null, FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXVerticalFrame* contassoc = new FXVerticalFrame(fassocgroup, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXMatrix* matrix = new FXMatrix(contassoc, 3, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y); fassoctab->disable(); new FXLabel(matrix, _("Extension:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); // Use a read-only FXTextField instead of a FXLabel, to allow long strings ext = new FXTextField(matrix, 20, NULL, 0, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y|TEXTFIELD_READONLY|_TEXTFIELD_NOFRAME); ext->setBackColor(getApp()->getBaseColor()); new FXLabel(matrix, "", NULL, 0); new FXLabel(matrix, _("Description:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); descr = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); new FXLabel(matrix, "", NULL, 0); new FXLabel(matrix, _("Open:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); open = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_OPEN, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 10, 10); int is_ar = false; FXString viewlbl = _("View:"); FXString editlbl = _("Edit:"); extension = file.rafter('.', 1).lower(); if ((extension == "gz") || (extension == "tgz") || (extension == "tar") || (extension == "taz") || (extension == "bz2") || (extension == "tbz2") || (extension == "tbz") || (extension == "xz") || (extension == "txz") || (extension == "zip") || (extension == "7z") || (extension == "Z") || (extension == "lzh") || (extension == "rar") || (extension == "ace") || (extension == "arj")) { is_ar = true; // archive viewlbl = _("Extract:"); } #if defined(linux) else if (extension == "rpm") { editlbl = _("Install/Upgrade:"); } #endif new FXLabel(matrix, viewlbl, NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); view = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_VIEW, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 10, 10); if (!is_ar) { new FXLabel(matrix, editlbl, NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); edit = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BROWSE_EDIT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 10, 10); } else { edit = NULL; } new FXLabel(matrix, _("Big Icon:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); bigic = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); bigicbtn = new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_BIG_ICON, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_FILL_X|LAYOUT_CENTER_Y, 0, 0, 0, 0, 10, 10); new FXLabel(matrix, _("Mini Icon:"), NULL, JUSTIFY_LEFT|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_CENTER_Y); miniic = new FXTextField(matrix, 30, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW|LAYOUT_FILL_X|LAYOUT_CENTER_Y); miniicbtn = new FXButton(matrix, _("\tSelect file..."), filedialogicon, this, ID_MINI_ICON, FRAME_RAISED|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 10, 10); // File name new FXLabel(generalframe, _("Name"), NULL, JUSTIFY_LEFT); input = new FXTextField(generalframe, 60, NULL, 0, FRAME_THICK|FRAME_SUNKEN|LAYOUT_SIDE_TOP|LAYOUT_FILL_X); // Complete file path name pathname = path+PATHSEPSTRING+file; parentdir = path; filename = file; // Unused in this case files = NULL; paths = NULL; // Initialize mount point flag isMountpoint = false; // Warn if non UTF-8 file name if (!isUtf8(pathname.text(), pathname.length())) { new FXLabel(generalframe, _("=> Warning: file name is not UTF-8 encoded!"), NULL, LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_ROW); } // Get file/link stat info if (lstatrep(pathname.text(), &linfo) != 0) { return; } // Obtain user name usrid = FXSystem::userName(linfo.st_uid); // Obtain group name grpid = FXSystem::groupName(linfo.st_gid); perm->user->setText(usrid); perm->grp->setText(grpid); oldgrp = grpid; oldusr = usrid; // Test if link or broken link // When valid link, get the referred file path isLink = S_ISLNK(linfo.st_mode); isBrokenLink = false; if (isLink) { // Broken link struct stat info; if (statrep(pathname.text(), &info) != 0) { isBrokenLink = true; } // Get the path name of the linked file referredpath = ::readLink(pathname); } orig_mode = linfo.st_mode; // Initialize exec flag executable = false; // Read time format FXString timeformat = getApp()->reg().readStringEntry("SETTINGS", "time_format", DEFAULT_TIME_FORMAT); // Mod time of the file / link mod = FXSystem::time(timeformat.text(), linfo.st_mtime); // Change time of the file / link changed = FXSystem::time(timeformat.text(), linfo.st_ctime); // Accessed time of the file / link accessed = FXSystem::time(timeformat.text(), linfo.st_atime); // Size of the file / link filesize = (FXulong)linfo.st_size; // Is it a directory? nbseldirs = 0; isDirectory = S_ISDIR(linfo.st_mode); if (isDirectory) { // Directory path FXString dirpath = FXPath::absolute(parentdir, file); #if defined(linux) FILE* mtab = setmntent(MTAB_PATH, "r"); struct mntent* mnt; if (mtab) { while ((mnt = getmntent(mtab))) { if (!streq(mnt->mnt_type, MNTTYPE_IGNORE) && !streq(mnt->mnt_type, MNTTYPE_SWAP)) { if (streq(mnt->mnt_dir, dirpath.text())) { isMountpoint = true; snprintf(buf, sizeof(buf)-1, _("Filesystem (%s)"), mnt->mnt_fsname); type = buf; strlcpy(mnttype, mnt->mnt_type, strlen(mnt->mnt_type)+1); } } } endmntent(mtab); } #endif // If it is a mount point if (isMountpoint) { // Caution : use the -P option to be POSIX compatible! snprintf(buf, sizeof(buf)-1, "df -P -B 1 '%s'", pathname.text()); p = popen(buf, "r"); FXbool success = true; if (fgets(buf, sizeof(buf), p) == NULL) { success = false; } if (fgets(buf, sizeof(buf), p) == NULL) { success = false; } if (success) { strtok(buf, " "); strtok(NULL, " "); char* pstr; pstr = strtok(NULL, " "); strlcpy(used, pstr, strlen(pstr)+1); // get used pstr = strtok(NULL, " "); strlcpy(avail, pstr, strlen(pstr)+1); // get available pstr = strtok(NULL, " "); strlcpy(pctr, pstr, strlen(pstr)+1); // get percentage } else { strlcpy(used, "", 1); strlcpy(avail, "", 1); strlcpy(pctr, "", 1); } pclose(p); } // If it is a folder else { type = _("Folder"); nbseldirs = 1; } } else if (S_ISCHR(linfo.st_mode)) { type = _("Character Device"); } else if (S_ISBLK(linfo.st_mode)) { type = _("Block Device"); } else if (S_ISFIFO(linfo.st_mode)) { type = _("Named Pipe"); } else if (S_ISSOCK(linfo.st_mode)) { type = _("Socket"); } // Regular file or link else { // Try to use association table extension2 = FXPath::name(pathname).rafter('.', 2).lower(); if ((extension2 == "tar.gz") || (extension2 == "tar.bz2") || (extension2 == "tar.xz") || (extension2 == "tar.z")) { extension = extension2; } else { extension = FXPath::name(pathname).rafter('.', 1).lower(); } if (extension != "") { fileassoc = getApp()->reg().readStringEntry("FILETYPES", extension.text(), ""); } // If we have an association if (!fileassoc.empty()) { FXString c; type = fileassoc.section(';', 1); if (type == "") { if (linfo.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) { type = _("Executable"); executable = true; } else { type = _("Document"); } } ext->setText(extension); c = fileassoc.section(';', 0); descr->setText(fileassoc.section(';', 1)); open->setText(c.section(',', 0)); view->setText(c.section(',', 1)); if (edit) { edit->setText(c.section(',', 2)); } bigic->setText(fileassoc.section(';', 2)); miniic->setText(fileassoc.section(';', 3)); if (!isLink) { fassoctab->enable(); } // Load big and mini icons FXString iconpath = getApp()->reg().readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); FXIcon* bigicon = loadiconfile(getApp(), iconpath, bigic->getText()); if (bigicon) { bigicbtn->setIcon(bigicon); } FXIcon* miniicon = loadiconfile(getApp(), iconpath, miniic->getText()); if (miniicon) { miniicbtn->setIcon(miniicon); } } else { ext->setText(extension); if (linfo.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) { type = _("Executable"); executable = true; } else { type = _("Document"); } if (!isLink) { fassoctab->enable(); } } } // Modify file type for broken links if (isBrokenLink) { type = _("Broken link"); } // For links, get the file type of the referred file else if (isLink) { struct stat info; if (statrep(referredpath.text(), &info) == 0) { // Folder if (S_ISDIR(info.st_mode)) { type = _("Folder"); } // File else { // Try to use association table extension2 = FXPath::name(referredpath).rafter('.', 2).lower(); if ((extension2 == "tar.gz") || (extension2 == "tar.bz2") || (extension2 == "tar.xz") || (extension2 == "tar.z")) { extension = extension2; } else { extension = FXPath::name(referredpath).rafter('.', 1).lower(); } if (extension != "") { fileassoc = getApp()->reg().readStringEntry("FILETYPES", extension.text(), ""); } // If we have an association if (!fileassoc.empty()) { type = fileassoc.section(';', 1); } // No association else { if (S_ISCHR(info.st_mode)) { type = _("Character Device"); } else if (S_ISBLK(info.st_mode)) { type = _("Block Device"); } else if (S_ISFIFO(info.st_mode)) { type = _("Named Pipe"); } else if (S_ISSOCK(info.st_mode)) { type = _("Socket"); } else if (info.st_mode&(S_IXUSR|S_IXGRP|S_IXOTH)) { type = _("Executable"); executable = true; } else { type = _("Document"); } } } } type = _("Link to ")+type; } // Parent directory name not editable if (file == "..") { input->setEditable(false); } // Root directory name not editable if ((file == "") && (path == ROOTDIR)) { input->setText(ROOTDIR); input->setEditable(false); } else { input->setText(file); } input->setFocus(); // Set permissions perm->ur->setCheck((linfo.st_mode & S_IRUSR) ? true : false); perm->uw->setCheck((linfo.st_mode & S_IWUSR) ? true : false); perm->ux->setCheck((linfo.st_mode & S_IXUSR) ? true : false); perm->gr->setCheck((linfo.st_mode & S_IRGRP) ? true : false); perm->gw->setCheck((linfo.st_mode & S_IWGRP) ? true : false); perm->gx->setCheck((linfo.st_mode & S_IXGRP) ? true : false); perm->or_->setCheck((linfo.st_mode & S_IROTH) ? true : false); perm->ow->setCheck((linfo.st_mode & S_IWOTH) ? true : false); perm->ox->setCheck((linfo.st_mode & S_IXOTH) ? true : false); perm->suid->setCheck((linfo.st_mode & S_ISUID) ? true : false); perm->sgid->setCheck((linfo.st_mode & S_ISGID) ? true : false); perm->svtx->setCheck((linfo.st_mode & S_ISVTX) ? true : false); perm->set->setCheck(); perm->all->setCheck(); FXLabel* mtType = NULL, *mtUsed = NULL, *mtFree = NULL, *fileType = NULL, *fileChanged = NULL, *fileAccessed = NULL, *fileModified = NULL; FXbool isInTrash = false; fileSize = NULL; // Properties are different for mount points if (isMountpoint) { FXGroupBox* mtgroup = new FXGroupBox(generalframe, _("Mount point"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* mtmatrix = new FXMatrix(mtgroup, 2, MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(mtmatrix, _("Mount type:"), NULL, LAYOUT_LEFT|JUSTIFY_LEFT); fileType = new FXLabel(mtmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); new FXLabel(mtmatrix, _("Used:"), NULL, LAYOUT_LEFT); mtUsed = new FXLabel(mtmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); new FXLabel(mtmatrix, _("Free:"), NULL, LAYOUT_LEFT); mtFree = new FXLabel(mtmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); new FXLabel(mtmatrix, _("File system:"), NULL, LAYOUT_LEFT); mtType = new FXLabel(mtmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); new FXLabel(mtmatrix, _("Location:"), NULL, LAYOUT_LEFT); //location=new FXText(mtmatrix,NULL,LAYOUT_FILL_X|LAYOUT_FILL_Y); // Use an FXText to allow long text strings location = new FXLabel(mtmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); } else { FXGroupBox* attrgroup = new FXGroupBox(generalframe, _("Properties"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* attrmatrix = new FXMatrix(attrgroup, 2, MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(attrmatrix, _("Type:"), NULL, LAYOUT_LEFT); fileType = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); sizelabel = new FXLabel(attrmatrix, _("Total size:"), NULL, LAYOUT_LEFT); fileSize = new FXLabel(attrmatrix, "\n", NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); fileSizeDetails = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); new FXLabel(attrmatrix, _("Location:"), NULL, LAYOUT_LEFT); location = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN|JUSTIFY_LEFT); if (isLink & !isBrokenLink) { new FXLabel(attrmatrix, _("Link to:"), NULL, LAYOUT_LEFT); linkto = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); } else if (isBrokenLink) { new FXLabel(attrmatrix, _("Broken link to:"), NULL, LAYOUT_LEFT); linkto = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); } // If the file is in the trash can if (parentdir.left(trashfileslocation.length()) == trashfileslocation) { isInTrash = true; new FXLabel(attrmatrix, _("Original location:"), NULL, LAYOUT_LEFT); origlocation = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); } FXGroupBox* timegroup = new FXGroupBox(generalframe, _("File Time"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); FXMatrix* timematrix = new FXMatrix(timegroup, 2, MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(timematrix, _("Last Modified:"), NULL, LAYOUT_LEFT); fileModified = new FXLabel(timematrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); new FXLabel(timematrix, _("Last Changed:"), NULL, LAYOUT_LEFT); fileChanged = new FXLabel(timematrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); new FXLabel(timematrix, _("Last Accessed:"), NULL, LAYOUT_LEFT); fileAccessed = new FXLabel(timematrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); #ifdef STARTUP_NOTIFICATION sngroup = new FXGroupBox(generalframe, _("Startup Notification"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X); snbutton = new FXCheckButton(sngroup, _("Disable startup notification for this executable"), this, ID_SNDISABLE); sndisable_prev = false; FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); if (snexcepts != "") { FXString entry; for (int i = 0; ; i++) { entry = snexcepts.section(':', i); if (streq(entry.text(), "")) { break; } if (streq(entry.text(), filename.text())) { sndisable_prev = true; break; } } } snbutton->setCheck(sndisable_prev); #endif // If the file is in the trash can if (isInTrash) { new FXLabel(timematrix, _("Deletion Date:"), NULL, LAYOUT_LEFT); deletiondate = new FXLabel(timematrix, FXString::null, NULL, LAYOUT_LEFT|LAYOUT_FILL_COLUMN); } } // File or mount type fileType->setText(type.text()); // Parent directory FXString text = parentdir; // Insert line breaks if text has one line and more than allowed number of characters if ((text.find('\n') < 0) && (text.length() > MAX_MESSAGE_LENGTH)) { // Insert \n in the message every MAX_MESSAGE_LENGTH chars int nb = text.length()/MAX_MESSAGE_LENGTH; for (int n = 1; n <= nb; n++) { text.insert(n*MAX_MESSAGE_LENGTH, '\n'); } } location->setText(text); // Referred file for valid or broken link if (isLink) { linkto->setText(referredpath); } // If directory if (isDirectory) { // if mount point if (isMountpoint) { hsize = ::hSize(used); snprintf(size, sizeof(size)-1, "%s (%s)", hsize.text(), pctr); mtUsed->setText(size); hsize = ::hSize(avail); mtFree->setText(hsize); mtType->setText(mnttype); } // if folder else { fileModified->setText(mod); fileChanged->setText(changed); fileAccessed->setText(accessed); } } // Regular file else { #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, "%lu", filesize); #else snprintf(size, sizeof(size)-1, "%llu", filesize); #endif hsize = ::hSize(size); #if __WORDSIZE == 64 snprintf(size, sizeof(size)-1, _("%s (%lu bytes)"), hsize.text(), filesize); #else snprintf(size, sizeof(size)-1, _("%s (%llu bytes)"), hsize.text(), filesize); #endif sizelabel->setText(_("Size:")); fileSize->setText(size); fileModified->setText(mod); fileChanged->setText(changed); fileAccessed->setText(accessed); } // If the file is in the trash can if (isInTrash) { // Obtain trash base name and sub path FXString subpath = parentdir+PATHSEPSTRING; subpath.erase(0, trashfileslocation.length()+1); FXString trashbasename = subpath.before('/'); if (trashbasename == "") { trashbasename = FXPath::name(pathname); } subpath.erase(0, trashbasename.length()); // Read the .trashinfo file FILE* fp; char line[1024]; FXString origpath = "", delstr = ""; FXlong deldate = 0; FXbool success = true; FXString trashinfopathname = trashinfolocation+PATHSEPSTRING+trashbasename+".trashinfo"; if ((fp = fopen(trashinfopathname.text(), "r")) != NULL) { // Read the first three lines and get the strings if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { origpath = line; origpath = origpath.after('='); origpath = origpath.before('\n'); } if (fgets(line, sizeof(line), fp) == NULL) { success = false; } if (success) { delstr = line; delstr = delstr.after('='); delstr = delstr.before('\n'); } fclose(fp); } // Eventually include sub path in the original path if (subpath == "") { origpath = origpath+subpath; } else { origpath = origpath+subpath+FXPath::name(pathname); } // Convert date deldate = deltime(delstr); if (deldate != 0) { delstr = FXSystem::time(timeformat.text(), deldate); } // Maybe there is no deletion information if (delstr != "") { origlocation->setText(origpath); deletiondate->setText(delstr); } } mode = orig_mode; perm->cmd = PropertiesBox::ID_SET; perm->flt = PropertiesBox::ID_ALL; files = &file; source = file; num = 1; descr_prev = descr->getText(); open_prev = open->getText(); view_prev = view->getText(); if (edit) { edit_prev = edit->getText(); } bigic_prev = bigic->getText(); miniic_prev = miniic->getText(); // Flag used to avoid computing recursive size more than once recsize = true; // Class variable initializations origlocation = NULL; deletiondate = NULL; name_encoding = NULL; username = NULL; grpname = NULL; pid = -1; totaldirsize = 0; totalnbfiles = 0; totalnbsubdirs = 0; } // Construct window for multiple files PropertiesBox::PropertiesBox(FXWindow* win, FXString* file, int n, FXString* path) : DialogBox(win, _("Properties"), DECOR_TITLE|DECOR_BORDER|DECOR_MAXIMIZE|DECOR_STRETCHABLE|DECOR_CLOSE) { struct stat linfo; FXString grpid, usrid; FXString type, extension, extension2, fileassoc; char buf[MAXPATHLEN+1]; int i, nbselfiles = 0, dotdot = 0; FXbool firstfile = true; isDirectory = false; nbseldirs = 0; // Buttons FXHorizontalFrame* buttons = new FXHorizontalFrame(this, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X, 0, 0, 0, 0, 10, 10, 5, 5); // Contents FXVerticalFrame* contents = new FXVerticalFrame(this, LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y); // Accept FXButton* ok = new FXButton(buttons, _("&Accept"), NULL, this, PropertiesBox::ID_ACCEPT_MULT, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); ok->addHotKey(KEY_Return); // Cancel new FXButton(buttons, _("&Cancel"), NULL, this, PropertiesBox::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y, 0, 0, 0, 0, 20, 20); // Switcher FXTabBook* tabbook = new FXTabBook(contents, NULL, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_RIGHT); // First item is General new FXTabItem(tabbook, _("&General"), NULL); FXVerticalFrame* generalframe = new FXVerticalFrame(tabbook, FRAME_RAISED); FXGroupBox* attrgroup = new FXGroupBox(generalframe, _("Properties"), GROUPBOX_TITLE_LEFT|FRAME_GROOVE|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXMatrix* attrmatrix = new FXMatrix(attrgroup, 2, MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(attrmatrix, _("Selection:"), NULL, LAYOUT_LEFT|JUSTIFY_LEFT); FXLabel* filesSelected = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); FXLabel* filesSelectedDetails = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); new FXLabel(attrmatrix, _("Type:"), NULL, LAYOUT_LEFT|JUSTIFY_LEFT); FXLabel* filesType = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); new FXLabel(attrmatrix, _("Total size:"), NULL, LAYOUT_LEFT|JUSTIFY_LEFT); fileSize = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); fileSizeDetails = new FXLabel(attrmatrix, FXString::null, NULL, LAYOUT_LEFT|JUSTIFY_LEFT); // Second item is Access Permissions new FXTabItem(tabbook, _("&Permissions"), NULL); perm = new PermFrame(tabbook, this); // Get file/link info of the first file of the list // This is used as a guess for the username, group and permissions of the whole list FXString pathname = path[0]+PATHSEPSTRING+file[0]; if (lstatrep(pathname.text(), &linfo) != 0) { return; } // Obtain user name usrid = FXSystem::userName(linfo.st_uid); // Obtain group name grpid = FXSystem::groupName(linfo.st_gid); orig_mode = linfo.st_mode; perm->ur->setCheck((linfo.st_mode & S_IRUSR) ? true : false); perm->uw->setCheck((linfo.st_mode & S_IWUSR) ? true : false); perm->ux->setCheck((linfo.st_mode & S_IXUSR) ? true : false); perm->gr->setCheck((linfo.st_mode & S_IRGRP) ? true : false); perm->gw->setCheck((linfo.st_mode & S_IWGRP) ? true : false); perm->gx->setCheck((linfo.st_mode & S_IXGRP) ? true : false); perm->or_->setCheck((linfo.st_mode & S_IROTH) ? true : false); perm->ow->setCheck((linfo.st_mode & S_IWOTH) ? true : false); perm->ox->setCheck((linfo.st_mode & S_IXOTH) ? true : false); perm->suid->setCheck((linfo.st_mode & S_ISUID) ? true : false); perm->sgid->setCheck((linfo.st_mode & S_ISGID) ? true : false); perm->svtx->setCheck((linfo.st_mode & S_ISVTX) ? true : false); perm->add->setCheck(); perm->all->setCheck(); perm->user->setText(usrid); perm->grp->setText(grpid); mode = orig_mode; perm->cmd = PropertiesBox::ID_SET; perm->flt = PropertiesBox::ID_ALL; files = file; paths = path; source = ""; num = n; // Number of selected files / directories and file type for (i = 0; i < num; i++) { FXString pathname = paths[i]+PATHSEPSTRING+files[i]; if (lstatrep(pathname.text(), &linfo) != 0) { continue; } // Special case of the ".." directory if (files[i] == "..") { dotdot = 1; continue; } // Is it a directory? isDirectory = S_ISDIR(linfo.st_mode); if (isDirectory) { nbseldirs++; } else // Regular file { nbselfiles++; // Try to use association table extension2 = files[i].rafter('.', 2).lower(); if ((extension2 == "tar.gz") || (extension2 == "tar.bz2") || (extension2 == "tar.xz") || (extension2 == "tar.z")) { extension = extension2; } else { extension = extension = files[i].rafter('.', 1).lower(); } if (extension != "") { fileassoc = getApp()->reg().readStringEntry("FILETYPES", extension.text(), ""); } // Keep the first encountered type if (firstfile) { // If we have an association if (!fileassoc.empty()) { type = fileassoc.section(';', 1); } else { type = _("Document"); } firstfile = false; } else { // If we have an association if (!fileassoc.empty()) { if (fileassoc.section(';', 1) != type) { type = _("Multiple types"); } } else { if (type != _("Document")) { type = _("Multiple types"); } } } } } // Special cases of the file type if (nbselfiles == 0) { type = _("Folder"); } if ((nbseldirs >= 1) && (nbselfiles >= 1)) { type = _("Multiple types"); } // Number of selected files snprintf(buf, sizeof(buf)-1, _("%d items"), num); filesSelected->setText(buf); snprintf(buf, sizeof(buf)-1, _("%d files, %d folders"), nbselfiles, nbseldirs+dotdot); filesSelectedDetails->setText(buf); // Display type of selected files filesType->setText(type); // Flag used to avoid computing recursive size more than once recsize = true; // Class variable initializations executable = false; isMountpoint = false; #ifdef STARTUP_NOTIFICATION snbutton = NULL; sngroup = NULL; sndisable_prev = false; #endif input = NULL; username = NULL; grpname = NULL; open = NULL; view = NULL; edit = NULL; descr = NULL; bigic = NULL; bigicbtn = NULL; miniic = NULL; miniicbtn = NULL; location = NULL; origlocation = NULL; linkto = NULL; deletiondate = NULL; ext = NULL; name_encoding = NULL; pid = -1; totaldirsize = 0; totalnbfiles = 0; totalnbsubdirs = 0; } // Make window void PropertiesBox::create() { DialogBox::create(); } // Dialog for single selected file long PropertiesBox::onCmdAcceptSingle(FXObject* o, FXSelector s, void* p) { char** str = NULL; int rc = 0; File* f = NULL; char file[MAXPATHLEN]; FXString oldfileassoc, fileassoc, op, v, e; FXbool confirm = false; #ifdef STARTUP_NOTIFICATION if (executable && snbutton->getCheck() != sndisable_prev) { confirm = true; } #endif FXbool cond; if (edit) // Condition is not the same if edit exist or not { cond = (open->getText() != open_prev || view->getText() != view_prev || edit->getText() != edit_prev || descr->getText() != descr_prev || bigic->getText() != bigic_prev || miniic->getText() != miniic_prev); } else { cond = (open->getText() != open_prev || view->getText() != view_prev || descr->getText() != descr_prev || bigic->getText() != bigic_prev || miniic->getText() != miniic_prev); } if (cond) { confirm = true; } // Source and target path names FXString targetpath; FXString sourcepath = parentdir+"/"+source; FXString target = input->getText(); FXString targetparentdir = FXPath::directory(target); if (targetparentdir == "") { targetparentdir = parentdir; targetpath = targetparentdir+"/"+target; } else { targetpath = target; } if (source != target) { confirm = true; } if ((oldgrp != perm->grp->getText()) || (oldusr != perm->user->getText()) || perm->rec->getCheck()) { confirm = true; } if (!perm->own->getCheck() && ((mode != orig_mode) || perm->rec->getCheck())) { confirm = true; } FXbool confirm_properties = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_properties", true); if (confirm == true && confirm_properties == true) { FXString message; if (::isDirectory(sourcepath)) { message = _("Change properties of the selected folder?"); } else { message = _("Change properties of the selected file?"); } MessageBox box(this, _("Confirm Change Properties"), message, bigattribicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Kill child process, if exists if (pid >0) { kill(pid, SIGTERM); pid = -1; totaldirsize = 0; totalnbfiles = 0; totalnbsubdirs = 0; getApp()->removeChore(this, ID_WATCHPROCESS); } #ifdef STARTUP_NOTIFICATION // If file is an executable file if (executable) { FXbool sndisable = snbutton->getCheck(); if (sndisable != sndisable_prev) { // List of startup notification exceptions FXString snexcepts = getApp()->reg().readStringEntry("OPTIONS", "startup_notification_exceptions", ""); // Add to list if not already present if (sndisable) { FXbool notinlist = true; if (snexcepts != "") { FXString entry; for (int i = 0; ; i++) { entry = snexcepts.section(':', i); if (streq(entry.text(), "")) { break; } if (streq(entry.text(), filename.text())) { notinlist = false; break; } } } if (notinlist) { snexcepts += filename + ":"; } } // Remove from list if already present else { FXbool inlist = false; int pos = 0; if (snexcepts != "") { FXString entry; for (int i = 0; ; i++) { entry = snexcepts.section(':', i); if (streq(entry.text(), "")) { break; } if (streq(entry.text(), filename.text())) { inlist = true; break; } pos += entry.length()+1; } } if (inlist) { snexcepts.erase(pos, filename.length()+1); } } // Write updated list to the registry getApp()->reg().writeStringEntry("OPTIONS", "startup_notification_exceptions", snexcepts.text()); getApp()->reg().write(); } } #endif if (cond) { op = open->getText(); v = view->getText(); if (!v.empty()) { v = "," + v; } if (edit) { e = edit->getText(); if (!e.empty()) { e = "," + e; } } fileassoc = ext->getText(); fileassoc += "="; fileassoc += op + v + e + ";"; fileassoc += descr->getText() + ";"; fileassoc += bigic->getText() + ";" + miniic->getText() + ";;"; if (ext->getText() != "") { oldfileassoc = getApp()->reg().readStringEntry("FILETYPES", ext->getText().text(), ""); if ((oldfileassoc == "") || (fileassoc.section('=', 1) != oldfileassoc)) { FXString command = fileassoc.section('=', 1); getApp()->reg().writeStringEntry("FILETYPES", ext->getText().text(), command.text()); // Handle file association str = new char* [2]; str[0] = new char[strlen(ext->getText().text())+1]; str[1] = new char[strlen(command.text())+1]; strlcpy(str[0], ext->getText().text(), ext->getText().length()+1); strlcpy(str[1], command.text(), command.length()+1); mainWindow->handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC), str); } } } if ( target == "" || target == ".." || target == "." ) { MessageBox::warning(this, BOX_OK, _("Warning"), _("Invalid file name, operation cancelled")); input->setText(source); return(0); } // Rename file if necessary if (source != target) { // Target name contains '/' if (target.contains(PATHSEPCHAR)) { if (::isDirectory(sourcepath)) { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in folder names, operation cancelled")); } else { MessageBox::warning(this, BOX_OK, _("Warning"), _("The / character is not allowed in file names, operation cancelled")); } input->setText(source); return(0); } // Source path is not writable if (!::isWritable(sourcepath)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), source.text()); return(0); } // Target parent directory doesn't exist or is not writable if (!::exists(targetparentdir)) { MessageBox::error(this, BOX_OK, _("Error"), _("Folder %s doesn't exist"), targetparentdir.text()); return(0); } if (!::isWritable(targetparentdir)) { MessageBox::error(this, BOX_OK_SU, _("Error"), _("Can't write to %s: Permission denied"), targetparentdir.text()); return(0); } // Rename file or directory else { File* f; f = new File(this, _("File rename"), RENAME); f->create(); f->rename(sourcepath, targetpath); delete f; } } // Change perm // Caution : chown must be done *before* chmod because chown can clear suid and sgid bits // Chown only if user or group have changed or recursive flag is set rc = 0; if ((oldgrp != perm->grp->getText()) || (oldusr != perm->user->getText()) || perm->rec->getCheck()) { f = new File(this, _("File owner"), CHOWN); f->create(); uid_t uid = 32768; gid_t gid = 32768; struct passwd* pwde; while ((pwde = getpwent())) { if (perm->user->getText() == pwde->pw_name) { uid = pwde->pw_uid; } } endpwent(); struct group* grpe; while ((grpe = getgrent())) { if (perm->grp->getText() == grpe->gr_name) { gid = grpe->gr_gid; } } endgrent(); // Wait cursor getApp()->beginWaitCursor(); // Perform chown on the selected file or directory errno = 0; rc = f->chown((char*)targetpath.text(), file, uid, gid, perm->rec->getCheck(), perm->dironly->getCheck(), perm->fileonly->getCheck()); int errcode = errno; // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Change owner cancelled!")); delete f; getApp()->endWaitCursor(); return(0); } getApp()->endWaitCursor(); // Handle chown errors if (rc) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Chown in %s failed: %s"), file, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Chown in %s failed"), file); } delete f; return(0); } delete f; } // Chmod if owner only is not set and permissions are changed or recursive flag is set if (!perm->own->getCheck() && ((mode != orig_mode) || perm->rec->getCheck())) { if (perm->suid->getCheck() || perm->sgid->getCheck() || perm->svtx->getCheck()) { if (BOX_CLICKED_CANCEL == MessageBox::warning(this, BOX_OK_CANCEL, _("Warning"), _("Setting special permissions could be unsafe! Is that you really want to do?"))) { return(0); } } struct stat linfo; mode_t m; // Cannot stat target if (lstatrep(targetpath.text(), &linfo) != 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Chmod in %s failed: %s"), file, strerror(errno)); return(0); } f = new File(this, _("File permissions"), CHMOD); f->create(); switch (perm->cmd) { case PropertiesBox::ID_ADD: m = linfo.st_mode|mode; break; case PropertiesBox::ID_CLEAR: m = linfo.st_mode & ~mode; break; case PropertiesBox::ID_SET: m = mode; break; default: delete f; return(0); } // Wait cursor getApp()->beginWaitCursor(); // Perform chmod on the selected file or directory errno = 0; rc = f->chmod((char*)targetpath.text(), file, m, perm->rec->getCheck(), perm->dironly->getCheck(), perm->fileonly->getCheck()); int errcode = errno; // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Change file permissions cancelled!")); delete f; getApp()->endWaitCursor(); return(0); } getApp()->endWaitCursor(); // Handle chmod errors if (rc) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Chmod in %s failed: %s"), file, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Chmod in %s failed"), file); } delete f; return(0); } delete f; } DialogBox::onCmdAccept(o, s, p); // Redraw file lists ((XFileExplorer*)mainWindow)->deselectAll(); ((XFileExplorer*)mainWindow)->refreshPanels(); // Delete object delete this; return(1); } // Dialog for multiple selected files long PropertiesBox::onCmdAcceptMult(FXObject* o, FXSelector s, void* p) { int rc = 0, i; File* f = NULL; char file[MAXPATHLEN]; FXbool confirm_properties = getApp()->reg().readUnsignedEntry("OPTIONS", "confirm_properties", true); if (confirm_properties) { MessageBox box(this, _("Confirm Change Properties"), _("Apply permissions to the selected items?"), bigattribicon, BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) { return(0); } } // Kill child process, if exists if (pid >0) { kill(pid, SIGTERM); pid = -1; totaldirsize = 0; totalnbfiles = 0; totalnbsubdirs = 0; getApp()->removeChore(this, ID_WATCHPROCESS); } // Caution : chown must be done *before* chmod because chown can clear suid and sgid bits // Chown rc = 0; f = new File(this, _("File owner"), CHOWN); f->create(); // Wait cursor getApp()->beginWaitCursor(); for (i = 0; i < num; i++) { struct stat linfo; FXString pathname = FXPath::absolute(paths[i], files[i]); if (lstatrep(pathname.text(), &linfo) != 0) { continue; } uid_t uid = 32768; gid_t gid = 32768; struct passwd* pwde; while ((pwde = getpwent())) { if (perm->user->getText() == pwde->pw_name) { uid = pwde->pw_uid; } } endpwent(); struct group* grpe; while ((grpe = getgrent())) { if (perm->grp->getText() == grpe->gr_name) { gid = grpe->gr_gid; } } endgrent(); errno = 0; if (files[i] != "..") { rc = f->chown((char*)pathname.text(), file, uid, gid, perm->rec->getCheck(), perm->dironly->getCheck(), perm->fileonly->getCheck()); } int errcode = errno; // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Change owner cancelled!")); delete f; getApp()->endWaitCursor(); return(0); } // Handle chown errors if (rc) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Chown in %s failed: %s"), file, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Chown in %s failed"), file); } delete f; getApp()->endWaitCursor(); return(0); } } delete f; getApp()->endWaitCursor(); // Chmod if owner only is not set if (!perm->own->getCheck()) { if (perm->suid->getCheck() || perm->sgid->getCheck() || perm->svtx->getCheck()) { if (BOX_CLICKED_CANCEL == MessageBox::warning(this, BOX_OK_CANCEL, _("Warning"), _("Setting special permissions could be unsafe! Is that you really want to do?"))) { return(0); } } f = new File(this, _("File permissions"), CHMOD); f->create(); // Wait cursor getApp()->beginWaitCursor(); for (i = 0; i < num; i++) { struct stat linfo; mode_t m; FXString pathname = FXPath::absolute(paths[i], files[i]); if (lstatrep(pathname.text(), &linfo) != 0) { continue; } switch (perm->cmd) { case PropertiesBox::ID_ADD: m = linfo.st_mode|mode; break; case PropertiesBox::ID_CLEAR: m = linfo.st_mode & ~mode; break; case PropertiesBox::ID_SET: m = mode; break; default: delete f; getApp()->endWaitCursor(); return(0); } if ((files[i] != "..") && !perm->own->getCheck()) { errno = 0; rc = f->chmod((char*)pathname.text(), file, m, perm->rec->getCheck(), perm->dironly->getCheck(), perm->fileonly->getCheck()); int errcode = errno; // If action is cancelled in progress dialog if (f->isCancelled()) { f->hideProgressDialog(); MessageBox::error(this, BOX_OK, _("Warning"), _("Change file(s) permissions cancelled!")); delete f; getApp()->endWaitCursor(); return(0); } // Handle chmod errors if (rc) { f->hideProgressDialog(); if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Chmod in %s failed: %s"), file, strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Chmod in %s failed"), file); } delete f; getApp()->endWaitCursor(); return(0); } } } delete f; getApp()->endWaitCursor(); } DialogBox::onCmdAccept(o, s, p); // Redraw the file lists ((XFileExplorer*)mainWindow)->deselectAll(); ((XFileExplorer*)mainWindow)->refreshPanels(); delete[]files; delete[]paths; delete this; return(1); } // Cancel dialog long PropertiesBox::onCmdCancel(FXObject* o, FXSelector s, void* p) { // Kill child process, if exists if (pid >0) { kill(pid, SIGTERM); pid = -1; totaldirsize = 0; totalnbfiles = 0; totalnbsubdirs = 0; getApp()->removeChore(this, ID_WATCHPROCESS); } DialogBox::onCmdCancel(o, s, p); delete this; return(1); } long PropertiesBox::onCmdCommand(FXObject* o, FXSelector s, void* p) { perm->cmd = FXSELID(s); return(1); } long PropertiesBox::onCmdFilter(FXObject* o, FXSelector s, void* p) { perm->flt = FXSELID(s); return(1); } long PropertiesBox::onCmdCheck(FXObject* o, FXSelector s, void* p) { int xmode = 0; switch (FXSELID(s)) { case PropertiesBox::ID_RUSR: xmode = S_IRUSR; break; case PropertiesBox::ID_WUSR: xmode = S_IWUSR; break; case PropertiesBox::ID_XUSR: xmode = S_IXUSR; break; case PropertiesBox::ID_RGRP: xmode = S_IRGRP; break; case PropertiesBox::ID_WGRP: xmode = S_IWGRP; break; case PropertiesBox::ID_XGRP: xmode = S_IXGRP; break; case PropertiesBox::ID_ROTH: xmode = S_IROTH; break; case PropertiesBox::ID_WOTH: xmode = S_IWOTH; break; case PropertiesBox::ID_XOTH: xmode = S_IXOTH; break; case PropertiesBox::ID_SUID: xmode = S_ISUID; break; case PropertiesBox::ID_SGID: xmode = S_ISGID; break; case PropertiesBox::ID_SVTX: xmode = S_ISVTX; break; } FXCheckButton* ch = (FXCheckButton*)o; if (!ch->getCheck()) { mode &= ~xmode; } else { mode |= xmode; } return(1); } long PropertiesBox::onCmdBrowse(FXObject* o, FXSelector s, void* p) { FileDialog browseProgram(this, _("Select an executable file")); const char* patterns[] = { _("All files"), "*", NULL }; browseProgram.setFilename(ROOTDIR); browseProgram.setPatternList(patterns); browseProgram.setSelectMode(SELECT_FILE_EXISTING); if (browseProgram.execute()) { FXString path = browseProgram.getFilename(); switch (FXSELID(s)) { case ID_BROWSE_OPEN: open->setText(FXPath::name(path)); break; case ID_BROWSE_VIEW: view->setText(FXPath::name(path)); break; case ID_BROWSE_EDIT: if (edit) { edit->setText(FXPath::name(path)); } break; } } return(1); } long PropertiesBox::onCmdBrowseIcon(FXObject* o, FXSelector s, void* p) { FXString icon; if (FXSELID(s) == ID_BIG_ICON) { icon = bigic->getText(); } else { icon = miniic->getText(); } FXString iconpath = getApp()->reg().readStringEntry("SETTINGS", "iconpath", DEFAULTICONPATH); const char* patterns[] = { _("PNG Images"), "*.png", _("GIF Images"), "*.gif", _("BMP Images"), "*.bmp", NULL }; FileDialog browseIcon(this, _("Select an icon file")); browseIcon.setFilename(iconpath+PATHSEPSTRING+icon); browseIcon.setPatternList(patterns); browseIcon.setSelectMode(SELECT_FILE_EXISTING); if (browseIcon.execute()) { FXString path; path = browseIcon.getFilename(); if (!::exists(path)) { return(0); } if (FXSELID(s) == ID_BIG_ICON) { // Load big icon bigic->setText(path); FXIcon* bigicon = loadiconfile(getApp(), path, bigic->getText()); if (bigicon) { bigicbtn->setIcon(bigicon); } } else { // Load mini icon miniic->setText(path); FXIcon* miniicon = loadiconfile(getApp(), path, miniic->getText()); miniicbtn->setIcon(miniicon); } } return(1); } // Watch progress of child process long PropertiesBox::onWatchProcess(FXObject*, FXSelector, void*) { char buf[1024]; char size[256]; int nread; FXString strbuf, hsize; FXString dsize, subdirs, files; FXuint nbsubdirs=0, nbfiles; FXulong dirsize; if ((waitpid(pid, NULL, WNOHANG) == 0)) { // Child is still running, just wait getApp()->addChore(this, ID_WATCHPROCESS); // Read data from the running child (first, set I-O to non-blocking) int pflags; if ((pflags = fcntl(pipes[0], F_GETFL)) >= 0) { pflags |= O_NONBLOCK; if (fcntl(pipes[0], F_SETFL, pflags) >= 0) { // Now read the data from the pipe while ((nread = read(pipes[0], buf, sizeof(buf)-1)) > 0) { buf[nread] = '\0'; // Get last string between two slashes // or before the slash if there is only one strbuf = buf; strbuf = strbuf.rbefore('/'); if (strbuf.rfind('/') >= 0) { strbuf=strbuf.rafter('/'); } dsize = strbuf.section(' ',0); files = strbuf.section(' ',1); subdirs = strbuf.section(' ',2); hsize = ::hSize((char*)dsize.text()); // Directory size, number of files, number of sub directories dirsize = FXULongVal(dsize); nbfiles = FXUIntVal(files); nbsubdirs = FXUIntVal(subdirs); if (nbsubdirs > 0) { nbsubdirs--; } #if __WORDSIZE == 64 snprintf(size,sizeof(size)-1,_("%s (%lu bytes)"),hsize.text(),dirsize); #else snprintf(size,sizeof(size)-1,_("%s (%llu bytes)"),hsize.text(),dirsize); #endif fileSize->setText(size); snprintf(size, sizeof(size)-1, _("%u files, %u subfolders"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); fileSizeDetails->setText(size); if (nread < (int)(sizeof(buf)-1)) { break; } } } } } else { // Child has finished. // Read data from the finished child while ((nread = read(pipes[0], buf, sizeof(buf)-1)) > 0) { buf[nread] = '\0'; // Get last string between two slashes strbuf = buf; strbuf = strbuf.rbefore('/'); if (strbuf.rfind('/') >= 0) { strbuf = strbuf.rafter('/'); dsize = strbuf.section(' ',0); files = strbuf.section(' ',1); subdirs = strbuf.section(' ',2); hsize = ::hSize((char*)dsize.text()); // Directory size, number of files, number of sub directories dirsize = FXULongVal(dsize); nbfiles = FXUIntVal(files); nbsubdirs = FXUIntVal(subdirs); if (nbsubdirs >0) { nbsubdirs--; } #if __WORDSIZE == 64 snprintf(size,sizeof(size)-1,_("%s (%lu bytes)"),hsize.text(),dirsize); #else snprintf(size,sizeof(size)-1,_("%s (%llu bytes)"),hsize.text(),dirsize); #endif fileSize->setText(size); snprintf(size, sizeof(size)-1, _("%u files, %u subfolders"), nbfiles-nbsubdirs-nbseldirs, nbsubdirs); fileSizeDetails->setText(size); } if (nread < (int)(sizeof(buf)-1)) { break; } } // Close pipes ::close(pipes[0]); ::close(pipes[1]); } return(1); } // Update recursive directory size and permissions long PropertiesBox::onUpdSizeAndPerm(FXObject* o, FXSelector s, void* p) { // Update recursive size only one time if (recsize) { char buf[MAXPATHLEN+1]; FXString hsize; // Single file if (num == 1) { // Directory but not mount point if (isDirectory && !isMountpoint) { FXuint nbfiles=0, nbsubdirs=0; FXulong dirsize=0; FXString dirpath = FXPath::absolute(parentdir, filename); strlcpy(buf, dirpath.text(), dirpath.length()+1); // Open pipes to communicate with child process if (pipe(pipes) == -1) { perror("pipe"); exit(EXIT_FAILURE); } // Create child process pid = fork(); if (pid == -1) { perror("fork"); exit(EXIT_FAILURE); } if (pid == 0) // Child { if (nbsubdirs > 0) { nbsubdirs--; } pathsize(buf, &nbfiles, &nbsubdirs, &dirsize, pipes); _exit(EXIT_SUCCESS); } else // Parent { // Make sure we get called so we can check when child has finished getApp()->addChore(this, ID_WATCHPROCESS); } } } // Multiple files else { // Open pipes to communicate with child process if (pipe(pipes) == -1) { perror("pipe"); exit(EXIT_FAILURE); } // Create child process pid = fork(); if (pid == -1) { perror("fork"); exit(EXIT_FAILURE); } if (pid == 0) // Child { struct stat info; // Total size and files type for (int i = 0; i < num; i++) { FXString pathname; if (paths == NULL) { pathname = FXPath::absolute(parentdir, files[i]); } else { pathname = FXPath::absolute(paths[i], files[i]); } if (lstatrep(pathname.text(), &info) != 0) { continue; } // Special case of the ".." directory if (files[i] == "..") { continue; } // Is it a directory? isDirectory = S_ISDIR(info.st_mode); if (isDirectory) { strlcpy(buf, pathname.text(), pathname.length()+1); if (totalnbsubdirs > 0) { totalnbsubdirs--; } pathsize(buf, &totalnbfiles, &totalnbsubdirs, &totaldirsize, pipes); } else // Regular file { strlcpy(buf, pathname.text(), pathname.length()+1); pathsize(buf, &totalnbfiles, &totalnbsubdirs, &totaldirsize, pipes); } } _exit(EXIT_SUCCESS); } else // Parent { // Make sure we get called so we can check when child has finished getApp()->addChore(this, ID_WATCHPROCESS); } } } recsize = false; // Update permissions if (perm->rec->getCheck()) { perm->dironly->enable(); perm->fileonly->enable(); perm->all->enable(); } else { perm->all->disable(); perm->dironly->disable(); perm->fileonly->disable(); } if (perm->own->getCheck()) { perm->set->disable(); perm->clear->disable(); perm->add->disable(); perm->ur->disable(); perm->uw->disable(); perm->ux->disable(); perm->gr->disable(); perm->gw->disable(); perm->gx->disable(); perm->or_->disable(); perm->ow->disable(); perm->ox->disable(); perm->suid->disable(); perm->sgid->disable(); perm->svtx->disable(); } else { perm->set->enable(); perm->clear->enable(); perm->add->enable(); perm->ur->enable(); perm->uw->enable(); perm->ux->enable(); perm->gr->enable(); perm->gw->enable(); perm->gx->enable(); perm->or_->enable(); perm->ow->enable(); perm->ox->enable(); perm->suid->enable(); perm->sgid->enable(); perm->svtx->enable(); } return(1); } long PropertiesBox::onCmdKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; switch (event->code) { case KEY_Escape: handle(this, FXSEL(SEL_COMMAND, ID_CANCEL), NULL); return(1); case KEY_KP_Enter: case KEY_Return: handle(this, FXSEL(SEL_COMMAND, ID_ACCEPT_SINGLE), NULL); return(1); default: FXTopWindow::onKeyPress(sender, sel, ptr); return(1); } return(0); } #ifdef STARTUP_NOTIFICATION // Update the startup notification button depending on the file exec status long PropertiesBox::onUpdSnDisable(FXObject*, FXSelector, void*) { FXbool usesn = getApp()->reg().readUnsignedEntry("OPTIONS", "use_startup_notification", true); if (usesn && executable) { sngroup->enable(); snbutton->enable(); } else { sngroup->disable(); snbutton->disable(); } return(1); } #endif xfe-1.42/src/DirHistBox.h0000644000175100017510000000352412625057514012137 00000000000000#ifndef DIRHISTBOX_H #define DIRHISTBOX_H #ifndef DIRHISTBOX_H #include "DirHistBox.h" #endif #include "DialogBox.h" class FXAPI DirHistBox : public DialogBox { FXDECLARE(DirHistBox) protected: FXList* list; protected: DirHistBox() : list(NULL) {} private: DirHistBox(const DirHistBox&); DirHistBox& operator=(const DirHistBox&); public: long onCmdClicked(FXObject*, FXSelector, void*); long onCmdClose(FXObject*, FXSelector, void*); long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); public: enum { ID_CLICKED=DialogBox::ID_LAST, ID_CLOSE, ID_LAST }; public: // Construct list box with given caption, icon, message text, and with choices from array of strings DirHistBox(FXWindow* owner, const char** choices, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Construct list box with given caption, icon, message text, and with choices from newline separated strings DirHistBox(FXWindow* owner, const FXString& choices, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Show a modal list dialog. Prompt the user using a dialog with given caption, icon, message text, and with choices from newline array of strings. // The return value is -1 if cancelled, or the given choice static int box(FXWindow* owner, FXuint opts, const char** choices, int x = 0, int y = 0, int w = 0, int h = 0); // Show a modal list dialog. Prompt the user using a dialog with given caption, icon, message text, and with choices from newline separated strings. // The return value is -1 if cancelled, or the given choice static int box(FXWindow* owner, FXuint opts, const FXString& choices, int x = 0, int y = 0, int w = 0, int h = 0); // Destroy list box virtual ~DirHistBox(); }; #endif xfe-1.42/src/FontDialog.h0000644000175100017510000000773612625057514012157 00000000000000#ifndef FONTDIALOG_H #define FONTDIALOG_H #include "DialogBox.h" class FontSelector; // Font selection widget class FXAPI FontSelector : public FXPacker { FXDECLARE(FontSelector) protected: FXTextField* family; FXList* familylist; FXTextField* weight; FXList* weightlist; FXTextField* style; FXList* stylelist; FXTextField* size; FXList* sizelist; FXComboBox* charset; FXComboBox* setwidth; FXComboBox* pitch; FXCheckButton* scalable; FXCheckButton* allfonts; FXButton* accept; FXButton* cancel; FXLabel* preview; FXFont* previewfont; FXFontDesc selected; protected: FontSelector() : family(NULL), familylist(NULL), weight(NULL), weightlist(NULL), style(NULL), stylelist(NULL), size(NULL), sizelist(NULL), charset(NULL), setwidth(NULL), pitch(NULL), scalable(NULL), allfonts(NULL), accept(NULL), cancel(NULL), preview(NULL), previewfont(NULL), selected() {} void listFontFaces(); void listWeights(); void listSlants(); void listFontSizes(); void previewFont(); private: FontSelector(const FontSelector&); FontSelector& operator=(const FontSelector&); public: long onCmdFamily(FXObject*, FXSelector, void*); long onCmdWeight(FXObject*, FXSelector, void*); long onCmdStyle(FXObject*, FXSelector, void*); long onCmdStyleText(FXObject*, FXSelector, void*); long onCmdSize(FXObject*, FXSelector, void*); long onCmdSizeText(FXObject*, FXSelector, void*); long onCmdCharset(FXObject*, FXSelector, void*); long onUpdCharset(FXObject*, FXSelector, void*); long onCmdSetWidth(FXObject*, FXSelector, void*); long onUpdSetWidth(FXObject*, FXSelector, void*); long onCmdPitch(FXObject*, FXSelector, void*); long onUpdPitch(FXObject*, FXSelector, void*); long onCmdScalable(FXObject*, FXSelector, void*); long onUpdScalable(FXObject*, FXSelector, void*); long onCmdAllFonts(FXObject*, FXSelector, void*); long onUpdAllFonts(FXObject*, FXSelector, void*); public: enum { ID_FAMILY=FXPacker::ID_LAST, ID_WEIGHT, ID_STYLE, ID_STYLE_TEXT, ID_SIZE, ID_SIZE_TEXT, ID_CHARSET, ID_SETWIDTH, ID_PITCH, ID_SCALABLE, ID_ALLFONTS, ID_LAST }; public: // Constructor FontSelector(FXComposite* p, FXObject* tgt = NULL, FXSelector sel = 0, FXuint opts = 0, int x = 0, int y = 0, int w = 0, int h = 0); // Create server-side resources virtual void create(); // Return a pointer to the "Accept" button FXButton* acceptButton() const { return(accept); } // Return a pointer to the "Cancel" button FXButton* cancelButton() const { return(cancel); } // Set font selection void setFontSelection(const FXFontDesc& fontdesc); // Get font selection void getFontSelection(FXFontDesc& fontdesc) const; // Save to a stream virtual void save(FXStream& store) const; // Load from a stream virtual void load(FXStream& store); // Destructor virtual ~FontSelector(); }; // Font selection dialog class FXAPI FontDialog : public DialogBox { FXDECLARE(FontDialog) protected: FontSelector* fontbox; protected: FontDialog() : fontbox(NULL) {} private: FontDialog(const FontDialog&); FontDialog& operator=(const FontDialog&); public: // Constructor FontDialog(FXWindow* owner, const FXString& name, FXuint opts = 0, int x = 0, int y = 0, int w = 750, int h = 480); // Save dialog to a stream virtual void save(FXStream& store) const; // Load dialog from a stream virtual void load(FXStream& store); // Set the current font selection void setFontSelection(const FXFontDesc& fontdesc); // Get the current font selection void getFontSelection(FXFontDesc& fontdesc) const; // Destructor virtual ~FontDialog(); }; #endif xfe-1.42/src/XFileExplorer.cpp0000644000175100017510000050454112746101505013202 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include #include #include #include #include #include #include "xfedefs.h" #include "icons.h" #include "xfeutils.h" #include "startupnotification.h" #include "File.h" #include "FileList.h" #include "FileDict.h" #include "Preferences.h" #include "FilePanel.h" #include "InputDialog.h" #include "HistInputDialog.h" #include "DirPanel.h" #include "MessageBox.h" #include "TextWindow.h" #include "CommandWindow.h" #include "Bookmarks.h" #include "FileDialog.h" #include "help.h" #include "DirHistBox.h" #include "SearchWindow.h" #include "XFileExplorer.h" // Size of the location bar #define LOCATION_BAR_LENGTH 60 #define LOCATION_BAR_HEIGHT 6 // Global variables FXString clipboard = ""; char OpenHistory[OPEN_HIST_SIZE][MAX_COMMAND_SIZE]; int OpenNum; char FilterHistory[FILTER_HIST_SIZE][MAX_PATTERN_SIZE]; int FilterNum; FXbool allowPopupScroll = false; FXuint single_click; FXbool file_tooltips; FXbool relative_resize; // External global variables extern char** args; extern int panel_mode; extern FXString homedir; extern FXString xdgdatahome; extern FXString xdgconfighome; // Global options #if defined(linux) extern FXStringDict* fsdevices; extern FXStringDict* updevices; #endif // Helper function to draw a toolbar separator static void toolbarSeparator(FXToolBar* tb) { #define SEP_SPACE 1 new FXFrame(tb, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); new FXVerticalSeparator(tb, LAYOUT_SIDE_TOP|LAYOUT_CENTER_Y|SEPARATOR_GROOVE|LAYOUT_FILL_Y); new FXFrame(tb, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, SEP_SPACE); } // Map FXDEFMAP(XFileExplorer) XFileExplorerMap[] = { FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_TOGGLE_STATUS, XFileExplorer::onCmdToggleStatus), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_RUN, XFileExplorer::onCmdRun), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SU, XFileExplorer::onCmdSu), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_COPY, XFileExplorer::onCmdFileCopyClp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_CUT, XFileExplorer::onCmdFileCutClp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_ADDCOPY, XFileExplorer::onCmdFileAddCopyClp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_ADDCUT, XFileExplorer::onCmdFileAddCutClp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_PASTE, XFileExplorer::onCmdFilePasteClp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_RENAME, XFileExplorer::onCmdFileRename), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_COPYTO, XFileExplorer::onCmdFileCopyto), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_MOVETO, XFileExplorer::onCmdFileMoveto), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_SYMLINK, XFileExplorer::onCmdFileSymlink), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_PROPERTIES, XFileExplorer::onCmdFileProperties), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_DELETE, XFileExplorer::onCmdFileDelete), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_TRASH, XFileExplorer::onCmdFileTrash), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_RESTORE, XFileExplorer::onCmdFileRestore), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_QUIT, XFileExplorer::onQuit), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_HELP, XFileExplorer::onCmdHelp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_ABOUT, XFileExplorer::onCmdAbout), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_ASSOC, XFileExplorer::onCmdFileAssoc), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_REFRESH, XFileExplorer::onCmdRefresh), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_EMPTY_TRASH, XFileExplorer::onCmdEmptyTrash), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_TRASH_SIZE, XFileExplorer::onCmdTrashSize), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_XTERM, XFileExplorer::onCmdXTerm), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_CLEAR_LOCATION, XFileExplorer::onCmdClearLocation), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_GOTO_LOCATION, XFileExplorer::onCmdGotoLocation), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_PREFS, XFileExplorer::onCmdPrefs), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_HORZ_PANELS, XFileExplorer::onCmdHorzVertPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_VERT_PANELS, XFileExplorer::onCmdHorzVertPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SHOW_ONE_PANEL, XFileExplorer::onCmdShowPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SHOW_TWO_PANELS, XFileExplorer::onCmdShowPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SHOW_TREE_PANEL, XFileExplorer::onCmdShowPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SHOW_TREE_TWO_PANELS, XFileExplorer::onCmdShowPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SYNCHRONIZE_PANELS, XFileExplorer::onCmdSynchronizePanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_SWITCH_PANELS, XFileExplorer::onCmdSwitchPanels), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_RESTART, XFileExplorer::onCmdRestart), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_NEW_WIN, XFileExplorer::onCmdNewWindow), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_BOOKMARK, XFileExplorer::onCmdBookmark), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_DIR_UP, XFileExplorer::onCmdDirUp), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_ADD_BOOKMARK, XFileExplorer::onCmdBookmark), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_DIR_BACK, XFileExplorer::onCmdDirBack), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_DIR_FORWARD, XFileExplorer::onCmdDirForward), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_DIR_BACK_HIST, XFileExplorer::onCmdDirBackHist), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_DIR_FORWARD_HIST, XFileExplorer::onCmdDirForwardHist), FXMAPFUNC(SEL_KEYPRESS, 0, XFileExplorer::onKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, XFileExplorer::onKeyRelease), FXMAPFUNC(SEL_SIGNAL, XFileExplorer::ID_HARVEST, XFileExplorer::onSigHarvest), FXMAPFUNC(SEL_CLOSE, 0, XFileExplorer::onQuit), FXMAPFUNC(SEL_COMMAND, XFileExplorer::ID_FILE_SEARCH, XFileExplorer::onCmdFileSearch), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_DIR_FORWARD_HIST, XFileExplorer::onUpdDirForwardHist), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_DIR_BACK_HIST, XFileExplorer::onUpdDirBackHist), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_DIR_BACK, XFileExplorer::onUpdDirBack), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_DIR_FORWARD, XFileExplorer::onUpdDirForward), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_TOGGLE_STATUS, XFileExplorer::onUpdToggleStatus), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_HORZ_PANELS, XFileExplorer::onUpdHorzVertPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_VERT_PANELS, XFileExplorer::onUpdHorzVertPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SHOW_ONE_PANEL, XFileExplorer::onUpdShowPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SHOW_TWO_PANELS, XFileExplorer::onUpdShowPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SHOW_TREE_PANEL, XFileExplorer::onUpdShowPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SHOW_TREE_TWO_PANELS, XFileExplorer::onUpdShowPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_GOTO_LOCATION, XFileExplorer::onUpdFileLocation), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_EMPTY_TRASH, XFileExplorer::onUpdEmptyTrash), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_EMPTY_TRASH, XFileExplorer::onUpdTrashSize), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_DELETE, XFileExplorer::onUpdFileDelete), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_TRASH, XFileExplorer::onUpdFileTrash), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_RESTORE, XFileExplorer::onUpdFileRestore), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_RENAME, XFileExplorer::onUpdFileRename), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_PROPERTIES, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_COPYTO, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_MOVETO, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_SYMLINK, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_COPY, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_CUT, XFileExplorer::onUpdFileMan), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_PASTE, XFileExplorer::onUpdFilePaste), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SYNCHRONIZE_PANELS, XFileExplorer::onUpdSynchronizePanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SWITCH_PANELS, XFileExplorer::onUpdSwitchPanels), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_SU, XFileExplorer::onUpdSu), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_QUIT, XFileExplorer::onUpdQuit), FXMAPFUNC(SEL_UPDATE, XFileExplorer::ID_FILE_SEARCH, XFileExplorer::onUpdFileSearch), }; // Object implementation FXIMPLEMENT(XFileExplorer, FXMainWindow, XFileExplorerMap, ARRAYNUMBER(XFileExplorerMap)) // Make some windows XFileExplorer::XFileExplorer(FXApp* app, vector_FXString URIs, const FXbool iconic, const FXbool maximized, const char* title, FXIcon* bigicon, FXIcon* miniicon) : FXMainWindow(app, title, bigicon, miniicon, DECOR_ALL) { bookmarks = new Bookmarks("bookmarks", this, ID_BOOKMARK); // Menu bar menubar = new FXMenuBar(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|FRAME_RAISED); // Site where to dock (for toolbars) FXDockSite* topdock = new FXDockSite(this, LAYOUT_SIDE_TOP|LAYOUT_FILL_X); // General toolbar FXToolBarShell* dragshell1 = new FXToolBarShell(this, FRAME_RAISED); generaltoolbar = new FXToolBar(topdock, dragshell1, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_Y); new FXToolBarGrip(generaltoolbar, generaltoolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // Tools toolbar FXToolBarShell* dragshell2 = new FXToolBarShell(this, FRAME_RAISED); toolstoolbar = new FXToolBar(topdock, dragshell2, LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_Y); new FXToolBarGrip(toolstoolbar, toolstoolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // Panel toolbar FXToolBarShell* dragshell3 = new FXToolBarShell(this, FRAME_RAISED); paneltoolbar = new FXToolBar(topdock, dragshell3, LAYOUT_DOCK_SAME|LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXToolBarGrip(paneltoolbar, paneltoolbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // Location bar FXToolBarShell* dragshell4 = new FXToolBarShell(this, FRAME_RAISED); locationbar = new FXToolBar(topdock, dragshell4, LAYOUT_DOCK_NEXT|LAYOUT_SIDE_TOP|FRAME_RAISED|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXToolBarGrip(locationbar, locationbar, FXToolBar::ID_TOOLBARGRIP, TOOLBARGRIP_DOUBLE); // Main splitter FXHorizontalFrame* hframe = new FXHorizontalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); FXSplitter* mainsplit = new FXSplitter(hframe, LAYOUT_SIDE_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING|FRAME_NONE); // File list background, foreground, highlight, progress bar and attention colors listbackcolor = getApp()->reg().readColorEntry("SETTINGS", "listbackcolor", FXRGB(255, 255, 255)); listforecolor = getApp()->reg().readColorEntry("SETTINGS", "listforecolor", FXRGB(0, 0, 0)); highlightcolor = getApp()->reg().readColorEntry("SETTINGS", "highlightcolor", FXRGB(238, 238, 238)); pbarcolor = getApp()->reg().readColorEntry("SETTINGS", "pbarcolor", FXRGB(0, 0, 255)); attentioncolor = getApp()->reg().readColorEntry("SETTINGS", "attentioncolor", FXRGB(255, 0, 0)); scrollbarcolor = getApp()->reg().readColorEntry("SETTINGS", "scrollbarcolor", FXRGB(237, 233, 227)); // Smooth scrolling smoothscroll = getApp()->reg().readUnsignedEntry("SETTINGS", "smooth_scroll", true); // Directory panel on the left (with minimum size) dirpanel = new DirPanel(this, mainsplit, listbackcolor, listforecolor, smoothscroll, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_NONE, 0, 0, 0, 0); // Splitter containing the two panels panelsplit = new FXSplitter(mainsplit, LAYOUT_SIDE_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING|FRAME_NONE); // Stack file panels horizontally or vertically (directory panel is always vertical) vertpanels = getApp()->reg().readUnsignedEntry("OPTIONS", "vert_panels", true); if (vertpanels) { panelsplit->setSplitterStyle(panelsplit->getSplitterStyle()&~SPLITTER_VERTICAL); } else { panelsplit->setSplitterStyle(panelsplit->getSplitterStyle()|SPLITTER_VERTICAL); } // File panels on the right : remembers size of each field lpanel = new FilePanel(this, "LEFT PANEL", panelsplit, dirpanel, getApp()->reg().readUnsignedEntry("LEFT PANEL", "name_size", 200), getApp()->reg().readUnsignedEntry("LEFT PANEL", "size_size", 60), getApp()->reg().readUnsignedEntry("LEFT PANEL", "type_size", 100), getApp()->reg().readUnsignedEntry("LEFT PANEL", "ext_size", 100), getApp()->reg().readUnsignedEntry("LEFT PANEL", "modd_size", 150), getApp()->reg().readUnsignedEntry("LEFT PANEL", "user_size", 50), getApp()->reg().readUnsignedEntry("LEFT PANEL", "grou_size", 50), getApp()->reg().readUnsignedEntry("LEFT PANEL", "attr_size", 100), getApp()->reg().readUnsignedEntry("LEFT PANEL", "deldate_size", 150), getApp()->reg().readUnsignedEntry("LEFT PANEL", "origpath_size", 200), getApp()->reg().readUnsignedEntry("LEFT PANEL", "showthumbnails", 0), listbackcolor, listforecolor, attentioncolor, smoothscroll, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_NONE, 0, 0, 0, 0); rpanel = new FilePanel(this, "RIGHT PANEL", panelsplit, dirpanel, getApp()->reg().readUnsignedEntry("RIGHT PANEL", "name_size", 200), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "size_size", 60), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "type_size", 100), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "ext_size", 100), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "modd_size", 150), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "user_size", 50), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "grou_size", 50), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "attr_size", 100), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "deldate_size", 150), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "origpath_size", 200), getApp()->reg().readUnsignedEntry("RIGHT PANEL", "showthumbnails", 0), listbackcolor, listforecolor, attentioncolor, smoothscroll, LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_NONE, 0, 0, 0, 0); lpanel->Next(rpanel); rpanel->Next(lpanel); lpanel->setActive(); FXString sort_func; // Dir panel options sort_func = getApp()->reg().readStringEntry("DIR PANEL", "sort_func", "ascendingCase"); if (sort_func == "ascendingCase") { dirpanel->setSortFunc(DirList::ascendingCase); } else if (sort_func == "descendingCase") { dirpanel->setSortFunc(DirList::descendingCase); } else if (sort_func == "ascending") { dirpanel->setSortFunc(DirList::ascending); } else if (sort_func == "descending") { dirpanel->setSortFunc(DirList::descending); } // Left panel options sort_func = getApp()->reg().readStringEntry("LEFT PANEL", "sort_func", "ascendingCase"); if (sort_func == "ascendingCase") { lpanel->setSortFunc(FileList::ascendingCase); } else if (sort_func == "ascendingCaseMix") { lpanel->setSortFunc(FileList::ascendingCaseMix); } else if (sort_func == "descendingCase") { lpanel->setSortFunc(FileList::descendingCase); } else if (sort_func == "descendingCaseMix") { lpanel->setSortFunc(FileList::descendingCaseMix); } else if (sort_func == "ascending") { lpanel->setSortFunc(FileList::ascending); } else if (sort_func == "ascendingMix") { lpanel->setSortFunc(FileList::ascendingMix); } else if (sort_func == "descending") { lpanel->setSortFunc(FileList::descending); } else if (sort_func == "descendingMix") { lpanel->setSortFunc(FileList::descendingMix); } else if (sort_func == "ascendingSize") { lpanel->setSortFunc(FileList::ascendingSize); } else if (sort_func == "ascendingSizeMix") { lpanel->setSortFunc(FileList::ascendingSizeMix); } else if (sort_func == "descendingSize") { lpanel->setSortFunc(FileList::descendingSize); } else if (sort_func == "descendingSizeMix") { lpanel->setSortFunc(FileList::descendingSizeMix); } else if (sort_func == "ascendingType") { lpanel->setSortFunc(FileList::ascendingType); } else if (sort_func == "ascendingTypeMix") { lpanel->setSortFunc(FileList::ascendingTypeMix); } else if (sort_func == "descendingType") { lpanel->setSortFunc(FileList::descendingType); } else if (sort_func == "descendingTypeMix") { lpanel->setSortFunc(FileList::descendingTypeMix); } else if (sort_func == "ascendingExt") { lpanel->setSortFunc(FileList::ascendingExt); } else if (sort_func == "ascendingExtMix") { lpanel->setSortFunc(FileList::ascendingExtMix); } else if (sort_func == "descendingExt") { lpanel->setSortFunc(FileList::descendingExt); } else if (sort_func == "descendingExtMix") { lpanel->setSortFunc(FileList::descendingExtMix); } else if (sort_func == "ascendingTime") { lpanel->setSortFunc(FileList::ascendingTime); } else if (sort_func == "ascendingTimeMix") { lpanel->setSortFunc(FileList::ascendingTimeMix); } else if (sort_func == "descendingTime") { lpanel->setSortFunc(FileList::descendingTime); } else if (sort_func == "descendingTimeMix") { lpanel->setSortFunc(FileList::descendingTimeMix); } else if (sort_func == "ascendingUser") { lpanel->setSortFunc(FileList::ascendingUser); } else if (sort_func == "ascendingUserMix") { lpanel->setSortFunc(FileList::ascendingUserMix); } else if (sort_func == "descendingUser") { lpanel->setSortFunc(FileList::descendingUser); } else if (sort_func == "descendingUserMix") { lpanel->setSortFunc(FileList::descendingUserMix); } else if (sort_func == "ascendingGroup") { lpanel->setSortFunc(FileList::ascendingGroup); } else if (sort_func == "ascendingGroupMix") { lpanel->setSortFunc(FileList::ascendingGroupMix); } else if (sort_func == "descendingGroup") { lpanel->setSortFunc(FileList::descendingGroup); } else if (sort_func == "descendingGroupMix") { lpanel->setSortFunc(FileList::descendingGroupMix); } else if (sort_func == "ascendingPerm") { lpanel->setSortFunc(FileList::ascendingPerm); } else if (sort_func == "ascendingPermMix") { lpanel->setSortFunc(FileList::ascendingPermMix); } else if (sort_func == "descendingPerm") { lpanel->setSortFunc(FileList::descendingPerm); } else if (sort_func == "descendingPermMix") { lpanel->setSortFunc(FileList::descendingPermMix); } FXuint ignore_case = getApp()->reg().readUnsignedEntry("LEFT PANEL", "ignore_case", 1); lpanel->setIgnoreCase(ignore_case); FXuint dirs_first = getApp()->reg().readUnsignedEntry("LEFT PANEL", "dirs_first", 1); lpanel->setDirsFirst(dirs_first); // Right panel options sort_func = getApp()->reg().readStringEntry("RIGHT PANEL", "sort_func", "ascendingCase"); if (sort_func == "ascendingCase") { rpanel->setSortFunc(FileList::ascendingCase); } else if (sort_func == "ascendingCaseMix") { rpanel->setSortFunc(FileList::ascendingCaseMix); } else if (sort_func == "descendingCase") { rpanel->setSortFunc(FileList::descendingCase); } else if (sort_func == "descendingCaseMix") { rpanel->setSortFunc(FileList::descendingCaseMix); } else if (sort_func == "ascending") { rpanel->setSortFunc(FileList::ascending); } else if (sort_func == "ascendingMix") { rpanel->setSortFunc(FileList::ascendingMix); } else if (sort_func == "descending") { rpanel->setSortFunc(FileList::descending); } else if (sort_func == "descendingMix") { rpanel->setSortFunc(FileList::descendingMix); } else if (sort_func == "ascendingSize") { rpanel->setSortFunc(FileList::ascendingSize); } else if (sort_func == "ascendingSizeMix") { rpanel->setSortFunc(FileList::ascendingSizeMix); } else if (sort_func == "descendingSize") { rpanel->setSortFunc(FileList::descendingSize); } else if (sort_func == "descendingSizeMix") { rpanel->setSortFunc(FileList::descendingSizeMix); } else if (sort_func == "ascendingType") { rpanel->setSortFunc(FileList::ascendingType); } else if (sort_func == "ascendingTypeMix") { rpanel->setSortFunc(FileList::ascendingTypeMix); } else if (sort_func == "descendingType") { rpanel->setSortFunc(FileList::descendingType); } else if (sort_func == "descendingTypeMix") { rpanel->setSortFunc(FileList::descendingTypeMix); } else if (sort_func == "ascendingExt") { rpanel->setSortFunc(FileList::ascendingExt); } else if (sort_func == "ascendingExtMix") { rpanel->setSortFunc(FileList::ascendingExtMix); } else if (sort_func == "descendingExt") { rpanel->setSortFunc(FileList::descendingExt); } else if (sort_func == "descendingExtMix") { rpanel->setSortFunc(FileList::descendingExtMix); } else if (sort_func == "ascendingTime") { rpanel->setSortFunc(FileList::ascendingTime); } else if (sort_func == "ascendingTimeMix") { rpanel->setSortFunc(FileList::ascendingTimeMix); } else if (sort_func == "descendingTime") { rpanel->setSortFunc(FileList::descendingTime); } else if (sort_func == "descendingTimeMix") { rpanel->setSortFunc(FileList::descendingTimeMix); } else if (sort_func == "ascendingUser") { rpanel->setSortFunc(FileList::ascendingUser); } else if (sort_func == "ascendingUserMix") { rpanel->setSortFunc(FileList::ascendingUserMix); } else if (sort_func == "descendingUser") { rpanel->setSortFunc(FileList::descendingUser); } else if (sort_func == "descendingUserMix") { rpanel->setSortFunc(FileList::descendingUserMix); } else if (sort_func == "ascendingGroup") { rpanel->setSortFunc(FileList::ascendingGroup); } else if (sort_func == "ascendingGroupMix") { rpanel->setSortFunc(FileList::ascendingGroupMix); } else if (sort_func == "descendingGroup") { rpanel->setSortFunc(FileList::descendingGroup); } else if (sort_func == "descendingGroupMix") { rpanel->setSortFunc(FileList::descendingGroupMix); } else if (sort_func == "ascendingPerm") { rpanel->setSortFunc(FileList::ascendingPerm); } else if (sort_func == "ascendingPermMix") { rpanel->setSortFunc(FileList::ascendingPermMix); } else if (sort_func == "descendingPerm") { rpanel->setSortFunc(FileList::descendingPerm); } else if (sort_func == "descendingPermMix") { rpanel->setSortFunc(FileList::descendingPermMix); } ignore_case = getApp()->reg().readUnsignedEntry("RIGHT PANEL", "ignore_case", 1); rpanel->setIgnoreCase(ignore_case); dirs_first = getApp()->reg().readUnsignedEntry("RIGHT PANEL", "dirs_first", 1); rpanel->setDirsFirst(dirs_first); FXButton* btn = NULL; FXHotKey hotkey; FXString key; // General toolbar key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_back", "Ctrl-Backspace"); btn = new FXButton(generaltoolbar, TAB+_("Go to previous folder")+PARS(key), dirbackicon, this, XFileExplorer::ID_DIR_BACK, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnbackhist = new FXArrowButton(generaltoolbar, this, XFileExplorer::ID_DIR_BACK_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_forward", "Shift-Backspace"); btn = new FXButton(generaltoolbar, TAB+_("Go to next folder")+PARS(key), dirforwardicon, this, XFileExplorer::ID_DIR_FORWARD, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); btnforwardhist = new FXArrowButton(generaltoolbar, this, XFileExplorer::ID_DIR_FORWARD_HIST, LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK|ARROW_DOWN|ARROW_TOOLBAR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_up", "Backspace"); btn = new FXButton(generaltoolbar, TAB+_("Go to parent folder")+PARS(key), dirupicon, this, XFileExplorer::ID_DIR_UP, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); toolbarSeparator(generaltoolbar); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); new FXButton(generaltoolbar, TAB+_("Go to home folder")+PARS(key), homeicon, lpanel, FilePanel::ID_GO_HOME, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "refresh", "Ctrl-R"); new FXButton(generaltoolbar, TAB+_("Refresh panels")+PARS(key), reloadicon, this, XFileExplorer::ID_REFRESH, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); toolbarSeparator(generaltoolbar); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_file", "Ctrl-N"); new FXButton(generaltoolbar, TAB+_("Create new file")+PARS(key), newfileicon, lpanel, FilePanel::ID_NEW_FILE, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_folder", "F7"); new FXButton(generaltoolbar, TAB+_("Create new folder")+PARS(key), newfoldericon, lpanel, FilePanel::ID_NEW_DIR, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_symlink", "Ctrl-J"); new FXButton(generaltoolbar, TAB+_("Create new symlink")+PARS(key), newlinkicon, lpanel, FilePanel::ID_NEW_SYMLINK, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); toolbarSeparator(generaltoolbar); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); new FXButton(generaltoolbar, TAB+_("Copy selected files to clipboard")+PARS(key), copy_clpicon, this, XFileExplorer::ID_FILE_COPY, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); // Shift + copy key binding can be used to add files to the copy clipboard // but this feature is disabled if the key binding already uses the Shift key if (key.lower().find("shift") < 0) { key = "Shift-" + key; hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ADDCOPY)); } // Shift + cut key binding can be used to add files to the cut clipboard // but this feature is disabled if the key binding already uses the Shift key key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); new FXButton(generaltoolbar, TAB+_("Cut selected files to clipboard")+PARS(key), cut_clpicon, this, XFileExplorer::ID_FILE_CUT, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); if (key.lower().find("shift") < 0) { key = "Shift-" + key; hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, XFileExplorer::ID_FILE_ADDCUT)); } key = getApp()->reg().readStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); new FXButton(generaltoolbar, TAB+_("Paste from clipboard")+PARS(key), paste_clpicon, this, XFileExplorer::ID_FILE_PASTE, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "properties", "F9"); new FXButton(generaltoolbar, TAB+_("Show properties of selected files")+PARS(key), attribicon, this, XFileExplorer::ID_FILE_PROPERTIES, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); toolbarSeparator(generaltoolbar); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to_trash", "Del"); new FXButton(generaltoolbar, TAB+_("Move selected files to trash can")+PARS(key), filedeleteicon, this, XFileExplorer::ID_FILE_TRASH, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "restore_from_trash", "Alt-Del"); new FXButton(generaltoolbar, TAB+_("Restore selected files from trash can")+PARS(key), filerestoreicon, this, XFileExplorer::ID_FILE_RESTORE, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "delete", "Shift-Del"); new FXButton(generaltoolbar, TAB+_("Delete selected files")+PARS(key), filedelete_permicon, this, XFileExplorer::ID_FILE_DELETE, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_window", "F3"); new FXButton(toolstoolbar, TAB+_("Launch Xfe")+PARS(key), minixfeicon, this, XFileExplorer::ID_NEW_WIN, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_root_window", "Shift-F3"); new FXButton(toolstoolbar, TAB+_("Launch Xfe as root")+PARS(key), minixferooticon, this, XFileExplorer::ID_SU, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "execute_command", "Ctrl-E"); new FXButton(toolstoolbar, TAB+_("Execute command")+PARS(key), runicon, this, XFileExplorer::ID_RUN, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "terminal", "Ctrl-T"); new FXButton(toolstoolbar, TAB+_("Launch terminal")+PARS(key), shellicon, this, XFileExplorer::ID_XTERM, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search", "Ctrl-F"); new FXButton(toolstoolbar, _("Search")+TAB+_("Search files and folders...")+PARS(key), searchicon, this, XFileExplorer::ID_FILE_SEARCH, BUTTON_TOOLBAR|ICON_BEFORE_TEXT|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); #if defined(linux) toolbarSeparator(toolstoolbar); // Mount and unmount buttons key = getApp()->reg().readStringEntry("KEYBINDINGS", "mount", "Ctrl-M"); btn = new FXButton(toolstoolbar, TAB+_("Mount (Linux only)")+PARS(key), maphosticon, lpanel, FilePanel::ID_MOUNT, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "unmount", "Ctrl-U"); btn = new FXButton(toolstoolbar, TAB+_("Unmount (Linux only)")+PARS(key), unmaphosticon, lpanel, FilePanel::ID_UMOUNT, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); #endif // Panel toolbar // Show one panel key = getApp()->reg().readStringEntry("KEYBINDINGS", "one_panel", "Ctrl-F1"); btn = new FXButton(paneltoolbar, TAB+_("Show one panel")+PARS(key), onepanelicon, this, XFileExplorer::ID_SHOW_ONE_PANEL, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Show tree and panel key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_panel", "Ctrl-F2"); btn = new FXButton(paneltoolbar, TAB+_("Show tree and panel")+PARS(key), treeonepanelicon, this, XFileExplorer::ID_SHOW_TREE_PANEL, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Show two panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "two_panels", "Ctrl-F3"); btn = new FXButton(paneltoolbar, TAB+_("Show two panels")+PARS(key), twopanelsicon, this, XFileExplorer::ID_SHOW_TWO_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Show tree and two panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_two_panels", "Ctrl-F4"); btn = new FXButton(paneltoolbar, TAB+_("Show tree and two panels")+PARS(key), treetwopanelsicon, this, XFileExplorer::ID_SHOW_TREE_TWO_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); toolbarSeparator(paneltoolbar); // Vertical panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); btn = new FXButton(paneltoolbar, TAB+_("Vertical panels")+PARS(key), vertpanelsicon, this, XFileExplorer::ID_VERT_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Horizontal panels key = getApp()->reg().readStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); btn = new FXButton(paneltoolbar, TAB+_("Horizontal panels")+PARS(key), horzpanelsicon, this, XFileExplorer::ID_HORZ_PANELS, BUTTON_TOOLBAR|FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT); hotkey = _parseAccel(key); btn->addHotKey(hotkey); toolbarSeparator(paneltoolbar); // Switch display modes key = getApp()->reg().readStringEntry("KEYBINDINGS", "big_icons", "F10"); btn = new FXButton(paneltoolbar, TAB+_("Big icon list")+PARS(key), bigiconsicon, lpanel, FilePanel::ID_SHOW_BIG_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "small_icons", "F11"); btn = new FXButton(paneltoolbar, TAB+_("Small icon list")+PARS(key), smalliconsicon, lpanel, FilePanel::ID_SHOW_MINI_ICONS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); key = getApp()->reg().readStringEntry("KEYBINDINGS", "detailed_file_list", "F12"); btn = new FXButton(paneltoolbar, TAB+_("Detailed file list")+PARS(key), detailsicon, lpanel, FilePanel::ID_SHOW_DETAILS, BUTTON_TOOLBAR|LAYOUT_TOP|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); // Location bar new FXLabel(locationbar, _("Location:")); key = getApp()->reg().readStringEntry("KEYBINDINGS", "clear_location", "Ctrl-L"); btn = new FXButton(locationbar, TAB+_("Clear location")+PARS(key), locationicon, this, ID_CLEAR_LOCATION, BUTTON_TOOLBAR|LAYOUT_CENTER_Y|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); hotkey = _parseAccel(key); btn->addHotKey(hotkey); address = new ComboBox(locationbar, LOCATION_BAR_LENGTH, this, ID_GOTO_LOCATION, COMBOBOX_INSERT_LAST|JUSTIFY_LEFT|LAYOUT_CENTER_Y); address->setNumVisible(5); new FXButton(locationbar, TAB+_("Go to location"), entericon, this, ID_GOTO_LOCATION, BUTTON_TOOLBAR|LAYOUT_CENTER_Y|LAYOUT_LEFT|ICON_BEFORE_TEXT|FRAME_RAISED); // Menus // File menu filemenu = new FXMenuPane(this); FXMenuCommand* mc = NULL; mc = new FXMenuCommand(filemenu, _("New &file..."), newfileicon, lpanel, FilePanel::ID_NEW_FILE); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_file", "Ctrl-N"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("New fo&lder..."), newfoldericon, lpanel, FilePanel::ID_NEW_DIR); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_folder", "F7"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("New s&ymlink..."), newlinkicon, lpanel, FilePanel::ID_NEW_SYMLINK); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_symlink", "Ctrl-J"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("Go &home"), homeicon, lpanel, FilePanel::ID_GO_HOME); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_home", "Ctrl-H"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Refresh"), reloadicon, this, XFileExplorer::ID_REFRESH); key = getApp()->reg().readStringEntry("KEYBINDINGS", "refresh", "Ctrl-R"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(filemenu); mc = new FXMenuCommand(filemenu, _("&Open"), fileopenicon, lpanel, FilePanel::ID_OPEN); key = getApp()->reg().readStringEntry("KEYBINDINGS", "open", "Ctrl-O"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("Re&name..."), renameiticon, this, XFileExplorer::ID_FILE_RENAME); key = getApp()->reg().readStringEntry("KEYBINDINGS", "rename", "F2"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Copy to..."), copy_clpicon, this, XFileExplorer::ID_FILE_COPYTO); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy_to", "F5"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Move to..."), moveiticon, this, XFileExplorer::ID_FILE_MOVETO); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to", "F6"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Symlink to..."), minilinkicon, this, XFileExplorer::ID_FILE_SYMLINK); key = getApp()->reg().readStringEntry("KEYBINDINGS", "symlink_to", "Ctrl-S"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("Mo&ve to trash"), filedeleteicon, this, XFileExplorer::ID_FILE_TRASH); key = getApp()->reg().readStringEntry("KEYBINDINGS", "move_to_trash", "Del"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("R&estore from trash"), filerestoreicon, this, XFileExplorer::ID_FILE_RESTORE); key = getApp()->reg().readStringEntry("KEYBINDINGS", "restore_from_trash", "Alt-Del"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Delete"), filedelete_permicon, this, XFileExplorer::ID_FILE_DELETE); key = getApp()->reg().readStringEntry("KEYBINDINGS", "delete", "Shift-Del"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(filemenu, _("&Properties"), attribicon, this, XFileExplorer::ID_FILE_PROPERTIES); key = getApp()->reg().readStringEntry("KEYBINDINGS", "properties", "F9"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(filemenu); mc = new FXMenuCommand(filemenu, _("&Quit"), quiticon, this, XFileExplorer::ID_QUIT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "quit", "Ctrl-Q"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); filemenutitle = new FXMenuTitle(menubar, _("&File"), NULL, filemenu); // Edit menu editmenu = new FXMenuPane(this); mc = new FXMenuCommand(editmenu, _("&Copy"), copy_clpicon, this, XFileExplorer::ID_FILE_COPY); key = getApp()->reg().readStringEntry("KEYBINDINGS", "copy", "Ctrl-C"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(editmenu, _("C&ut"), cut_clpicon, this, XFileExplorer::ID_FILE_CUT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "cut", "Ctrl-X"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(editmenu, _("&Paste"), paste_clpicon, this, XFileExplorer::ID_FILE_PASTE); key = getApp()->reg().readStringEntry("KEYBINDINGS", "paste", "Ctrl-V"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(editmenu); mc = new FXMenuCommand(editmenu, _("&Select all"), selallicon, lpanel, FilePanel::ID_SELECT_ALL); key = getApp()->reg().readStringEntry("KEYBINDINGS", "select_all", "Ctrl-A"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(editmenu, _("&Deselect all"), deselicon, lpanel, FilePanel::ID_DESELECT_ALL); key = getApp()->reg().readStringEntry("KEYBINDINGS", "deselect_all", "Ctrl-Z"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(editmenu, _("&Invert selection"), invselicon, lpanel, FilePanel::ID_SELECT_INVERSE); key = getApp()->reg().readStringEntry("KEYBINDINGS", "invert_selection", "Ctrl-I"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(editmenu); new FXMenuCommand(editmenu, _("P&references"), prefsicon, this, XFileExplorer::ID_PREFS); editmenutitle = new FXMenuTitle(menubar, _("&Edit"), NULL, editmenu); // View menu viewmenu = new FXMenuPane(this); new FXMenuCheck(viewmenu, _("&General toolbar"), generaltoolbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(viewmenu, _("&Tools toolbar"), toolstoolbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(viewmenu, _("&Panel toolbar"), paneltoolbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(viewmenu, _("&Location bar"), locationbar, FXWindow::ID_TOGGLESHOWN); new FXMenuCheck(viewmenu, _("&Status bar"), this, XFileExplorer::ID_TOGGLE_STATUS); new FXMenuSeparator(viewmenu); mc = new FXMenuRadio(viewmenu, _("&One panel"), this, XFileExplorer::ID_SHOW_ONE_PANEL); key = getApp()->reg().readStringEntry("KEYBINDINGS", "one_panel", "Ctrl-F1"); mc->setAccelText(key); mc = new FXMenuRadio(viewmenu, _("T&ree and panel"), this, XFileExplorer::ID_SHOW_TREE_PANEL); key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_panel", "Ctrl-F2"); mc->setAccelText(key); mc = new FXMenuRadio(viewmenu, _("Two &panels"), this, XFileExplorer::ID_SHOW_TWO_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "two_panels", "Ctrl-F3"); mc->setAccelText(key); mc = new FXMenuRadio(viewmenu, _("Tr&ee and two panels"), this, XFileExplorer::ID_SHOW_TREE_TWO_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "tree_two_panels", "Ctrl-F4"); mc->setAccelText(key); new FXMenuSeparator(viewmenu); mc = new FXMenuRadio(viewmenu, _("&Vertical panels"), this, XFileExplorer::ID_VERT_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "vert_panels", "Ctrl-Shift-F1"); mc->setAccelText(key); mc = new FXMenuRadio(viewmenu, _("&Horizontal panels"), this, XFileExplorer::ID_HORZ_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "horz_panels", "Ctrl-Shift-F2"); mc->setAccelText(key); viewmenutitle = new FXMenuTitle(menubar, _("&View"), NULL, viewmenu); // Bookmarks menu bookmarksmenu = new FXMenuPane(this); mc = new FXMenuCommand(bookmarksmenu, _("&Add bookmark"), setbookicon, this, ID_ADD_BOOKMARK); key = getApp()->reg().readStringEntry("KEYBINDINGS", "add_bookmark", "Ctrl-B"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(bookmarksmenu); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_1); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_2); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_3); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_4); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_5); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_6); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_7); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_8); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_9); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_10); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_11); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_12); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_13); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_14); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_15); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_16); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_17); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_18); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_19); new FXMenuCommand(bookmarksmenu, FXString::null, NULL, bookmarks, Bookmarks::ID_BOOKMARK_20); new FXMenuSeparator(bookmarksmenu); new FXMenuCommand(bookmarksmenu, _("&Clear bookmarks"), clrbookicon, bookmarks, Bookmarks::ID_CLEAR); bookmarksmenutitle = new FXMenuTitle(menubar, _("&Bookmarks"), NULL, bookmarksmenu); // Left Panel Menu lpanelmenu = new FXMenuPane(this); new FXMenuCommand(lpanelmenu, _("&Filter..."), filtericon, lpanel, FilePanel::ID_FILTER); new FXMenuCheck(lpanelmenu, _("&Hidden files"), lpanel->getList(), FileList::ID_TOGGLE_HIDDEN); new FXMenuCheck(lpanelmenu, _("&Thumbnails"), lpanel->getList(), FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(lpanelmenu); new FXMenuRadio(lpanelmenu, _("&Big icons"), lpanel->getList(), IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(lpanelmenu, _("&Small icons"), lpanel->getList(), IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(lpanelmenu, _("F&ull file list"), lpanel->getList(), IconList::ID_SHOW_DETAILS); new FXMenuSeparator(lpanelmenu); new FXMenuRadio(lpanelmenu, _("&Rows"), lpanel->getList(), FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(lpanelmenu, _("&Columns"), lpanel->getList(), FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(lpanelmenu, _("Autosize"), lpanel->getList(), FileList::ID_AUTOSIZE); new FXMenuSeparator(lpanelmenu); new FXMenuRadio(lpanelmenu, _("&Name"), lpanel->getList(), FileList::ID_SORT_BY_NAME); new FXMenuRadio(lpanelmenu, _("Si&ze"), lpanel->getList(), FileList::ID_SORT_BY_SIZE); new FXMenuRadio(lpanelmenu, _("T&ype"), lpanel->getList(), FileList::ID_SORT_BY_TYPE); new FXMenuRadio(lpanelmenu, _("E&xtension"), lpanel->getList(), FileList::ID_SORT_BY_EXT); new FXMenuRadio(lpanelmenu, _("D&ate"), lpanel->getList(), FileList::ID_SORT_BY_TIME); new FXMenuRadio(lpanelmenu, _("Us&er"), lpanel->getList(), FileList::ID_SORT_BY_USER); new FXMenuRadio(lpanelmenu, _("Gr&oup"), lpanel->getList(), FileList::ID_SORT_BY_GROUP); new FXMenuRadio(lpanelmenu, _("&Permissions"), lpanel->getList(), FileList::ID_SORT_BY_PERM); new FXMenuRadio(lpanelmenu, _("Deletion date"), lpanel->getList(), FileList::ID_SORT_BY_DELTIME); new FXMenuRadio(lpanelmenu, _("Original path"), lpanel->getList(), FileList::ID_SORT_BY_ORIGPATH); new FXMenuSeparator(lpanelmenu); new FXMenuCheck(lpanelmenu, _("I&gnore case"), lpanel->getList(), FileList::ID_SORT_CASE); new FXMenuCheck(lpanelmenu, _("Fol&ders first"), lpanel->getList(), FileList::ID_DIRS_FIRST); new FXMenuCheck(lpanelmenu, _("Re&verse order"), lpanel->getList(), FileList::ID_SORT_REVERSE); lpanelmenutitle = new FXMenuTitle(menubar, _("&Left panel"), NULL, lpanelmenu); // Right Panel Menu rpanelmenu = new FXMenuPane(this); new FXMenuCommand(rpanelmenu, _("&Filter"), filtericon, rpanel, FilePanel::ID_FILTER); new FXMenuCheck(rpanelmenu, _("&Hidden files"), rpanel->getList(), FileList::ID_TOGGLE_HIDDEN); new FXMenuCheck(rpanelmenu, _("&Thumbnails"), rpanel->getList(), FileList::ID_TOGGLE_THUMBNAILS); new FXMenuSeparator(rpanelmenu); new FXMenuRadio(rpanelmenu, _("&Big icons"), rpanel->getList(), IconList::ID_SHOW_BIG_ICONS); new FXMenuRadio(rpanelmenu, _("&Small icons"), rpanel->getList(), IconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(rpanelmenu, _("F&ull file list"), rpanel->getList(), IconList::ID_SHOW_DETAILS); new FXMenuSeparator(rpanelmenu); new FXMenuRadio(rpanelmenu, _("&Rows"), rpanel->getList(), FileList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(rpanelmenu, _("&Columns"), rpanel->getList(), FileList::ID_ARRANGE_BY_COLUMNS); new FXMenuCheck(rpanelmenu, _("Autosize"), rpanel->getList(), FileList::ID_AUTOSIZE); new FXMenuSeparator(rpanelmenu); new FXMenuRadio(rpanelmenu, _("&Name"), rpanel->getList(), FileList::ID_SORT_BY_NAME); new FXMenuRadio(rpanelmenu, _("Si&ze"), rpanel->getList(), FileList::ID_SORT_BY_SIZE); new FXMenuRadio(rpanelmenu, _("T&ype"), rpanel->getList(), FileList::ID_SORT_BY_TYPE); new FXMenuRadio(rpanelmenu, _("E&xtension"), rpanel->getList(), FileList::ID_SORT_BY_EXT); new FXMenuRadio(rpanelmenu, _("D&ate"), rpanel->getList(), FileList::ID_SORT_BY_TIME); new FXMenuRadio(rpanelmenu, _("Us&er"), rpanel->getList(), FileList::ID_SORT_BY_USER); new FXMenuRadio(rpanelmenu, _("Gr&oup"), rpanel->getList(), FileList::ID_SORT_BY_GROUP); new FXMenuRadio(rpanelmenu, _("&Permissions"), rpanel->getList(), FileList::ID_SORT_BY_PERM); new FXMenuRadio(rpanelmenu, _("Deletion date"), rpanel->getList(), FileList::ID_SORT_BY_DELTIME); new FXMenuRadio(rpanelmenu, _("Original path"), rpanel->getList(), FileList::ID_SORT_BY_ORIGPATH); new FXMenuSeparator(rpanelmenu); new FXMenuCheck(rpanelmenu, _("I&gnore case"), rpanel->getList(), FileList::ID_SORT_CASE); new FXMenuCheck(rpanelmenu, _("&Folders first"), rpanel->getList(), FileList::ID_DIRS_FIRST); new FXMenuCheck(rpanelmenu, _("Re&verse order"), rpanel->getList(), FileList::ID_SORT_REVERSE); rpanelmenutitle = new FXMenuTitle(menubar, _("&Right panel"), NULL, rpanelmenu); // Tools menu toolsmenu = new FXMenuPane(this); mc = new FXMenuCommand(toolsmenu, _("New &window"), minixfeicon, this, XFileExplorer::ID_NEW_WIN); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_window", "F3"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(toolsmenu, _("New &root window"), minixferooticon, this, XFileExplorer::ID_SU); key = getApp()->reg().readStringEntry("KEYBINDINGS", "new_root_window", "Shift-F3"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuSeparator(toolsmenu); mc = new FXMenuCommand(toolsmenu, _("E&xecute command..."), runicon, this, ID_RUN); key = getApp()->reg().readStringEntry("KEYBINDINGS", "execute_command", "Ctrl-E"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(toolsmenu, _("&Terminal"), minishellicon, this, XFileExplorer::ID_XTERM); key = getApp()->reg().readStringEntry("KEYBINDINGS", "terminal", "Ctrl-T"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(toolsmenu, _("&Synchronize panels"), syncpanelsicon, this, XFileExplorer::ID_SYNCHRONIZE_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "synchronize_panels", "Ctrl-Y"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(toolsmenu, _("Sw&itch panels"), switchpanelsicon, this, XFileExplorer::ID_SWITCH_PANELS); key = getApp()->reg().readStringEntry("KEYBINDINGS", "switch_panels", "Ctrl-K"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(toolsmenu, _("Go to script folder"), gotodiricon, lpanel, FilePanel::ID_GO_SCRIPTDIR); mc = new FXMenuCommand(toolsmenu, _("&Search files..."), searchicon, this, XFileExplorer::ID_FILE_SEARCH); key = getApp()->reg().readStringEntry("KEYBINDINGS", "search", "Ctrl-F"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); #if defined(linux) new FXMenuSeparator(toolsmenu); mc = new FXMenuCommand(toolsmenu, _("&Mount"), maphosticon, lpanel, FilePanel::ID_MOUNT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "mount", "Ctrl-M"); mc->setAccelText(key); mc = new FXMenuCommand(toolsmenu, _("&Unmount"), unmaphosticon, lpanel, FilePanel::ID_UMOUNT); key = getApp()->reg().readStringEntry("KEYBINDINGS", "unmount", "Ctrl-U"); mc->setAccelText(key); #endif toolsmenutitle = new FXMenuTitle(menubar, _("&Tools"), NULL, toolsmenu); // Trash menu trashmenu = new FXMenuPane(this); mc = new FXMenuCommand(trashmenu, _("&Go to trash"), totrashicon, lpanel, FilePanel::ID_GO_TRASH); key = getApp()->reg().readStringEntry("KEYBINDINGS", "go_to_trash", "Ctrl-F8"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); mc = new FXMenuCommand(trashmenu, _("&Trash size"), filedeleteicon, this, XFileExplorer::ID_TRASH_SIZE); mc = new FXMenuCommand(trashmenu, _("&Empty trash can"), trash_fullicon, this, XFileExplorer::ID_EMPTY_TRASH); key = getApp()->reg().readStringEntry("KEYBINDINGS", "empty_trash_can", "Ctrl-Del"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); trashmenutitle = new FXMenuTitle(menubar, _("T&rash"), NULL, trashmenu); // Help menu helpmenu = new FXMenuPane(this); mc = new FXMenuCommand(helpmenu, _("&Help"), helpicon, this, ID_HELP); key = getApp()->reg().readStringEntry("KEYBINDINGS", "help", "F1"); mc->setAccelText(key); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, mc, FXSEL(SEL_COMMAND, FXMenuCommand::ID_ACCEL)); new FXMenuCommand(helpmenu, _("&About X File Explorer"), NULL, this, ID_ABOUT); helpmenutitle = new FXMenuTitle(menubar, _("&Help"), NULL, helpmenu); // Other accelerators key = getApp()->reg().readStringEntry("KEYBINDINGS", "edit", "F4"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_EDIT)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "view", "Shift-F4"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_VIEW)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "compare", "F8"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_COMPARE)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_dirs", "Ctrl-F5"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, dirpanel, FXSEL(SEL_COMMAND, DirPanel::ID_TOGGLE_HIDDEN)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "filter", "Ctrl-D"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_FILTER_CURRENT)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "hidden_files", "Ctrl-F6"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_TOGGLE_HIDDEN)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "thumbnails", "Ctrl-F7"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_TOGGLE_THUMBNAILS)); key = getApp()->reg().readStringEntry("KEYBINDINGS", "close", "Ctrl-W"); hotkey = _parseAccel(key); getAccelTable()->addAccel(hotkey, this, FXSEL(SEL_COMMAND, XFileExplorer::ID_QUIT)); // Escape key getAccelTable()->addAccel(KEY_Escape, lpanel, FXSEL(SEL_COMMAND, FilePanel::ID_DESELECT_ALL)); // Make a tool tip new FXToolTip(app, 0); // File operations dialog rundialog = NULL; prefsdialog = NULL; helpwindow = NULL; searchwindow = NULL; // Initial focus is on (left) file panel panelfocus = FILEPANEL_FOCUS; // Trahscan locations trashfileslocation = xdgdatahome + PATHSEPSTRING TRASHFILESPATH; trashinfolocation = xdgdatahome + PATHSEPSTRING TRASHINFOPATH; // Start location (we return to the start location after each chdir) startlocation = FXSystem::getCurrentDirectory(); // Other initializations starticonic = iconic; startmaximized = maximized; startdir1 = ""; startdir2 = ""; startURIs = URIs; nbstartfiles = 0; stop = false; // Class variables initializations panel_view = 0; RunHistSize = 0; liststyle = 0; twopanels_lpanel_pct = 0.0; treepanel_tree_pct = 0.0; treetwopanels_tree_pct = 0.0; treetwopanels_lpanel_pct = 0.0; search_xpos = 0; search_ypos = 0; search_width = 0; search_height = 0; winshow = true; // Read URIs to open on startup // Find if startdir1 and startdir2 are specified // Get the number of files to open, if any for (FXuint n = 0; n < startURIs.size(); n++) { if (::isDirectory(startURIs[n])) { if (startdir1 == "") { startdir1 = startURIs[n]; continue; } if (startdir2 == "") { startdir2 = startURIs[n]; continue; } } if (::isFile(startURIs[n])) { nbstartfiles++; } } prevdir = FXString::null; prev_width = getWidth(); } // Save configuration when quitting void XFileExplorer::saveConfig() { // Get autosave flag FXbool auto_save_layout = getApp()->reg().readUnsignedEntry("OPTIONS", "auto_save_layout", true); if (auto_save_layout == true) { FXString sort_func; // Dir panel options if (dirpanel->getSortFunc() == DirList::ascendingCase) { sort_func = "ascendingCase"; } else if (dirpanel->getSortFunc() == DirList::descendingCase) { sort_func = "descendingCase"; } else if (dirpanel->getSortFunc() == DirList::ascending) { sort_func = "ascending"; } else if (dirpanel->getSortFunc() == DirList::descending) { sort_func = "descending"; } else { sort_func = "ascendingCase"; } getApp()->reg().writeStringEntry("DIR PANEL", "sort_func", sort_func.text()); getApp()->reg().writeUnsignedEntry("DIR PANEL", "hidden_dir", dirpanel->shownHiddenFiles()); // Search panel options if (searchwindow) { // Search dialog properties getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "search_xpos", (FXuint)searchwindow->getX()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "search_ypos", (FXuint)searchwindow->getY()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "search_width", (FXuint)searchwindow->getWidth()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "search_height", (FXuint)searchwindow->getHeight()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "name_size", (FXuint)searchwindow->getHeaderSize(0)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "dir_size", (FXuint)searchwindow->getHeaderSize(1)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "size_size", (FXuint)searchwindow->getHeaderSize(2)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "type_size", (FXuint)searchwindow->getHeaderSize(3)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "ext_size", (FXuint)searchwindow->getHeaderSize(4)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "modd_size", (FXuint)searchwindow->getHeaderSize(5)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "user_size", (FXuint)searchwindow->getHeaderSize(6)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "grou_size", (FXuint)searchwindow->getHeaderSize(7)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "attr_size", (FXuint)searchwindow->getHeaderSize(8)); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "showthumbnails", (FXuint)searchwindow->shownThumbnails()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "find_ignorecase", (FXuint)searchwindow->getFindIgnoreCase()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "find_hidden", (FXuint)searchwindow->getFindHidden()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "grep_ignorecase", (FXuint)searchwindow->getGrepIgnoreCase()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "moreoptions", (FXuint)searchwindow->shownMoreOptions()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "liststyle", (FXuint)searchwindow->getListStyle()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "dirs_first", (FXuint)searchwindow->getDirsFirst()); getApp()->reg().writeUnsignedEntry("SEARCH PANEL", "ignore_case", (FXuint)searchwindow->getIgnoreCase()); // Get and write sort function for search window if (searchwindow->getSortFunc() == FileList::ascendingCase) { sort_func = "ascendingCase"; } else if (searchwindow->getSortFunc() == FileList::ascendingCaseMix) { sort_func = "ascendingCaseMix"; } else if (searchwindow->getSortFunc() == FileList::descendingCase) { sort_func = "descendingCase"; } else if (searchwindow->getSortFunc() == FileList::descendingCaseMix) { sort_func = "descendingCaseMix"; } else if (searchwindow->getSortFunc() == FileList::ascending) { sort_func = "ascending"; } else if (searchwindow->getSortFunc() == FileList::ascendingMix) { sort_func = "ascendingMix"; } else if (searchwindow->getSortFunc() == FileList::descending) { sort_func = "descending"; } else if (searchwindow->getSortFunc() == FileList::descendingMix) { sort_func = "descendingMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingDirCase) { sort_func = "ascendingDirCase"; } else if (searchwindow->getSortFunc() == FileList::ascendingDirCaseMix) { sort_func = "ascendingDirCaseMix"; } else if (searchwindow->getSortFunc() == FileList::descendingDirCase) { sort_func = "descendingDirCase"; } else if (searchwindow->getSortFunc() == FileList::descendingDirCaseMix) { sort_func = "descendingDirCaseMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingDir) { sort_func = "ascendingDir"; } else if (searchwindow->getSortFunc() == FileList::ascendingDirMix) { sort_func = "ascendingDirMix"; } else if (searchwindow->getSortFunc() == FileList::descendingDir) { sort_func = "descendingDir"; } else if (searchwindow->getSortFunc() == FileList::descendingDirMix) { sort_func = "descendingDirMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingSize) { sort_func = "ascendingSize"; } else if (searchwindow->getSortFunc() == FileList::ascendingSizeMix) { sort_func = "ascendingSizeMix"; } else if (searchwindow->getSortFunc() == FileList::descendingSize) { sort_func = "descendingSize"; } else if (searchwindow->getSortFunc() == FileList::descendingSizeMix) { sort_func = "descendingSizeMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingType) { sort_func = "ascendingType"; } else if (searchwindow->getSortFunc() == FileList::ascendingTypeMix) { sort_func = "ascendingTypeMix"; } else if (searchwindow->getSortFunc() == FileList::descendingType) { sort_func = "descendingType"; } else if (searchwindow->getSortFunc() == FileList::descendingTypeMix) { sort_func = "descendingTypeMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingExt) { sort_func = "ascendingExt"; } else if (searchwindow->getSortFunc() == FileList::ascendingExtMix) { sort_func = "ascendingExtMix"; } else if (searchwindow->getSortFunc() == FileList::descendingExt) { sort_func = "descendingExt"; } else if (searchwindow->getSortFunc() == FileList::descendingExtMix) { sort_func = "descendingExtMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingTime) { sort_func = "ascendingTime"; } else if (searchwindow->getSortFunc() == FileList::ascendingTimeMix) { sort_func = "ascendingTimeMix"; } else if (searchwindow->getSortFunc() == FileList::descendingTime) { sort_func = "descendingTime"; } else if (searchwindow->getSortFunc() == FileList::descendingTimeMix) { sort_func = "descendingTimeMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingUser) { sort_func = "ascendingUser"; } else if (searchwindow->getSortFunc() == FileList::ascendingUserMix) { sort_func = "ascendingUserMix"; } else if (searchwindow->getSortFunc() == FileList::descendingUser) { sort_func = "descendingUser"; } else if (searchwindow->getSortFunc() == FileList::descendingUserMix) { sort_func = "descendingUserMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingGroup) { sort_func = "ascendingGroup"; } else if (searchwindow->getSortFunc() == FileList::ascendingGroupMix) { sort_func = "ascendingGroupMix"; } else if (searchwindow->getSortFunc() == FileList::descendingGroup) { sort_func = "descendingGroup"; } else if (searchwindow->getSortFunc() == FileList::descendingGroupMix) { sort_func = "descendingGroupMix"; } else if (searchwindow->getSortFunc() == FileList::ascendingPerm) { sort_func = "ascendingPerm"; } else if (searchwindow->getSortFunc() == FileList::ascendingPermMix) { sort_func = "ascendingPermMix"; } else if (searchwindow->getSortFunc() == FileList::descendingPerm) { sort_func = "descendingPerm"; } else if (searchwindow->getSortFunc() == FileList::descendingPermMix) { sort_func = "descendingPermMix"; } else { sort_func = "ascendingCase"; } getApp()->reg().writeStringEntry("SEARCH PANEL", "sort_func", sort_func.text()); } // Left panel options getApp()->reg().writeUnsignedEntry("LEFT PANEL", "name_size", lpanel->getHeaderSize(0)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "size_size", lpanel->getHeaderSize(1)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "type_size", lpanel->getHeaderSize(2)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "ext_size", lpanel->getHeaderSize(3)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "modd_size", lpanel->getHeaderSize(4)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "user_size", lpanel->getHeaderSize(5)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "grou_size", lpanel->getHeaderSize(6)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "attr_size", lpanel->getHeaderSize(7)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "deldate_size", lpanel->getHeaderSize(8)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "origpath_size", lpanel->getHeaderSize(9)); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "liststyle", lpanel->getListStyle()); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "hiddenfiles", lpanel->shownHiddenFiles()); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "showthumbnails", lpanel->shownThumbnails()); // Get and write sort function for left panel if (lpanel->getSortFunc() == FileList::ascendingCase) { sort_func = "ascendingCase"; } else if (lpanel->getSortFunc() == FileList::ascendingCaseMix) { sort_func = "ascendingCaseMix"; } else if (lpanel->getSortFunc() == FileList::descendingCase) { sort_func = "descendingCase"; } else if (lpanel->getSortFunc() == FileList::descendingCaseMix) { sort_func = "descendingCaseMix"; } else if (lpanel->getSortFunc() == FileList::ascending) { sort_func = "ascending"; } else if (lpanel->getSortFunc() == FileList::ascendingMix) { sort_func = "ascendingMix"; } else if (lpanel->getSortFunc() == FileList::descending) { sort_func = "descending"; } else if (lpanel->getSortFunc() == FileList::descendingMix) { sort_func = "descendingMix"; } else if (lpanel->getSortFunc() == FileList::ascendingSize) { sort_func = "ascendingSize"; } else if (lpanel->getSortFunc() == FileList::ascendingSizeMix) { sort_func = "ascendingSizeMix"; } else if (lpanel->getSortFunc() == FileList::descendingSize) { sort_func = "descendingSize"; } else if (lpanel->getSortFunc() == FileList::descendingSizeMix) { sort_func = "descendingSizeMix"; } else if (lpanel->getSortFunc() == FileList::ascendingType) { sort_func = "ascendingType"; } else if (lpanel->getSortFunc() == FileList::ascendingTypeMix) { sort_func = "ascendingTypeMix"; } else if (lpanel->getSortFunc() == FileList::descendingType) { sort_func = "descendingType"; } else if (lpanel->getSortFunc() == FileList::descendingTypeMix) { sort_func = "descendingTypeMix"; } else if (lpanel->getSortFunc() == FileList::ascendingExt) { sort_func = "ascendingExt"; } else if (lpanel->getSortFunc() == FileList::ascendingExtMix) { sort_func = "ascendingExtMix"; } else if (lpanel->getSortFunc() == FileList::descendingExt) { sort_func = "descendingExt"; } else if (lpanel->getSortFunc() == FileList::descendingExtMix) { sort_func = "descendingExtMix"; } else if (lpanel->getSortFunc() == FileList::ascendingTime) { sort_func = "ascendingTime"; } else if (lpanel->getSortFunc() == FileList::ascendingTimeMix) { sort_func = "ascendingTimeMix"; } else if (lpanel->getSortFunc() == FileList::descendingTime) { sort_func = "descendingTime"; } else if (lpanel->getSortFunc() == FileList::descendingTimeMix) { sort_func = "descendingTimeMix"; } else if (lpanel->getSortFunc() == FileList::ascendingUser) { sort_func = "ascendingUser"; } else if (lpanel->getSortFunc() == FileList::ascendingUserMix) { sort_func = "ascendingUserMix"; } else if (lpanel->getSortFunc() == FileList::descendingUser) { sort_func = "descendingUser"; } else if (lpanel->getSortFunc() == FileList::descendingUserMix) { sort_func = "descendingUserMix"; } else if (lpanel->getSortFunc() == FileList::ascendingGroup) { sort_func = "ascendingGroup"; } else if (lpanel->getSortFunc() == FileList::ascendingGroupMix) { sort_func = "ascendingGroupMix"; } else if (lpanel->getSortFunc() == FileList::descendingGroup) { sort_func = "descendingGroup"; } else if (lpanel->getSortFunc() == FileList::descendingGroupMix) { sort_func = "descendingGroupMix"; } else if (lpanel->getSortFunc() == FileList::ascendingPerm) { sort_func = "ascendingPerm"; } else if (lpanel->getSortFunc() == FileList::ascendingPermMix) { sort_func = "ascendingPermMix"; } else if (lpanel->getSortFunc() == FileList::descendingPerm) { sort_func = "descendingPerm"; } else if (lpanel->getSortFunc() == FileList::descendingPermMix) { sort_func = "descendingPermMix"; } else { sort_func = "ascendingCase"; } getApp()->reg().writeStringEntry("LEFT PANEL", "sort_func", sort_func.text()); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "ignore_case", lpanel->getIgnoreCase()); getApp()->reg().writeUnsignedEntry("LEFT PANEL", "dirs_first", lpanel->getDirsFirst()); // Right panel options getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "name_size", rpanel->getHeaderSize(0)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "size_size", rpanel->getHeaderSize(1)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "type_size", rpanel->getHeaderSize(2)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "ext_size", rpanel->getHeaderSize(3)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "modd_size", rpanel->getHeaderSize(4)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "user_size", rpanel->getHeaderSize(5)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "grou_size", rpanel->getHeaderSize(6)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "attr_size", rpanel->getHeaderSize(7)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "deldate_size", rpanel->getHeaderSize(8)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "origpath_size", rpanel->getHeaderSize(9)); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "liststyle", rpanel->getListStyle()); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "hiddenfiles", rpanel->shownHiddenFiles()); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "showthumbnails", rpanel->shownThumbnails()); // Get and write sort function for right panel if (rpanel->getSortFunc() == FileList::ascendingCase) { sort_func = "ascendingCase"; } else if (rpanel->getSortFunc() == FileList::ascendingCaseMix) { sort_func = "ascendingCaseMix"; } else if (rpanel->getSortFunc() == FileList::descendingCase) { sort_func = "descendingCase"; } else if (rpanel->getSortFunc() == FileList::descendingCaseMix) { sort_func = "descendingCaseMix"; } else if (rpanel->getSortFunc() == FileList::ascending) { sort_func = "ascending"; } else if (rpanel->getSortFunc() == FileList::ascendingMix) { sort_func = "ascendingMix"; } else if (rpanel->getSortFunc() == FileList::descending) { sort_func = "descending"; } else if (rpanel->getSortFunc() == FileList::descendingMix) { sort_func = "descendingMix"; } else if (rpanel->getSortFunc() == FileList::ascendingSize) { sort_func = "ascendingSize"; } else if (rpanel->getSortFunc() == FileList::ascendingSizeMix) { sort_func = "ascendingSizeMix"; } else if (rpanel->getSortFunc() == FileList::descendingSize) { sort_func = "descendingSize"; } else if (rpanel->getSortFunc() == FileList::descendingSizeMix) { sort_func = "descendingSizeMix"; } else if (rpanel->getSortFunc() == FileList::ascendingType) { sort_func = "ascendingType"; } else if (rpanel->getSortFunc() == FileList::ascendingTypeMix) { sort_func = "ascendingTypeMix"; } else if (rpanel->getSortFunc() == FileList::descendingType) { sort_func = "descendingType"; } else if (rpanel->getSortFunc() == FileList::descendingTypeMix) { sort_func = "descendingTypeMix"; } else if (rpanel->getSortFunc() == FileList::ascendingExt) { sort_func = "ascendingExt"; } else if (rpanel->getSortFunc() == FileList::ascendingExtMix) { sort_func = "ascendingExtMix"; } else if (rpanel->getSortFunc() == FileList::descendingExt) { sort_func = "descendingExt"; } else if (rpanel->getSortFunc() == FileList::descendingExtMix) { sort_func = "descendingExtMix"; } else if (rpanel->getSortFunc() == FileList::ascendingTime) { sort_func = "ascendingTime"; } else if (rpanel->getSortFunc() == FileList::ascendingTimeMix) { sort_func = "ascendingTimeMix"; } else if (rpanel->getSortFunc() == FileList::descendingTime) { sort_func = "descendingTime"; } else if (rpanel->getSortFunc() == FileList::descendingTimeMix) { sort_func = "descendingTimeMix"; } else if (rpanel->getSortFunc() == FileList::ascendingUser) { sort_func = "ascendingUser"; } else if (rpanel->getSortFunc() == FileList::ascendingUserMix) { sort_func = "ascendingUserMix"; } else if (rpanel->getSortFunc() == FileList::descendingUser) { sort_func = "descendingUser"; } else if (rpanel->getSortFunc() == FileList::descendingUserMix) { sort_func = "descendingUserMix"; } else if (rpanel->getSortFunc() == FileList::ascendingGroup) { sort_func = "ascendingGroup"; } else if (rpanel->getSortFunc() == FileList::ascendingGroupMix) { sort_func = "ascendingGroupMix"; } else if (rpanel->getSortFunc() == FileList::descendingGroup) { sort_func = "descendingGroup"; } else if (rpanel->getSortFunc() == FileList::descendingGroupMix) { sort_func = "descendingGroupMix"; } else if (rpanel->getSortFunc() == FileList::ascendingPerm) { sort_func = "ascendingPerm"; } else if (rpanel->getSortFunc() == FileList::ascendingPermMix) { sort_func = "ascendingPermMix"; } else if (rpanel->getSortFunc() == FileList::descendingPerm) { sort_func = "descendingPerm"; } else if (rpanel->getSortFunc() == FileList::descendingPermMix) { sort_func = "descendingPermMix"; } else { sort_func = "ascendingCase"; } getApp()->reg().writeStringEntry("RIGHT PANEL", "sort_func", sort_func.text()); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "ignore_case", rpanel->getIgnoreCase()); getApp()->reg().writeUnsignedEntry("RIGHT PANEL", "dirs_first", rpanel->getDirsFirst()); // Global options getApp()->reg().writeUnsignedEntry("OPTIONS", "width", (FXuint)getWidth()); getApp()->reg().writeUnsignedEntry("OPTIONS", "height", (FXuint)getHeight()); // Get value of window position flag and position the window FXbool save_win_pos = getApp()->reg().readUnsignedEntry("SETTINGS", "save_win_pos", false); if (save_win_pos) { // Account for the Window Manager border size XWindowAttributes xwattr; if (XGetWindowAttributes((Display*)getApp()->getDisplay(), this->id(), &xwattr)) { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()-xwattr.x); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()-xwattr.y); } else { getApp()->reg().writeIntEntry("OPTIONS", "xpos", getX()); getApp()->reg().writeIntEntry("OPTIONS", "ypos", getY()); } } getApp()->reg().writeUnsignedEntry("OPTIONS", "generaltoolbar", (FXuint)generaltoolbar->shown()); getApp()->reg().writeUnsignedEntry("OPTIONS", "toolstoolbar", (FXuint)toolstoolbar->shown()); getApp()->reg().writeUnsignedEntry("OPTIONS", "paneltoolbar", (FXuint)paneltoolbar->shown()); getApp()->reg().writeUnsignedEntry("OPTIONS", "locationbar", (FXuint)locationbar->shown()); getApp()->reg().writeUnsignedEntry("OPTIONS", "status", (FXuint)lpanel->statusbarShown()); getApp()->reg().writeUnsignedEntry("SETTINGS", "file_tooltips", (FXuint)file_tooltips); getApp()->reg().writeUnsignedEntry("SETTINGS", "relative_resize", (FXuint)relative_resize); getApp()->reg().writeRealEntry("OPTIONS", "treepanel_tree_pct", (int)(treepanel_tree_pct*1000)/1000.0); getApp()->reg().writeRealEntry("OPTIONS", "twopanels_lpanel_pct", (int)(twopanels_lpanel_pct*1000)/1000.0); getApp()->reg().writeRealEntry("OPTIONS", "treetwopanels_tree_pct", (int)(treetwopanels_tree_pct*1000)/1000.0); getApp()->reg().writeRealEntry("OPTIONS", "treetwopanels_lpanel_pct", (int)(treetwopanels_lpanel_pct*1000)/1000.0); // Panel stacking getApp()->reg().writeUnsignedEntry("OPTIONS", "vert_panels", vertpanels); // Save panel view only if not given from command line if (panel_mode == -1) { getApp()->reg().writeUnsignedEntry("OPTIONS", "panel_view", (FXuint)panel_view); } getApp()->reg().writeUnsignedEntry("SETTINGS", "single_click", single_click); FXString history = ""; for (int i = 0; i < RunHistSize; i++) { history += RunHistory[i]; history += ":"; } if (RunHistSize) { getApp()->reg().writeStringEntry("HISTORY", "run", history.text()); } history = ""; for (int i = 0; i < OpenNum; i++) { history += OpenHistory[i]; history += ":"; } if (OpenNum) { getApp()->reg().writeStringEntry("HISTORY", "open", history.text()); } history = ""; for (int i = 0; i < FilterNum; i++) { history += FilterHistory[i]; history += ":"; } if (FilterNum) { getApp()->reg().writeStringEntry("HISTORY", "filter", history.text()); } } // Last visited directories getApp()->reg().writeStringEntry("LEFT PANEL", "lastdir", lpanel->getDirectory().text()); getApp()->reg().writeStringEntry("RIGHT PANEL", "lastdir", rpanel->getDirectory().text()); getApp()->reg().write(); } // Make application void XFileExplorer::create() { // Switch to two panels mode if startdir2 was specified // and no particular panel mode was selected if ((startdir2 != "") && (panel_mode == -1)) { panel_mode = 2; } // Eventually select panel mode from the command line option // or revert to last saved panel view switch (panel_mode) { case 0: panel_view = TREE_PANEL; break; case 1: panel_view = ONE_PANEL; break; case 2: panel_view = TWO_PANELS; break; case 3: panel_view = TREE_TWO_PANELS; break; default: panel_view = getApp()->reg().readUnsignedEntry("OPTIONS", "panel_view", TREE_PANEL); } int width = getApp()->reg().readUnsignedEntry("OPTIONS", "width", DEFAULT_WINDOW_WIDTH); int height = getApp()->reg().readUnsignedEntry("OPTIONS", "height", DEFAULT_WINDOW_HEIGHT); int save_win_pos = getApp()->reg().readUnsignedEntry("SETTINGS", "save_win_pos", false); if (save_win_pos) { int xpos = getApp()->reg().readIntEntry("OPTIONS", "xpos", DEFAULT_WINDOW_XPOS); int ypos = getApp()->reg().readIntEntry("OPTIONS", "ypos", DEFAULT_WINDOW_YPOS); position(xpos, ypos, width, height); } else { position(getX(), getY(), width, height); } // Search dialog geometry search_xpos = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "search_xpos", 200); search_ypos = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "search_ypos", 200); search_width = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "search_width", 650); search_height = getApp()->reg().readUnsignedEntry("SEARCH PANEL", "search_height", 480); FXMainWindow::create(); twopanels_lpanel_pct = getApp()->reg().readRealEntry("OPTIONS", "twopanels_lpanel_pct", 0.50); treepanel_tree_pct = getApp()->reg().readRealEntry("OPTIONS", "treepanel_tree_pct", 0.20); treetwopanels_tree_pct = getApp()->reg().readRealEntry("OPTIONS", "treetwopanels_tree_pct", 0.20); treetwopanels_lpanel_pct = getApp()->reg().readRealEntry("OPTIONS", "treetwopanels_lpanel_pct", 0.40); int window_width = getWidth(); int window_height = getHeight(); switch (panel_view) { case ONE_PANEL: rpanel->hide(); dirpanel->hide(); // Handle drag corner rpanel->showCorner(false); lpanel->showCorner(true); // Handle active icon lpanel->showActiveIcon(false); lpanel->setWidth((int)round(1.0*window_width)); break; case TWO_PANELS: dirpanel->hide(); if (vertpanels) { lpanel->setWidth((int)round(twopanels_lpanel_pct*window_width)); } else { lpanel->setHeight((int)round(twopanels_lpanel_pct*window_height)); } // Handle drag corner rpanel->showCorner(true); lpanel->showCorner(false); // Handle active icon lpanel->showActiveIcon(true); break; case TREE_PANEL: rpanel->hide(); dirpanel->setWidth((int)round(treepanel_tree_pct*window_width)); lpanel->setWidth((int)round((1.0-treepanel_tree_pct)*window_width)); // Handle drag corner rpanel->showCorner(false); lpanel->showCorner(true); // Handle active icon lpanel->showActiveIcon(true); break; case TREE_TWO_PANELS: dirpanel->setWidth((int)round(treetwopanels_tree_pct*window_width)); if (vertpanels) { lpanel->setWidth((int)round(treetwopanels_lpanel_pct*window_width)); } else { lpanel->setHeight((int)round(treetwopanels_lpanel_pct*window_height)); } // Handle drag corner rpanel->showCorner(true); lpanel->showCorner(false); // Handle active icon lpanel->showActiveIcon(true); break; } if (!getApp()->reg().readUnsignedEntry("OPTIONS", "generaltoolbar", true)) { generaltoolbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } if (!getApp()->reg().readUnsignedEntry("OPTIONS", "toolstoolbar", true)) { toolstoolbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } if (!getApp()->reg().readUnsignedEntry("OPTIONS", "paneltoolbar", true)) { paneltoolbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } if (!getApp()->reg().readUnsignedEntry("OPTIONS", "locationbar", true)) { locationbar->handle(this, FXSEL(SEL_COMMAND, FXWindow::ID_TOGGLESHOWN), NULL); } if (!getApp()->reg().readUnsignedEntry("OPTIONS", "status", true)) { handle(this, FXSEL(SEL_COMMAND, XFileExplorer::ID_TOGGLE_STATUS), NULL); } file_tooltips = getApp()->reg().readUnsignedEntry("SETTINGS", "file_tooltips", 1); relative_resize = getApp()->reg().readUnsignedEntry("SETTINGS", "relative_resize", 1); // Wheel scrolling int wheellines = getApp()->reg().readUnsignedEntry("SETTINGS", "wheellines", 5); getApp()->setWheelLines(wheellines); // If there are only files to open, tell Xfe not to show its window winshow = true; if ((startdir1 == "") && (startdir2 == "") && (nbstartfiles > 0)) { winshow = false; } // Read start directory mode int startdirmode = getApp()->reg().readUnsignedEntry("OPTIONS", "startdir_mode", START_HOMEDIR); // Open left and right panels in starting directories (if specified) or in home / current or last directory if (startdir1 == "") { switch (startdirmode) { case START_HOMEDIR: startdir1 = FXSystem::getHomeDirectory(); break; case START_CURRENTDIR: startdir1 = FXSystem::getCurrentDirectory(); break; case START_LASTDIR: startdir1 = getApp()->reg().readStringEntry("LEFT PANEL", "lastdir", ROOTDIR); break; } } if (startdir2 == "") { switch (startdirmode) { case START_HOMEDIR: startdir2 = FXSystem::getHomeDirectory(); break; case START_CURRENTDIR: startdir2 = FXSystem::getCurrentDirectory(); break; case START_LASTDIR: startdir2 = getApp()->reg().readStringEntry("RIGHT PANEL", "lastdir", ROOTDIR); break; } } lpanel->setDirectory(startdir1, true); lpanel->setPathLink(startdir1); lpanel->setPathText(startdir1); rpanel->setDirectory(startdir2, true); rpanel->setPathLink(startdir2); rpanel->setPathText(startdir2); dirpanel->setDirectory(startdir1, true); // Open file on startup, if any if (nbstartfiles > 0) { openFiles(startURIs); } // Show window if (winshow) { show(); } // Set file panels list style liststyle = getApp()->reg().readUnsignedEntry("LEFT PANEL", "liststyle", _ICONLIST_DETAILED ); lpanel->setListStyle(liststyle); liststyle = getApp()->reg().readUnsignedEntry("RIGHT PANEL", "liststyle", _ICONLIST_DETAILED ); rpanel->setListStyle(liststyle); // Show or hide hidden files listed in panels FXbool hiddenfiles = getApp()->reg().readUnsignedEntry("LEFT PANEL", "hiddenfiles", 0); lpanel->showHiddenFiles(hiddenfiles); hiddenfiles = getApp()->reg().readUnsignedEntry("RIGHT PANEL", "hiddenfiles", 0); rpanel->showHiddenFiles(hiddenfiles); // Show or hide hidden directories listed in dirpanel FXbool hidden_dir = getApp()->reg().readUnsignedEntry("DIR PANEL", "hidden_dir", 0); dirpanel->showHiddenFiles(hidden_dir); // History FXString history = getApp()->reg().readStringEntry("HISTORY", "run", ""); int i; FXString histent; RunHistSize = 0; if (history != "") { for (i = 0; ; i++) { histent = history.section(':', i); if (streq(histent.text(), "")) { break; } strlcpy(RunHistory[i], histent.text(), histent.length()+1); } RunHistSize = i; } history = getApp()->reg().readStringEntry("HISTORY", "open", ""); histent = ""; OpenNum = 0; if (history != "") { for (i = 0; ; i++) { histent = history.section(':', i); if (streq(histent.text(), "")) { break; } strlcpy(OpenHistory[i], histent.text(), histent.length()+1); } OpenNum = i; } history = getApp()->reg().readStringEntry("HISTORY", "filter", ""); histent = ""; FilterNum = 0; if (history != "") { for (i = 0; ; i++) { histent = history.section(':', i); if (streq(histent.text(), "")) { break; } strlcpy(FilterHistory[i], histent.text(), histent.length()+1); } FilterNum = i; } getApp()->forceRefresh(); // Running as root? FXbool root_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "root_warn", true); if ((getuid() == 0) && root_warn) { MessageBox::information(this, BOX_OK, _("Warning"), _("Running Xfe as root!")); } // Initial focus is always on the left panel lpanel->setFocusOnList(); #if defined(linux) // Warning message if a mount point is down FXbool mount_warn = getApp()->reg().readUnsignedEntry("OPTIONS", "mount_warn", true); if (mount_warn) { int d; for (d = updevices->first(); d < updevices->size(); d = updevices->next(d)) { if (streq(updevices->data(d), "down")) { MessageBox::warning(this, BOX_OK, _("Warning"), _("Mount point %s is not responding..."), updevices->key(d)); } } } #endif // If no Xfe local configuration exists (i.e. at first call or after a purge of the configuration files), // copy the global xferc file to the local configuration directory, and read / write the registry int mask; FXString configlocation = xdgconfighome + PATHSEPSTRING XFECONFIGPATH; FXString configpath = configlocation + PATHSEPSTRING XFECONFIGNAME; if (!::exists(configpath)) { // If old configuration path (i.e. ~/.xfe) exists then warn the user about the new configuration scheme FXString oldconfigpath = homedir + PATHSEPSTRING ".xfe"; if (::exists(oldconfigpath)) { // Display warning message FXString message; message.format(_("Starting from Xfe 1.32, the location of the configuration files has changed to '%s'.\nNote you can manually edit the new configuration files to import your old customizations..."), configlocation.text()); MessageBox::warning(this, BOX_OK, _("Warning"), "%s", message.text()); } // Create ~/.config/xfe directory if it doesn't exist if (!::exists(configlocation)) { // Create the ~/.config/xfe directory according to the umask mask = umask(0); umask(mask); errno = 0; int ret = mkpath(configlocation.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create Xfe config folder %s: %s"), configlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create Xfe config folder %s"), configlocation.text()); } } } // Copy the global xfrec file (three possible locations) to the local configuration file if (::exists("/usr/share/xfe/xferc")) { FXFile::copy("/usr/share/xfe/xferc", configpath, false); } else if (::exists("/usr/local/share/xfe/xferc")) { FXFile::copy("/usr/local/share/xfe/xferc", configpath, false); } else if (::exists("/opt/local/share/xfe/xferc")) { FXFile::copy("/opt/local/share/xfe/xferc", configpath, false); } // If nothing is found, display a file dialog to let the user choose the right place else { FileDialog browse(this, _("No global xferc file found! Please select a configuration file...")); const char* patterns[] = { _("XFE configuration file"), "*xferc*", NULL }; browse.setFilename(ROOTDIR); browse.setPatternList(patterns); if (browse.execute()) { FXString path = browse.getFilename(); FXFile::copy(path, configpath, false); } } // Read and write the registry getApp()->reg().read(); getApp()->reg().write(); } // Create trash can files directory if it doesn't exist if (!::exists(trashfileslocation)) { // Create the trash can files directory according to the umask mask = umask(0); umask(mask); errno = 0; int ret = mkpath(trashfileslocation.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create trash can 'files' folder %s: %s"), trashfileslocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create trash can 'files' folder %s"), trashfileslocation.text()); } } } // Create trash can info directory if it doesn't exist if (!::exists(trashinfolocation)) { // Create the trash can info directory according to the umask mask = umask(0); umask(mask); errno = 0; int ret = mkpath(trashinfolocation.text(), 511 & ~mask); int errcode = errno; if (ret == -1) { if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create trash can 'info' folder %s: %s"), trashinfolocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't create trash can 'info' folder %s"), trashinfolocation.text()); } } } // If necessary, replace the old default view command "xfv" with the new one if (getApp()->reg().readUnsignedEntry("OPTIONS", "xfv_replaced", false) == false) { FXStringDict* strdict = getApp()->reg().find("FILETYPES"); FileDict* assoc = new FileDict(getApp()); FXString key, value, newvalue; FXString strtmp, open, view, edit, command; for (int i = strdict->first(); i < strdict->size(); i = strdict->next(i)) { // Read key and value of each filetype key = strdict->key(i); value = strdict->data(i); // Replace the old txtviewer string with the new one if (value.contains("xfv")) { // Obtain the open, view, edit and command strings strtmp = value.before(';', 1); command = value.after(';', 1); open = strtmp.section(',', 0); view = strtmp.section(',', 1); edit = strtmp.section(',', 2); // Replace the view command with the new value value = open + "," + DEFAULT_TXTVIEWER + "," + edit + ";" + command; assoc->replace(key.text(), value.text()); } } // Wrire registry getApp()->reg().write(); getApp()->reg().writeUnsignedEntry("OPTIONS", "xfv_replaced", true); } // Eventually start iconic or maximized if (starticonic) { minimize(); } if (startmaximized) { maximize(); } #ifdef STARTUP_NOTIFICATION startup_completed(); #endif // Tell Xfe to stop, if we didn't show its window if (!winshow) { stop = true; } } // Destructor XFileExplorer::~XFileExplorer() { delete menubar; delete locationbar; delete address; delete filemenu; delete toolsmenu; delete trashmenu; delete editmenu; delete bookmarksmenu; delete viewmenu; delete lpanelmenu; delete rpanelmenu; delete helpmenu; delete filemenutitle; delete trashmenutitle; delete editmenutitle; delete bookmarksmenutitle; delete viewmenutitle; delete lpanelmenutitle; delete rpanelmenutitle; delete helpmenutitle; delete generaltoolbar; delete paneltoolbar; delete toolstoolbar; delete dirpanel; delete lpanel; delete rpanel; delete bookmarks; delete btnbackhist; delete btnforwardhist; delete rundialog; delete prefsdialog; delete helpwindow; delete searchwindow; } // If Tab pressed, cycle through the panels long XFileExplorer::onKeyPress(FXObject* sender, FXSelector sel, void* ptr) { FXEvent* event = (FXEvent*)ptr; int current; // Tab was pressed : cycle through the panels from left to right if (event->code == KEY_Tab) { if (dirpanel->shown()) { if (dirpanel->isActive()) { lpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->setCurrentItem(current); lpanel->selectItem(current); } else if ((rpanel->shown()) && (lpanel->isActive())) { rpanel->setFocusOnList(); current = rpanel->getCurrentItem(); if (current < 0) { current = 0; } rpanel->setCurrentItem(current); rpanel->selectItem(current); } else { dirpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->deselectItem(current); } } else if (rpanel->shown()) { if (lpanel->getCurrent() == rpanel) { lpanel->setActive(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->setCurrentItem(current); lpanel->selectItem(current); } else { rpanel->setActive(); current = rpanel->getCurrentItem(); if (current < 0) { current = 0; } rpanel->setCurrentItem(current); rpanel->selectItem(current); } } return(1); } // Shift-Tab was pressed : cycle through the panels from right to left else if (((event->state&SHIFTMASK) && (event->code == KEY_Tab)) || ((event->state&SHIFTMASK) && (event->code == KEY_ISO_Left_Tab))) { if (rpanel->shown()) { if (rpanel->isActive()) { lpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->setCurrentItem(current); lpanel->selectItem(current); } else if (dirpanel->shown() && dirpanel->isActive()) { rpanel->setFocusOnList(); current = rpanel->getCurrentItem(); if (current < 0) { current = 0; } rpanel->setCurrentItem(current); rpanel->selectItem(current); } else if (lpanel->isActive()) { if (dirpanel->shown()) { dirpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->deselectItem(current); } else { rpanel->setFocusOnList(); current = rpanel->getCurrentItem(); if (current < 0) { current = 0; } rpanel->setCurrentItem(current); rpanel->selectItem(current); } } } else { if (dirpanel->isActive() && dirpanel->shown()) { lpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->setCurrentItem(current); lpanel->selectItem(current); } else if (dirpanel->shown()) { dirpanel->setFocusOnList(); current = lpanel->getCurrentItem(); if (current < 0) { current = 0; } lpanel->deselectItem(current); } } return(1); } // Shift-F10 or Menu was pressed : open popup menu else if ((event->state&SHIFTMASK && event->code == KEY_F10) || event->code == KEY_Menu) { lpanel->getCurrent()->handle(sender, FXSEL(SEL_COMMAND, FilePanel::ID_POPUP_MENU), ptr); return(1); } // Any other key was pressed : handle the pressed key in the usual way else { if (FXTopWindow::onKeyPress(sender, sel, ptr)) { return(1); } } return(0); } long XFileExplorer::onKeyRelease(FXObject* sender, FXSelector sel, void* ptr) { if (FXTopWindow::onKeyRelease(sender, sel, ptr)) { return(1); } return(0); } // Harvest the zombies long XFileExplorer::onSigHarvest(FXObject*, FXSelector, void*) { while (waitpid(-1, NULL, WNOHANG) > 0) { } return(1); } // Handle quitting long XFileExplorer::onQuit(FXObject*, FXSelector, void*) { saveConfig(); getApp()->exit(EXIT_SUCCESS); return(1); } // Directory up long XFileExplorer::onCmdDirUp(FXObject* sender, FXSelector, void*) { lpanel->getCurrent()->handle(sender, FXSEL(SEL_COMMAND, FilePanel::ID_DIRECTORY_UP), NULL); // Set focus on dirpanel or filepanel if (panelfocus == DIRPANEL_FOCUS) { dirpanel->setFocusOnList(); } else { lpanel->getCurrent()->setFocusOnList(); } return(1); } // Directory back long XFileExplorer::onCmdDirBack(FXObject*, FXSelector, void*) { StringItem* item; FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Get the previous directory item = filepanel->backhistGetFirst(); if (item) { pathname = filepanel->backhistGetString(item); } // Update the history filepanel->backhistRemoveFirstItem(); filepanel->forwardhistInsertFirstItem(filepanel->getDirectory()); // Go to the previous directory filepanel->setDirectory(pathname, false); filepanel->updatePath(); dirpanel->setDirectory(pathname, false); // Set focus on dirpanel or filepanel if (panelfocus == DIRPANEL_FOCUS) { dirpanel->setFocusOnList(); } else { filepanel->setFocusOnList(); } return(1); } // Update directory back long XFileExplorer::onUpdDirBack(FXObject* sender, FXSelector, void* ptr) { FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Gray out the button if no item in history if (filepanel->backhistGetNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward long XFileExplorer::onCmdDirForward(FXObject*, FXSelector, void*) { StringItem* item; FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Get the next directory item = filepanel->forwardhistGetFirst(); if (item) { pathname = filepanel->forwardhistGetString(item); } // Update the history filepanel->forwardhistRemoveFirstItem(); filepanel->backhistInsertFirstItem(lpanel->getCurrent()->getDirectory()); // Go to the next directory filepanel->setDirectory(pathname, false); filepanel->updatePath(); dirpanel->setDirectory(pathname, true); // Set focus on dirpanel or filepanel if (panelfocus == DIRPANEL_FOCUS) { dirpanel->setFocusOnList(); } else { filepanel->setFocusOnList(); } return(1); } // Update directory forward long XFileExplorer::onUpdDirForward(FXObject* sender, FXSelector sel, void* ptr) { FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Gray out the button if no item in history if (filepanel->forwardhistGetNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory back history long XFileExplorer::onCmdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { StringItem* item; FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Get all string items and display them in a list box int num = filepanel->backhistGetNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = filepanel->backhistGetFirst(); int nb = 0; for (int i = 0; i <= num-1; i++) { if (item) { FXString str = filepanel->backhistGetString(item); FXbool flag = true; for (int j = 0; j <= nb-1; j++) { if (str == dirs[j]) { flag = false; break; } } if (flag) { dirs[nb] = str; strlist = strlist+str+"\n"; nb++; } item = filepanel->backhistGetNext(item); } } // Display list box int pos = DirHistBox::box(btnbackhist, DECOR_NONE, strlist, getX()+40, getY()+60); // If an item was selected if (pos != -1) { // Update back history if (pos == num-1) { filepanel->backhistRemoveAllItems(); } else { item = filepanel->backhistGetItemAtPos(pos+1); filepanel->backhistRemoveAllItemsBefore(item); } // Update forward history filepanel->forwardhistInsertFirstItem(filepanel->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { filepanel->forwardhistInsertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; filepanel->setDirectory(pathname, false); filepanel->updatePath(); dirpanel->setDirectory(pathname, true); } delete[]dirs; } return(1); } // Update directory back long XFileExplorer::onUpdDirBackHist(FXObject* sender, FXSelector sel, void* ptr) { FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Gray out the button if no item in history if (filepanel->backhistGetNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Directory forward history long XFileExplorer::onCmdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { StringItem* item; FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Get all string items and display them in a list box int num = filepanel->forwardhistGetNumItems(); if (num > 0) { FXString* dirs = new FXString[num]; FXString strlist = ""; // Get string items item = filepanel->forwardhistGetFirst(); int nb = 0; for (int i = 0; i <= num-1; i++) { if (item) { FXString str = filepanel->forwardhistGetString(item); FXbool flag = true; for (int j = 0; j <= nb-1; j++) { if (str == dirs[j]) { flag = false; break; } } if (flag) { dirs[nb] = str; strlist = strlist+str+"\n"; nb++; } item = filepanel->forwardhistGetNext(item); } } // Display list box int pos = DirHistBox::box(btnforwardhist, DECOR_NONE, strlist, getX()+85, getY()+60); // If an item was selected if (pos != -1) { // Update forward history if (pos == num-1) { filepanel->forwardhistRemoveAllItems(); } else { item = filepanel->forwardhistGetItemAtPos(pos+1); filepanel->forwardhistRemoveAllItemsBefore(item); } // Update back history filepanel->backhistInsertFirstItem(filepanel->getDirectory()); if (pos > 0) { for (int i = 0; i <= pos-1; i++) { filepanel->backhistInsertFirstItem(dirs[i]); } } // Go to to the selected directory pathname = dirs[pos]; filepanel->setDirectory(pathname, false); filepanel->updatePath(); dirpanel->setDirectory(pathname, true); } delete[]dirs; } return(1); } // Update directory forward long XFileExplorer::onUpdDirForwardHist(FXObject* sender, FXSelector sel, void* ptr) { FXString pathname; FilePanel* filepanel = lpanel->getCurrent(); // Gray out the button if no item in history if (filepanel->forwardhistGetNumItems() == 0) { sender->handle(this, FXSEL(SEL_COMMAND, ID_DISABLE), ptr); } else { sender->handle(this, FXSEL(SEL_COMMAND, ID_ENABLE), ptr); } return(1); } // Handle bookmarks long XFileExplorer::onCmdBookmark(FXObject*, FXSelector s, void* p) { if (FXSELID(s) == ID_ADD_BOOKMARK) { bookmarks->appendBookmark(lpanel->getCurrent()->getDirectory()); saveConfig(); } // Handle location address fields else if (FXSELID(s) == ID_BOOKMARK) { lpanel->getCurrent()->setDirectory((char*)p); lpanel->getCurrent()->updatePath(); dirpanel->setDirectory((char*)p, true); FXString item; int i = 0; int count = address->getNumItems(); if (!count) { count++; address->insertItem(0, address->getText()); } while (i < count) { item = address->getItem(i++); if (streq((char*)p, (const char*)&item[0])) { i--; break; } } if (i == count) { address->insertItem(0, (char*)p); } // Set focus to the active panel lpanel->getCurrent()->setFocusOnList(); } return(1); } // Goto location entered into the text field; long XFileExplorer::onCmdGotoLocation(FXObject*, FXSelector, void*) { // Location where we want to go FXString location = address->getText(); // In case location is given in URI form, convert it location = ::fileFromURI(location); // Get complete path FXString path = FXPath::absolute(lpanel->getCurrent()->getDirectory(), location); FXString dir = path; // Go up to the lowest directory which still exists while (!FXPath::isTopDirectory(dir) && !::isDirectory(dir)) { dir = FXPath::upLevel(dir); } // Move to this existing directory lpanel->getCurrent()->setDirectory(dir); lpanel->getCurrent()->updatePath(); dirpanel->setDirectory(dir, true); address->setText(dir); return(1); } // Clear location bar long XFileExplorer::onCmdClearLocation(FXObject*, FXSelector, void*) { address->setText(FXString::null); address->CursorEnd(); return(1); } // Restart the application when required long XFileExplorer::onCmdRestart(FXObject*, FXSelector, void*) { saveConfig(); if (fork() == 0) // Child { execvp("xfe", args); } else // Parent { exit(EXIT_SUCCESS); } return(1); } // Start a new Xfe session long XFileExplorer::onCmdNewWindow(FXObject*, FXSelector, void*) { FXString cmd = "xfe " + homedir + " &"; int ret = system(cmd.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), cmd.text()); return(0); } return(1); } // Run Terminal long XFileExplorer::onCmdXTerm(FXObject*, FXSelector, void*) { int ret; getApp()->beginWaitCursor(); FXString xterm = getApp()->reg().readStringEntry("PROGS", "xterm", "xterm -sb"); ret = chdir(lpanel->getCurrent()->getDirectory().text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), lpanel->getCurrent()->getDirectory().text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), lpanel->getCurrent()->getDirectory().text()); } return(0); } FXString cmd = xterm; cmd += " &"; ret = system(cmd.text()); if (ret < 0) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't execute command %s"), cmd.text()); return(0); } lpanel->getCurrent()->setFocusOnList(); ret = chdir(startlocation.text()); if (ret < 0) { int errcode = errno; if (errcode) { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s: %s"), startlocation.text(), strerror(errcode)); } else { MessageBox::error(this, BOX_OK, _("Error"), _("Can't enter folder %s"), startlocation.text()); } return(0); } getApp()->endWaitCursor(); return(1); } // Help menu long XFileExplorer::onCmdHelp(FXObject*, FXSelector, void*) { // Display help window if (helpwindow == NULL) { helpwindow = new TextWindow(getApp(), _("Help"), 40, 120); } helpwindow->setIcon(helpicon); // Set text font FXString fontspec; fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", DEFAULT_TEXT_FONT); if (!fontspec.empty()) { FXFont* font = new FXFont(getApp(), fontspec); font->create(); helpwindow->setFont(font); } // NB: The HELP_TEXT macro is defined in help.h FXString str = (FXString)" "+COPYRIGHT+HELP_TEXT; helpwindow->setText(str.text()); // Non modal window helpwindow->create(); helpwindow->show(PLACEMENT_OWNER); lpanel->getCurrent()->setFocusOnList(); return(1); } // About menu long XFileExplorer::onCmdAbout(FXObject*, FXSelector, void*) { FXString msg; msg.format(_("X File Explorer Version %s"), VERSION); FXString copyright = (FXString)"\n\n" + COPYRIGHT + "\n\n" + _("Based on X WinCommander by Maxim Baranov\n"); FXString translators = _ ("\nTranslators\n\ -------------\n\ Argentinian Spanish: Bruno Gilberto Luciani\n\ Brazilian Portuguese: Eduardo R.B.S., Jose Carlos Medeiros,\n\ Phantom X, Tomas Acauan Schertel\n\ Bosnian: Samir Ribi, Bajrami Emran, Balagija Jasmina,\n\ Bilalovi, Omar Cogo Emir\n\ Catalan: muzzol\n\ Chinese: Xin Li\n\ Chinese (Taïwan): Wei-Lun Chao\n\ Colombian Spanish: Vladimir Támara (Pasos de Jesús)\n\ Czech: David Vachulka\n\ Danish: Jonas Bardino, Vidar Jon Bauge\n\ Dutch: Hans Strijards\n\ French: Claude Leo Mercier, Roland Baudin\n\ German: Bastian Kleineidam, Joachim Wiedorn, Tim Benke, Jens Körner\n\ Greek: Nikos Papadopoulos\n\ Hungarian: Attila Szervac, Sandor Sipos\n\ Italian: Claudio Fontana, Giorgio Moscardi\n\ Japanese: Karl Skewes\n\ Norwegian: Vidar Jon Bauge\n\ Polish: Jacek Dziura, Franciszek Janowski\n\ Portuguese: Miguel Santinho\n\ Russian: Dimitri Sertolov, Vad Vad\n\ Spanish: Felix Medrano Sanz, Lucas 'Basurero' Vieites,\n\ Martin Carr\n\ Swedish: Anders F. Bjorklund\n\ Turkish: erkaN\n\ "); msg = msg + copyright + translators; MessageBox about(this,_("About X File Explorer"),msg.text(),xfeicon,BOX_OK|DECOR_TITLE|DECOR_BORDER, JUSTIFY_CENTER_X|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); about.execute(PLACEMENT_OWNER); lpanel->getCurrent()->setFocusOnList(); return 1; } // Handle file association (called by Properties.cpp and FilePanel.cpp) long XFileExplorer::onCmdFileAssoc(FXObject*,FXSelector s,void* p) { char** str=(char**)p; char* ext=str[0]; char* cmd=str[1]; // ext=extension, cmd=associated command // replace : to allow immediate association in Xfe FileDict* associations=lpanel->getAssociations(); associations->replace(ext,cmd); associations=rpanel->getAssociations(); associations->replace(ext,cmd); saveConfig(); return 1; } // FilePanel and DirPanel refresh long XFileExplorer::onCmdRefresh(FXObject*,FXSelector,void*) { getApp()->beginWaitCursor(); #if defined(linux) dirpanel->forceDevicesRefresh(); #endif lpanel->onCmdRefresh(0,0,0); rpanel->onCmdRefresh(0,0,0); dirpanel->forceRefresh(); getApp()->endWaitCursor(); return 1; } // Update file location long XFileExplorer::onUpdFileLocation(FXObject* sender,FXSelector,void*) { FXString currentdir=lpanel->getCurrent()->getDirectory(); if (currentdir != prevdir) { address->setText(::cleanPath(currentdir)); prevdir=currentdir; } return 1; } // Switch between vertical and horizontal panels long XFileExplorer::onCmdHorzVertPanels(FXObject* sender,FXSelector sel,void* ptr) { switch(FXSELID(sel)) { case ID_VERT_PANELS: panelsplit->setSplitterStyle(panelsplit->getSplitterStyle()&~SPLITTER_VERTICAL); vertpanels=true; break; case ID_HORZ_PANELS: panelsplit->setSplitterStyle(panelsplit->getSplitterStyle()|SPLITTER_VERTICAL); vertpanels=false; break; } return 1; } // Switch between the four possible panel views long XFileExplorer::onCmdShowPanels(FXObject* sender,FXSelector sel,void* ptr) { // Get window width and height int window_width=getWidth(); int window_height=getHeight(); switch(FXSELID(sel)) { case ID_SHOW_ONE_PANEL: panel_view=ONE_PANEL; if (dirpanel->shown()) dirpanel->handle(sender,FXSEL(SEL_COMMAND,DirPanel::ID_TOGGLE_TREE),ptr); if (rpanel->shown()) rpanel->handle(sender,FXSEL(SEL_COMMAND,FXWindow::ID_TOGGLESHOWN),ptr); // Handle drag corner rpanel->showCorner(false); lpanel->showCorner(true); // Handle active icon lpanel->showActiveIcon(false); break; case ID_SHOW_TWO_PANELS: panel_view=TWO_PANELS; if (vertpanels) lpanel->setWidth((int)round(twopanels_lpanel_pct*window_width)); else lpanel->setHeight((int)round(twopanels_lpanel_pct*window_height)); if (dirpanel->shown()) dirpanel->handle(sender,FXSEL(SEL_COMMAND,DirPanel::ID_TOGGLE_TREE),ptr); if (!rpanel->shown()) rpanel->handle(sender,FXSEL(SEL_COMMAND,FXWindow::ID_TOGGLESHOWN),ptr); // Handle drag corner rpanel->showCorner(true); lpanel->showCorner(false); // Handle active icon lpanel->showActiveIcon(true); break; case ID_SHOW_TREE_PANEL: panel_view=TREE_PANEL; dirpanel->setWidth((int)round(treepanel_tree_pct*window_width) ); if (!dirpanel->shown()) dirpanel->handle(sender,FXSEL(SEL_COMMAND,DirPanel::ID_TOGGLE_TREE),ptr); if (rpanel->shown()) rpanel->handle(sender,FXSEL(SEL_COMMAND,FXWindow::ID_TOGGLESHOWN),ptr); // Handle drag corner rpanel->showCorner(false); lpanel->showCorner(true); // Handle active icon lpanel->showActiveIcon(true); break; case ID_SHOW_TREE_TWO_PANELS: panel_view=TREE_TWO_PANELS; dirpanel->setWidth((int)round(treetwopanels_tree_pct*window_width) ); if (vertpanels) lpanel->setWidth((int)round(treetwopanels_lpanel_pct*window_width)); else lpanel->setHeight((int)round(treetwopanels_lpanel_pct*window_height)); if (!dirpanel->shown()) dirpanel->handle(sender,FXSEL(SEL_COMMAND,DirPanel::ID_TOGGLE_TREE),ptr); if (!rpanel->shown()) rpanel->handle(sender,FXSEL(SEL_COMMAND,FXWindow::ID_TOGGLESHOWN),ptr); // Handle drag corner lpanel->showCorner(false); rpanel->showCorner(true); // Handle active icon lpanel->showActiveIcon(true); break; } // Set focus on current panel lpanel->getCurrent()->setFocusOnList(); return 1; } // Update the horizontal / vertical panel radio menus long XFileExplorer::onUpdHorzVertPanels(FXObject* sender,FXSelector sel,void* ptr) { if (rpanel->shown()) { sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),ptr); if (vertpanels) { lpanel->hidePanelSeparator(); rpanel->hidePanelSeparator(); if ( FXSELID(sel) == ID_HORZ_PANELS ) sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_UNCHECK),ptr); else sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_CHECK),ptr); } else { lpanel->showPanelSeparator(); rpanel->hidePanelSeparator(); if ( FXSELID(sel) == ID_VERT_PANELS ) sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_UNCHECK),ptr); else sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_CHECK),ptr); } } else { lpanel->hidePanelSeparator(); rpanel->hidePanelSeparator(); sender->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),ptr); } return 1; } // Update the panels long XFileExplorer::onUpdShowPanels(FXObject* sender,FXSelector sel,void* ptr) { // Keep the panel sizes relative to the window width or height (if option enabled) register int width; register int height; // Get the current window width and height width=getWidth(); height=getHeight(); // If width has changed and relative resizing option is enabled if (relative_resize && prev_width!=width) { // One panel mode not relevant // Two panels mode if (!dirpanel->shown() && rpanel->shown()) { // Set left panel width / height to the new value if (vertpanels) lpanel->setWidth((int)round(twopanels_lpanel_pct*width)); else lpanel->setHeight((int)round(twopanels_lpanel_pct*height)); } // Tree panel mode else if (dirpanel->shown() && !rpanel->shown()) { // Set dirpanel width to the new value dirpanel->setWidth((int)round(treepanel_tree_pct * width) ); } // Tree and two panels mode else if (dirpanel->shown() && rpanel->shown()) { // Set dirpanel width to the new value dirpanel->setWidth((int)round(treetwopanels_tree_pct * width) ); // Set left panel width / height to the new value if (vertpanels) lpanel->setWidth((int)round(treetwopanels_lpanel_pct*width)); else lpanel->setHeight((int)round(treetwopanels_lpanel_pct*height)); } } // Update previous window width prev_width=width; // Update the panel menus and the panel display FXuint msg=FXWindow::ID_UNCHECK; switch(FXSELID(sel)) { case ID_SHOW_ONE_PANEL: if (!dirpanel->shown() && !rpanel->shown()) { msg = FXWindow::ID_CHECK; if (rpanelmenutitle->shown()) { rpanelmenutitle->hide(); rpanelmenutitle->disable(); lpanelmenutitle->setText(_("&Panel")); lpanel->show(); lpanel->repaint(); lpanel->setActive(); } } break; case ID_SHOW_TWO_PANELS: if (!dirpanel->shown() && rpanel->shown()) { // Update the left panel relative size (only if the window size is sufficient) if (vertpanels) { if (getWidth()>10) twopanels_lpanel_pct=(double)(lpanel->getWidth())/(double)(getWidth()); } else { if (getHeight()>10) twopanels_lpanel_pct=(double)(lpanel->getHeight())/(double)(getHeight()); } msg=FXWindow::ID_CHECK; if (!rpanelmenutitle->shown()) { rpanelmenutitle->enable(); rpanelmenutitle->show(); rpanelmenutitle->setText(_("&Right panel")); lpanelmenutitle->setText(_("&Left panel")); lpanel->repaint(); lpanel->setActive(); } } break; case ID_SHOW_TREE_PANEL: if (dirpanel->shown() && !rpanel->shown()) { // Update the tree panel relative size (only if the window size is sufficient) if (getWidth()>10) treepanel_tree_pct=(double)(dirpanel->getWidth())/(double)(getWidth()); msg=FXWindow::ID_CHECK; if (rpanelmenutitle->shown()) { rpanelmenutitle->hide(); rpanelmenutitle->disable(); lpanelmenutitle->setText(_("&Panel")); lpanel->repaint(); lpanel->setActive(); } } break; case ID_SHOW_TREE_TWO_PANELS: if (dirpanel->shown() && rpanel->shown()) { // Update the tree panel relative size (only if the window size is sufficient) if (getWidth()>10) treetwopanels_tree_pct=(double)(dirpanel->getWidth())/(double)(getWidth()); // Update the left panel relative size (only if the window size is sufficient) if (vertpanels) { if (getWidth()>10) treetwopanels_lpanel_pct=(double)(lpanel->getWidth())/(double)(getWidth()); } else { if (getHeight()>10) treetwopanels_lpanel_pct=(double)(lpanel->getHeight())/(double)(getHeight()); } msg = FXWindow::ID_CHECK; if (!rpanelmenutitle->shown()) { rpanelmenutitle->enable(); rpanelmenutitle->show(); rpanelmenutitle->setText(_("&Right panel")); lpanelmenutitle->setText(_("&Left panel")); lpanel->repaint(); lpanel->setActive(); } } break; } sender->handle(this,FXSEL(SEL_COMMAND,msg),ptr); return 1; } // Synchronize the panels to the same directory long XFileExplorer::onCmdSynchronizePanels(FXObject* sender,FXSelector sel,void*) { FXString dir; // Left panel is active if (lpanel->getCurrent() == lpanel) { dir=lpanel->getDirectory(); rpanel->setDirectory(dir); rpanel->updatePath(); } // Right panel is active else { dir=rpanel->getDirectory(); lpanel->setDirectory(dir); lpanel->updatePath(); } return 1; } // Update the synchronize panels menu item long XFileExplorer::onUpdSynchronizePanels(FXObject* o,FXSelector,void*) { if (rpanel->shown()) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); return 1; } // Switch the panels long XFileExplorer::onCmdSwitchPanels(FXObject* sender,FXSelector sel,void*) { FXString leftdir, rightdir; leftdir=lpanel->getDirectory(); rightdir=rpanel->getDirectory(); lpanel->setDirectory(rightdir); lpanel->updatePath(); rpanel->setDirectory(leftdir); rpanel->updatePath(); return 1; } // Update the switch panels menu item long XFileExplorer::onUpdSwitchPanels(FXObject* o,FXSelector,void*) { if (rpanel->shown()) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); return 1; } // Preferences long XFileExplorer::onCmdPrefs(FXObject*,FXSelector s,void* p) { if (prefsdialog==NULL) prefsdialog=new PreferencesBox(this,listbackcolor,listforecolor,highlightcolor,pbarcolor,attentioncolor,scrollbarcolor); prefsdialog->execute(PLACEMENT_OWNER); lpanel->getCurrent()->setFocusOnList(); return 1; } // Toggle status bar long XFileExplorer::onCmdToggleStatus(FXObject*,FXSelector s,void* p) { dirpanel->toggleStatusbar(); lpanel->toggleStatusbar(); rpanel->toggleStatusbar(); return 1; } long XFileExplorer::onUpdToggleStatus(FXObject* o,FXSelector s,void* p) { FXMenuCheck* cmd =(FXMenuCheck*)o; if (lpanel->statusbarShown()) cmd->setCheck(true); else cmd->setCheck(false); return 1; } // Run shell command or X program long XFileExplorer::onCmdRun(FXObject*,FXSelector,void*) { int ret; ret=chdir(lpanel->getCurrent()->getDirectory().text()); if (ret < 0) { int errcode=errno; if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s: %s"),lpanel->getCurrent()->getDirectory().text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s"),lpanel->getCurrent()->getDirectory().text()); return 0; } FXString command=" "; if (rundialog==NULL) rundialog=new HistInputDialog(this,"",_("Execute the command:"),_("Execute command"),"", bigexecicon,HIST_INPUT_EXECUTABLE_FILE,true,_("Console mode")); rundialog->create(); rundialog->setText(command); rundialog->CursorEnd(); rundialog->selectAll(); rundialog->clearItems(); for (int i=0; iappendItem(RunHistory[i]); rundialog->sortItems(); rundialog->setDirectory(ROOTDIR); if (rundialog->execute()) { command=rundialog->getText(); if (command != " ") { // Execute command in command window if (rundialog->getOption()) { // Make and show command window CommandWindow* cmdwin=new CommandWindow(getApp(),_("Command log"),command,30,80); cmdwin->create(); cmdwin->setIcon(runicon); // The CommandWindow object will delete itself when closed! } // Execute silently in background else { command+=" &"; ret=system(command.text()); if (ret < 0) { MessageBox::error(this,BOX_OK,_("Error"),_("Can't execute command %s"),command.text()); return 0; } } } // Update history list RunHistSize=rundialog->getHistorySize(); command=rundialog->getText(); // Check if cmd is a new string, i.e. is not already in history FXbool newstr=true; for (int i=0; iRUN_HIST_SIZE) RunHistSize--; // New string if (newstr) { // FIFO strlcpy(RunHistory[0],command.text(),command.length()+1); for (int i=1; igetHistoryItem(i-1).text(),rundialog->getHistoryItem(i-1).length()+1); } } ret=chdir(startlocation.text()); if (ret < 0) { int errcode=errno; if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s: %s"),startlocation.text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s"),startlocation.text()); return 0; } lpanel->getCurrent()->setFocusOnList(); return 1; } // Run an Xfe as root long XFileExplorer::onCmdSu(FXObject*,FXSelector,void*) { int ret; // Wait cursor getApp()->beginWaitCursor(); // Obtain preferred root mode FXbool use_sudo=getApp()->reg().readUnsignedEntry("OPTIONS","use_sudo",false); // Select sudo or su to launch xfe as root ret=chdir(lpanel->getCurrent()->getDirectory().text()); if (ret < 0) { int errcode=errno; if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s: %s"),lpanel->getCurrent()->getDirectory().text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s"),lpanel->getCurrent()->getDirectory().text()); return 0; } FXString title, sucmd, command; if (use_sudo) { title = _("Enter the user password:"); sucmd = SUDOCMD; } else { title = _("Enter the root password:"); sucmd = SUCMD; } // Get text font FXString fontspec = getApp()->reg().readStringEntry("SETTINGS", "textfont", "Courier,100,normal,regular"); if (fontspec.empty()) { command = "st -t " + ::quote(title) + sucmd; } else { FXchar fontsize[32]; FXFont* font = new FXFont(getApp(), fontspec); font->create(); snprintf(fontsize, sizeof(fontsize), "%d",(int)(font->getSize()/10)); // Size is in deci-points, thus divide by 10 command = "st -t " + ::quote(title) + " -f '" + (font->getFamily()).text() + ":pixelsize=" + fontsize + "'" + sucmd; } // Execute su or sudo command in an internal st terminal int status = runst(command); // If error ret=chdir(startlocation.text()); if (ret < 0) { int errcode=errno; if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s: %s"),startlocation.text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't enter folder %s"),startlocation.text()); return 0; } if (status<0) { MessageBox::error(getApp(),BOX_OK,_("Error"),_("An error has occurred!")); getApp()->endWaitCursor(); return 0; } // Wait cursor getApp()->endWaitCursor(); return 1; } // File search dialog long XFileExplorer::onCmdFileSearch(FXObject* o,FXSelector sel,void*) { // Display search box if (searchwindow==NULL) searchwindow=new SearchWindow(getApp(),_("Search files and folders"), DECOR_ALL,search_xpos,search_ypos,search_width,search_height,0,0,0,0,0,0); // Non modal window searchwindow->create(); searchwindow->show(PLACEMENT_DEFAULT); // Set search path in search window searchwindow->setSearchPath(lpanel->getCurrent()->getDirectory()); return 1; } // Update file search button long XFileExplorer::onUpdFileSearch(FXObject* o,FXSelector,void*) { if (searchwindow != NULL && searchwindow->shown()) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); return 1; } // Empty trash can long XFileExplorer::onCmdEmptyTrash(FXObject*,FXSelector sel,void* ptr) { // Wait cursor getApp()->beginWaitCursor(); // Compute trash directory size char buf[MAXPATHLEN+1]; char size[64]; FXString hsize; FXulong dirsize; FXuint nbfiles=0, nbsubfolders=0; FXulong totalsize=0; FXString dirpath=trashfileslocation; strlcpy(buf,dirpath.text(),dirpath.length()+1); dirsize=pathsize(buf,&nbfiles,&nbsubfolders,&totalsize); #if __WORDSIZE == 64 snprintf(size,sizeof(size)-1,"%lu",dirsize); #else snprintf(size,sizeof(size)-1,"%llu",dirsize); #endif hsize=::hSize(size); #if __WORDSIZE == 64 snprintf(size,sizeof(size)-1,_("%s (%lu bytes)"),hsize.text(),dirsize); #else snprintf(size,sizeof(size)-1,_("%s (%llu bytes)"),hsize.text(),dirsize); #endif snprintf(size,sizeof(size)-1,_("%u files, %u subfolders"),nbfiles-nbsubfolders,nbsubfolders-1); // Wait cursor getApp()->endWaitCursor(); // Confirmation message FXString message=_("Do you really want to empty the trash can?") + FXString(" (") + hsize + _(" in ") + FXString(size) + FXString(")") + _("\n\nAll items will be definitively lost!"); MessageBox box(this,_("Empty trash can"),message,trash_full_bigicon,BOX_OK_CANCEL|DECOR_TITLE|DECOR_BORDER); if (box.execute(PLACEMENT_CURSOR) != BOX_CLICKED_OK) return 0; // Wait cursor getApp()->beginWaitCursor(); // Delete trash can files folder File* f; f=new File(this,_("File delete"),DELETE); f->create(); f->remove(trashfileslocation); delete f; // Delete trash can info folder f=new File(this,_("File delete"),DELETE); f->create(); f->remove(trashinfolocation); delete f; // Re-create the trash can files directory if (!::exists(trashfileslocation)) { errno=0; int ret=mkpath(trashfileslocation.text(),0755); int errcode=errno; if (ret==-1) { if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't create trash can 'files' folder %s: %s"),trashfileslocation.text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't create trash can 'files' folder %s"),trashfileslocation.text()); } } // Re-create the trash can info directory if (!::exists(trashinfolocation)) { errno=0; int ret=mkpath(trashinfolocation.text(),0755); int errcode=errno; if (ret==-1) { if (errcode) MessageBox::error(this,BOX_OK,_("Error"),_("Can't create trash can 'info' folder %s: %s"),trashinfolocation.text(),strerror(errcode)); else MessageBox::error(this,BOX_OK,_("Error"),_("Can't create trash can 'info' folder %s"),trashinfolocation.text()); } } // Wait cursor getApp()->endWaitCursor(); onCmdRefresh(0,0,0); return 1; } // Display trash size long XFileExplorer::onCmdTrashSize(FXObject*,FXSelector sel,void*) { struct stat linfo; FXString trashsize, trashmtime, trashnbfiles, trashnbfolders; if (lstatrep(trashfileslocation.text(),&linfo)==0) { // Read time format FXString timeformat=getApp()->reg().readStringEntry("SETTINGS","time_format",DEFAULT_TIME_FORMAT); // Trash files size trashmtime=FXSystem::time(timeformat.text(),linfo.st_mtime); char buf[MAXPATHLEN]; FXulong dirsize=0; FXuint nbfiles=0, nbsubfolders=0; FXulong totalsize=0; strlcpy(buf,trashfileslocation.text(),trashfileslocation.length()+1); dirsize=pathsize(buf,&nbfiles,&nbsubfolders,&totalsize); #if __WORDSIZE == 64 snprintf(buf,sizeof(buf),"%lu",dirsize); #else snprintf(buf,sizeof(buf),"%llu",dirsize); #endif trashsize=::hSize(buf); trashnbfiles=FXStringVal(nbfiles-nbsubfolders); trashnbfolders=FXStringVal(nbsubfolders-1); // Dialog box FXString msg; msg.format(_("Trash size: %s (%s files, %s subfolders)\n\nModified date: %s"), trashsize.text(),trashnbfiles.text(),trashnbfolders.text(),trashmtime.text()); MessageBox dialog(this,_("Trash size"),msg.text(),delete_bigicon,BOX_OK|DECOR_TITLE|DECOR_BORDER, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); dialog.execute(PLACEMENT_CURSOR); } else { // Error MessageBox::error(this,BOX_OK,_("Error"),_("Trash can 'files' folder %s is not readable!"),trashfileslocation.text()); return 0; } return 1; } // File copy to clipboard long XFileExplorer::onCmdFileCopyClp(FXObject* o, FXSelector sel, void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_COPY_CLIPBOARD),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_COPY_CLIPBOARD),NULL); return 1; } // File cut to clipboard long XFileExplorer::onCmdFileCutClp(FXObject* o, FXSelector sel, void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_CUT_CLIPBOARD),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_CUT_CLIPBOARD),NULL); return 1; } // File add copy to clipboard long XFileExplorer::onCmdFileAddCopyClp(FXObject* o, FXSelector sel, void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_ADDCOPY_CLIPBOARD),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_ADDCOPY_CLIPBOARD),NULL); return 1; } // File add cut to clipboard long XFileExplorer::onCmdFileAddCutClp(FXObject* o, FXSelector sel, void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_ADDCUT_CLIPBOARD),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_ADDCUT_CLIPBOARD),NULL); return 1; } // File paste from clipboard long XFileExplorer::onCmdFilePasteClp(FXObject* o, FXSelector sel, void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_PASTE_CLIPBOARD),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_PASTE_CLIPBOARD),NULL); return 1; } // File rename long XFileExplorer::onCmdFileRename(FXObject* o, FXSelector sel, void*) { lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_RENAME),NULL); return 1; } // File move long XFileExplorer::onCmdFileMoveto(FXObject* o, FXSelector sel, void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_MOVETO),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_MOVETO),NULL); return 1; } // File copy to long XFileExplorer::onCmdFileCopyto(FXObject* o, FXSelector sel, void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_COPYTO),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_COPYTO),NULL); return 1; } // File symlink long XFileExplorer::onCmdFileSymlink(FXObject* o, FXSelector sel, void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_SYMLINK),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_SYMLINK),NULL); return 1; } // File trash long XFileExplorer::onCmdFileTrash(FXObject* o, FXSelector sel, void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_TRASH),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_TRASH),ptr); return 1; } // File restore long XFileExplorer::onCmdFileRestore(FXObject* o,FXSelector sel,void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_RESTORE),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_RESTORE),ptr); return 1; } // File delete long XFileExplorer::onCmdFileDelete(FXObject* o,FXSelector sel,void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_DIR_DELETE),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_FILE_DELETE),ptr); return 1; } // File properties long XFileExplorer::onCmdFileProperties(FXObject* o,FXSelector sel,void*) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_COMMAND,DirPanel::ID_PROPERTIES),NULL); else lpanel->getCurrent()->handle(o,FXSEL(SEL_COMMAND,FilePanel::ID_PROPERTIES),NULL); return 1; } // Update the empty trash can and trash menus long XFileExplorer::onUpdEmptyTrash(FXObject* o,FXSelector,void* ptr) { FXbool use_trash_can=getApp()->reg().readUnsignedEntry("OPTIONS","use_trash_can",true); if (use_trash_can) { // Update the empty trash can menu o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); // Update the trash menu title helpmenutitle->setText(""); trashmenutitle->setText(_("T&rash")); trashmenutitle->enable(); trashmenutitle->show(); helpmenutitle->setText(_("&Help")); } else { // Update the empty trash can menu o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); // Update the trash menu title trashmenutitle->hide(); trashmenutitle->disable(); helpmenutitle->setText(""); helpmenutitle->setText(_("&Help")); } return 1; } // Update the trash size menu long XFileExplorer::onUpdTrashSize(FXObject* o,FXSelector,void*) { FXbool use_trash_can=getApp()->reg().readUnsignedEntry("OPTIONS","use_trash_can",true); if (use_trash_can) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); return 1; } // Update the file delete menu item long XFileExplorer::onUpdFileDelete(FXObject* o,FXSelector,void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_UPDATE,DirPanel::ID_DIR_DELETE),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_UPDATE,FilePanel::ID_FILE_DELETE),ptr); return 1; } // Update the move to trash menu item long XFileExplorer::onUpdFileTrash(FXObject* o,FXSelector,void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_UPDATE,DirPanel::ID_DIR_TRASH),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_UPDATE,FilePanel::ID_FILE_TRASH),ptr); return 1; } // Update the restore from trash menu item long XFileExplorer::onUpdFileRestore(FXObject* o,FXSelector,void* ptr) { if (dirpanel->isActive()) dirpanel->handle(o,FXSEL(SEL_UPDATE,DirPanel::ID_DIR_RESTORE),ptr); else lpanel->getCurrent()->handle(o,FXSEL(SEL_UPDATE,FilePanel::ID_FILE_RESTORE),ptr); return 1; } // Update the file operation menu items long XFileExplorer::onUpdFileMan(FXObject* o,FXSelector,void*) { // Update the panelfocus variable if (lpanel->getCurrent()->isActive()) panelfocus=FILEPANEL_FOCUS; if (dirpanel->isActive()) panelfocus=DIRPANEL_FOCUS; // Update the file operation menu items if (dirpanel->isActive()) { o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); } else { int num=lpanel->getCurrent()->getNumSelectedItems(); if (num==0) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); else if (num==1 && lpanel->getCurrent()->isItemSelected(0)) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); } return 1; } // Update the file rename menu items long XFileExplorer::onUpdFileRename(FXObject* o,FXSelector,void*) { int num=lpanel->getCurrent()->getNumSelectedItems(); if (num==1) { if (lpanel->getCurrent()->isItemSelected(0)) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); } else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); return 1; } // Update the paste menu and button long XFileExplorer::onUpdFilePaste(FXObject* o,FXSelector sel,void*) { lpanel->getCurrent()->handle(o,FXSEL(SEL_UPDATE,FilePanel::ID_PASTE_CLIPBOARD),NULL); return 1; } // Update the root menu items long XFileExplorer::onUpdSu(FXObject* o,FXSelector,void*) { FXbool root_mode=getApp()->reg().readUnsignedEntry("OPTIONS","root_mode",true); if (!root_mode || getuid()==0) o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_DISABLE),NULL); else o->handle(this,FXSEL(SEL_COMMAND,FXWindow::ID_ENABLE),NULL); return 1; } // Open files URIS void XFileExplorer::openFiles(vector_FXString startURIs) { FXString pathname, samecmd, cmd, cmdname, itemslist=" "; FileAssoc* association; FXbool same=true; FXbool first=true; // Default programs FXString txtviewer=getApp()->reg().readStringEntry("PROGS","txtviewer",DEFAULT_TXTVIEWER); FXString txteditor=getApp()->reg().readStringEntry("PROGS","txteditor",DEFAULT_TXTEDITOR); FXString imgviewer=getApp()->reg().readStringEntry("PROGS","imgviewer",DEFAULT_IMGVIEWER); FXString imgeditor=getApp()->reg().readStringEntry("PROGS","imgeditor",DEFAULT_IMGEDITOR); FXString pdfviewer=getApp()->reg().readStringEntry("PROGS","pdfviewer",DEFAULT_PDFVIEWER); FXString audioplayer=getApp()->reg().readStringEntry("PROGS","audioplayer",DEFAULT_AUDIOPLAYER); FXString videoplayer=getApp()->reg().readStringEntry("PROGS","videoplayer",DEFAULT_VIDEOPLAYER); FXString archiver=getApp()->reg().readStringEntry("PROGS","archiver",DEFAULT_ARCHIVER); // Update associations dictionary FileDict* assocdict=new FileDict(getApp()); // Check if all files have the same association for (FXuint u=0; ufindFileBinding(pathname.text()); if (association) { cmd = association->command.section(',',0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd=txtviewer; break; case TXTEDITOR: cmd=txteditor; break; case IMGVIEWER: cmd=imgviewer; break; case IMGEDITOR: cmd=imgeditor; break; case PDFVIEWER: cmd=pdfviewer; break; case AUDIOPLAYER: cmd=audioplayer; break; case VIDEOPLAYER: cmd=videoplayer; break; case ARCHIVER: cmd=archiver; break; case NONE: // No program found ; break; } if (cmd != "") { // First item if (first) { samecmd = cmd; first=false; } if (samecmd != cmd) { same=false; break; } // List of items itemslist += ::quote(pathname) + " "; } else { same=false; break; } } else { same=false; break; } } } #ifdef STARTUP_NOTIFICATION // Startup notification option and exceptions (if any) FXbool usesn=getApp()->reg().readUnsignedEntry("OPTIONS","use_startup_notification",true); FXString snexcepts=getApp()->reg().readStringEntry("OPTIONS","startup_notification_exceptions",""); #endif // Same command for all files: open them if (same) { cmdname=samecmd; // If command exists, run it if (::existCommand(cmdname)) { cmd=samecmd+itemslist; #ifdef STARTUP_NOTIFICATION runcmd(cmd,cmdname,lpanel->getDirectory(),startlocation,usesn,snexcepts); #else runcmd(cmd,lpanel->getDirectory(),startlocation); #endif } // Command does not exist else MessageBox::error(this,BOX_OK,_("Error"),_("Command not found: %s"),cmd.text()); } // Files have different commands: handle them separately else { for (FXuint u=0; ufindFileBinding(pathname.text()); if (association) { // Use it to open the file cmd = association->command.section(',',0); // Use a default program if possible switch (progs[cmd]) { case TXTVIEWER: cmd=txtviewer; break; case TXTEDITOR: cmd=txteditor; break; case IMGVIEWER: cmd=imgviewer; break; case IMGEDITOR: cmd=imgeditor; break; case PDFVIEWER: cmd=pdfviewer; break; case AUDIOPLAYER: cmd=audioplayer; break; case VIDEOPLAYER: cmd=videoplayer; break; case ARCHIVER: cmd=archiver; break; case NONE: // No program found ; break; } if (cmd != "") { cmdname=cmd; // If command exists, run it if (::existCommand(cmdname)) { cmd=cmdname+" "+::quote(pathname); #ifdef STARTUP_NOTIFICATION runcmd(cmd,cmdname,lpanel->getDirectory(),startlocation,usesn,snexcepts); #else runcmd(cmd,lpanel->getDirectory(),startlocation); #endif } // Command does not exist else MessageBox::error(this,BOX_OK,_("Error"),_("Command not found: %s"),cmdname.text()); } // Command string is void else MessageBox::error(this,BOX_OK,_("Error"),_("Invalid file association: %s"),FXPath::extension(pathname).text()); } // Other cases else MessageBox::error(this,BOX_OK,_("Error"),_("File association not found: %s"),FXPath::extension(pathname).text()); } } } } // Quit immediately and properly, if asked long XFileExplorer::onUpdQuit(FXObject* o,FXSelector,void*) { if (stop) onQuit(0,0,0); return 1; } xfe-1.42/src/ExecuteBox.cpp0000644000175100017510000000453412625057511012525 00000000000000#include "config.h" #include "i18n.h" #include #include #include #include "icons.h" #include "ExecuteBox.h" // Padding for message box buttons #define HORZ_PAD 30 #define VERT_PAD 2 // Map FXDEFMAP(ExecuteBox) ExecuteBoxMap[] = { FXMAPFUNCS(SEL_COMMAND, ExecuteBox::ID_CLICKED_CANCEL, ExecuteBox::ID_CLICKED_EDIT, ExecuteBox::onCmdClicked), }; // Object implementation FXIMPLEMENT(ExecuteBox, DialogBox, ExecuteBoxMap, ARRAYNUMBER(ExecuteBoxMap)) // Create message box ExecuteBox::ExecuteBox(FXWindow* win, const FXString& name, const FXString& text, FXuint opts, int x, int y) : DialogBox(win, name, opts|DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE, x, y, 0, 0) { FXVerticalFrame* content = new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* info = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0, 0, 0, 0, 10, 10, 10, 10); new FXLabel(info, FXString::null, questionbigicon, ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); new FXLabel(info, text, NULL, JUSTIFY_LEFT|ICON_BEFORE_TEXT|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|LAYOUT_FILL_Y); FXHorizontalFrame* buttons = new FXHorizontalFrame(content, LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH, 0, 0, 0, 0, 10, 10, 10, 10); FXButton* cancel = new FXButton(buttons, _("&Cancel"), NULL, this, ID_CLICKED_CANCEL, BUTTON_INITIAL|BUTTON_DEFAULT|FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("E&xecute"), NULL, this, ID_CLICKED_EXECUTE, FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("Execute in Console &Mode"), NULL, this, ID_CLICKED_CONSOLE, FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); new FXButton(buttons, _("&Edit"), NULL, this, ID_CLICKED_EDIT, FRAME_RAISED|FRAME_THICK|LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_CENTER_X, 0, 0, 0, 0, HORZ_PAD, HORZ_PAD, VERT_PAD, VERT_PAD); cancel->setFocus(); } // Close dialog long ExecuteBox::onCmdClicked(FXObject*, FXSelector sel, void*) { getApp()->stopModal(this, EXECBOX_CLICKED_CANCEL+(FXSELID(sel)-ID_CLICKED_CANCEL)); hide(); return(1); } xfe-1.42/src/DialogBox.h0000644000175100017510000000243712625057514011772 00000000000000#ifndef DIALOGBOX_H #define DIALOGBOX_H // Dialog Box window class FXAPI DialogBox : public FXTopWindow { FXDECLARE(DialogBox) protected: DialogBox() : _option(0) {} DialogBox(const DialogBox&) {} public: long onKeyPress(FXObject*, FXSelector, void*); long onKeyRelease(FXObject*, FXSelector, void*); long onClose(FXObject*, FXSelector, void*); long onCmdAccept(FXObject*, FXSelector, void*); long onCmdCancel(FXObject*, FXSelector, void*); long onCmdToggleOption(FXObject*, FXSelector, void*); public: enum { ID_CANCEL=FXTopWindow::ID_LAST, ID_ACCEPT, ID_TOGGLE_OPTION, ID_LAST }; public: DialogBox(FXWindow* win, const FXString& name, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0, int w = 0, int h = 0, int pl = 10, int pr = 10, int pt = 10, int pb = 10, int hs = 4, int vs = 4); DialogBox(FXApp* a, const FXString& name, FXuint opts = DECOR_TITLE|DECOR_BORDER, int x = 0, int y = 0, int w = 0, int h = 0, int pl = 10, int pr = 10, int pt = 10, int pb = 10, int hs = 4, int vs = 4); virtual void show(FXuint placement = PLACEMENT_CURSOR); virtual void create(); FXuint execute(FXuint placement = PLACEMENT_CURSOR); FXuint getOption(); protected: FXuint _option; }; #endif xfe-1.42/configure0000755000175100017510000162277312634031305011073 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for xfe 1.42. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='xfe' PACKAGE_TARNAME='xfe' PACKAGE_VERSION='1.42' PACKAGE_STRING='xfe 1.42' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="src/XFileExplorer.cpp" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= ac_header_list= ac_func_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS STARTUPNOTIFY_FALSE STARTUPNOTIFY_TRUE STARTUPNOTIFY pkg_config xft_config freetype_config FOX_CONFIG CXXCPP LIBOBJS XMKMF POSUB LTLIBINTL LIBINTL INTLLIBS INTL_LIBTOOL_SUFFIX_PREFIX INTLOBJS GENCAT INSTOBJEXT DATADIRNAME CATOBJEXT USE_INCLUDED_LIBINTL BUILD_INCLUDED_LIBINTL WOE32DLL HAVE_WPRINTF HAVE_SNPRINTF HAVE_ASPRINTF HAVE_POSIX_PRINTF INTL_MACOSX_LIBS GLIBC21 INTLBISON LTLIBICONV LIBICONV LTLIBMULTITHREAD LIBMULTITHREAD LTLIBTHREAD LIBTHREAD LTLIBPTH LIBPTH PRI_MACROS_BROKEN ALLOCA HAVE_VISIBILITY CFLAG_VISIBILITY RANLIB GLIBC2 host_os host_vendor host_cpu host build_os build_vendor build_cpu build XGETTEXT_015 GMSGFMT_015 MSGFMT_015 GETTEXT_PACKAGE ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS LN_S am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX EGREP GREP CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_nls enable_threads with_gnu_ld enable_rpath with_libpth_prefix with_libiconv_prefix with_included_gettext with_libintl_prefix with_x enable_largefile with_xrandr enable_sn enable_debug enable_minimalflags enable_release ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP CXX CXXFLAGS CCC XMKMF CXXCPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures xfe 1.42 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/xfe] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of xfe 1.42:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-nls do not use Native Language Support --enable-threads={posix|solaris|pth|win32} specify multithreading API --disable-threads build without multithread safety --disable-rpath do not hardcode runtime library paths --disable-largefile omit support for large files --disable-sn compile without startup notification support --enable-debug compile for debugging --enable-minimalflags respect system flags as much as possible --enable-release compile for release (advanced optimizations) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib --without-libpth-prefix don't search for libpth in includedir and libdir --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-included-gettext use the GNU gettext library included here --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-x use the X Window System --with-xrandr compile with XRandR support Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags XMKMF Path to xmkmf, Makefile generator for X Window System CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF xfe configure 1.42 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 $as_echo_n "checking for $2.$3... " >&6; } if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (sizeof ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES # --------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_cxx_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_cxx_check_header_mongrel # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by xfe $as_me 1.42, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi gt_needs="$gt_needs " as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" as_fn_append ac_header_list " sys/time.h" as_fn_append ac_func_list " alarm" as_fn_append ac_header_list " utime.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.15' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='xfe' VERSION='1.42' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi ac_config_headers="$ac_config_headers config.h" # Test if compilation variables are already set and if not, reset them # This mechanism prevents these variables to be changed by the following AC macros # while still allowing to use user's variables if they are defined if test "$CXXFLAGS" = ""; then CXXFLAGS="" fi if test "$CFLAGS" = ""; then CFLAGS="" fi # Minimal LIBS LIBS="$LIBS -lX11" DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= fi if test "$MINIX" = yes; then $as_echo "#define _POSIX_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h $as_echo "#define _MINIX 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ # define __EXTENSIONS__ 1 $ac_includes_default int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_safe_to_define___extensions__=yes else ac_cv_safe_to_define___extensions__=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } test $ac_cv_safe_to_define___extensions__ = yes && $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h $as_echo "#define _ALL_SOURCE 1" >>confdefs.h $as_echo "#define _GNU_SOURCE 1" >>confdefs.h $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h # Checks for programs ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Internationalization { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n ""; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5 $as_echo_n "checking for intltool >= ... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile GETTEXT_PACKAGE=xfe cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' ac_config_commands="$ac_config_commands po-directories" # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2 or newer... " >&6; } if ${ac_cv_gnu_library_2+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : ac_cv_gnu_library_2=yes else ac_cv_gnu_library_2=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2" >&5 $as_echo "$ac_cv_gnu_library_2" >&6; } GLIBC2="$ac_cv_gnu_library_2" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi CFLAG_VISIBILITY= HAVE_VISIBILITY=0 if test -n "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 $as_echo_n "checking for simple visibility declarations... " >&6; } if ${gl_cv_cc_visibility+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void); int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_visibility=yes else gl_cv_cc_visibility=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 $as_echo "$gl_cv_cc_visibility" >&6; } if test $gl_cv_cc_visibility = yes; then CFLAG_VISIBILITY="-fvisibility=hidden" HAVE_VISIBILITY=1 fi fi cat >>confdefs.h <<_ACEOF #define HAVE_VISIBILITY $HAVE_VISIBILITY _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint.h" >&5 $as_echo_n "checking for stdint.h... " >&6; } if ${gl_cv_header_stdint_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_stdint_h=yes else gl_cv_header_stdint_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_stdint_h" >&5 $as_echo "$gl_cv_header_stdint_h" >&6; } if test $gl_cv_header_stdint_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H_WITH_UINTMAX 1 _ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (size_t); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; const char *cdata2; int i, pagesize; int fd, fd2; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 2; if (write (fd, data, pagesize) != pagesize) return 3; close (fd); /* Next, check that the tail of a page is zero-filled. File must have non-zero length, otherwise we risk SIGBUS for entire page. */ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd2 < 0) return 4; cdata2 = ""; if (write (fd2, cdata2, 1) != 1) return 5; data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); if (data2 == MAP_FAILED) return 6; for (i = 0; i < pagesize; ++i) if (*(data2 + i)) return 7; close (fd2); if (munmap (data2, pagesize)) return 8; /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 12; if (read (fd, data3, pagesize) != pagesize) return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 14; close (fd); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether integer division by zero raises SIGFPE" >&5 $as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; } if ${gt_cv_int_divbyzero_sigfpe+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : # Guess based on the CPU. case "$host_cpu" in alpha* | i3456786 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gt_cv_int_divbyzero_sigfpe=yes else gt_cv_int_divbyzero_sigfpe=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_int_divbyzero_sigfpe" >&5 $as_echo "$gt_cv_int_divbyzero_sigfpe" >&6; } case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac cat >>confdefs.h <<_ACEOF #define INTDIV0_RAISES_SIGFPE $value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inttypes.h" >&5 $as_echo_n "checking for inttypes.h... " >&6; } if ${gl_cv_header_inttypes_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { uintmax_t i = (uintmax_t) -1; return !i; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_header_inttypes_h=yes else gl_cv_header_inttypes_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_inttypes_h" >&5 $as_echo "$gl_cv_header_inttypes_h" >&6; } if test $gl_cv_header_inttypes_h = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H_WITH_UINTMAX 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for unsigned long long int" >&5 $as_echo_n "checking for unsigned long long int... " >&6; } if ${ac_cv_type_unsigned_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ unsigned long long int ull = 18446744073709551615ULL; typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63; int main () { unsigned long long int ullmax = 18446744073709551615ull; return (ull << 63 | ull >> 63 | ull << i | ull >> i | ullmax / ull | ullmax % ull); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_type_unsigned_long_long_int=yes else ac_cv_type_unsigned_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_unsigned_long_long_int" >&5 $as_echo "$ac_cv_type_unsigned_long_long_int" >&6; } if test $ac_cv_type_unsigned_long_long_int = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG_INT 1" >>confdefs.h fi ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int if test $ac_cv_type_unsigned_long_long = yes; then $as_echo "#define HAVE_UNSIGNED_LONG_LONG 1" >>confdefs.h fi if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' cat >>confdefs.h <<_ACEOF #define uintmax_t $ac_type _ACEOF else $as_echo "#define HAVE_UINTMAX_T 1" >>confdefs.h fi for ac_header in inttypes.h do : ac_fn_c_check_header_mongrel "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_inttypes_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_INTTYPES_H 1 _ACEOF fi done if test $ac_cv_header_inttypes_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the inttypes.h PRIxNN macros are broken" >&5 $as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; } if ${gt_cv_inttypes_pri_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef PRId32 char *p = PRId32; #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_inttypes_pri_broken=no else gt_cv_inttypes_pri_broken=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_inttypes_pri_broken" >&5 $as_echo "$gt_cv_inttypes_pri_broken" >&6; } fi if test "$gt_cv_inttypes_pri_broken" = yes; then cat >>confdefs.h <<_ACEOF #define PRI_MACROS_BROKEN 1 _ACEOF PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then : enableval=$enable_threads; gl_use_threads=$enableval else case "$host_os" in osf*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac fi if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using : case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks . cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_TRY_LINK test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in . case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 $as_echo_n "checking whether imported symbols can be declared weak... " >&6; } gl_have_weak=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ extern void xyzzy (); #pragma weak xyzzy int main () { xyzzy(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_weak=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_have_weak" >&5 $as_echo "$gl_have_weak" >&6; } if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks . It's added above, in gl_LOCK_EARLY_BODY. ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" if test "x$ac_cv_header_pthread_h" = xyes; then : gl_have_pthread_h=yes else gl_have_pthread_h=no fi if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pthread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) $as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h esac fi else # Some library is needed. Try libpthread and libc_r. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 $as_echo_n "checking for pthread_kill in -lpthread... " >&6; } if ${ac_cv_lib_pthread_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_pthread_pthread_kill=yes else ac_cv_lib_pthread_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 $as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread fi if test -z "$gl_have_pthread"; then # For FreeBSD 4. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 $as_echo_n "checking for pthread_kill in -lc_r... " >&6; } if ${ac_cv_lib_c_r_pthread_kill+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lc_r $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_kill (); int main () { return pthread_kill (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_c_r_pthread_kill=yes else ac_cv_lib_c_r_pthread_kill=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 $as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; } if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then : gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r fi fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix $as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then $as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include " if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then : $as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h fi # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { thr_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_solaristhread=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h if test $gl_have_weak = yes; then $as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 $as_echo_n "checking how to link with libpth... " >&6; } if ${ac_cv_libpth_libs+:} false; then : $as_echo_n "(cached) " >&6 else use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libpth-prefix was given. if test "${with_libpth_prefix+set}" = set; then : withval=$with_libpth_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBPTH= LTLIBPTH= INCPTH= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='pth ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" else LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBPTH; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" ;; esac done fi else LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" done fi ac_cv_libpth_libs="$LIBPTH" ac_cv_libpth_ltlibs="$LTLIBPTH" ac_cv_libpth_cppflags="$INCPTH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 $as_echo "$ac_cv_libpth_libs" >&6; } LIBPTH="$ac_cv_libpth_libs" LTLIBPTH="$ac_cv_libpth_ltlibs" INCPTH="$ac_cv_libpth_cppflags" for element in $INCPTH; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done HAVE_LIBPTH=yes gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS -lpth" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { pth_self(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gl_have_pth=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" $as_echo "#define USE_PTH_THREADS 1" >>confdefs.h if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then $as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=win32 $as_echo "#define USE_WIN32_THREADS 1" >>confdefs.h fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5 $as_echo_n "checking for multithread API to use... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5 $as_echo "$gl_threads_api" >&6; } use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; } int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : $as_echo "#define HAVE_BUILTIN_EXPECT 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext for ac_header in argz.h inttypes.h limits.h unistd.h sys/param.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getcwd getegid geteuid getgid getuid mempcpy munmap \ stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ argz_next __fsetlocking do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether feof_unlocked is declared" >&5 $as_echo_n "checking whether feof_unlocked is declared... " >&6; } if ${ac_cv_have_decl_feof_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef feof_unlocked char *p = (char *) feof_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_feof_unlocked=yes else ac_cv_have_decl_feof_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_feof_unlocked" >&5 $as_echo "$ac_cv_have_decl_feof_unlocked" >&6; } if test $ac_cv_have_decl_feof_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FEOF_UNLOCKED $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fgets_unlocked is declared" >&5 $as_echo_n "checking whether fgets_unlocked is declared... " >&6; } if ${ac_cv_have_decl_fgets_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef fgets_unlocked char *p = (char *) fgets_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_fgets_unlocked=yes else ac_cv_have_decl_fgets_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_fgets_unlocked" >&5 $as_echo "$ac_cv_have_decl_fgets_unlocked" >&6; } if test $ac_cv_have_decl_fgets_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_FGETS_UNLOCKED $gt_value _ACEOF am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- }$am_cv_proto_iconv" >&5 $as_echo "${ac_t:- }$am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NL_LOCALE_NAME macro" >&5 $as_echo_n "checking for NL_LOCALE_NAME macro... " >&6; } if ${gt_cv_nl_locale_name+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_nl_locale_name=yes else gt_cv_nl_locale_name=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_nl_locale_name" >&5 $as_echo "$gt_cv_nl_locale_name" >&6; } if test $gt_cv_nl_locale_name = yes; then $as_echo "#define HAVE_NL_LOCALE_NAME 1" >>confdefs.h fi for ac_prog in bison do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_INTLBISON+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$INTLBISON"; then ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_INTLBISON="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi INTLBISON=$ac_cv_prog_INTLBISON if test -n "$INTLBISON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLBISON" >&5 $as_echo "$INTLBISON" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$INTLBISON" && break done if test -z "$INTLBISON"; then ac_verc_fail=yes else { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of bison" >&5 $as_echo_n "checking version of bison... " >&6; } ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5 $as_echo "$ac_prog_version" >&6; } fi if test $ac_verc_fail = yes; then INTLBISON=: fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 $as_echo_n "checking for long long int... " >&6; } if ${ac_cv_type_long_long_int+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; int i = 63; int main () { long long int llmax = 9223372036854775807ll; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll)); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_type_long_long_int=yes else ac_cv_type_long_long_int=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5 $as_echo "$ac_cv_type_long_long_int" >&6; } if test $ac_cv_type_long_long_int = yes; then $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5 $as_echo_n "checking for long double... " >&6; } if ${gt_cv_c_long_double+:} false; then : $as_echo_n "(cached) " >&6 else if test "$GCC" = yes; then gt_cv_c_long_double=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* The Stardent Vistra knows sizeof(long double), but does not support it. */ long double foo = 0.0; /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ int array [2*(sizeof(long double) >= sizeof(double)) - 1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_long_double=yes else gt_cv_c_long_double=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_long_double" >&5 $as_echo "$gt_cv_c_long_double" >&6; } if test $gt_cv_c_long_double = yes; then $as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wchar_t" >&5 $as_echo_n "checking for wchar_t... " >&6; } if ${gt_cv_c_wchar_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wchar_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wchar_t=yes else gt_cv_c_wchar_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wchar_t" >&5 $as_echo "$gt_cv_c_wchar_t" >&6; } if test $gt_cv_c_wchar_t = yes; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 $as_echo_n "checking for wint_t... " >&6; } if ${gt_cv_c_wint_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include wint_t foo = (wchar_t)'\0'; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_wint_t=yes else gt_cv_c_wint_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_wint_t" >&5 $as_echo "$gt_cv_c_wint_t" >&6; } if test $gt_cv_c_wint_t = yes; then $as_echo "#define HAVE_WINT_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intmax_t" >&5 $as_echo_n "checking for intmax_t... " >&6; } if ${gt_cv_c_intmax_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif int main () { intmax_t x = -1; return !x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gt_cv_c_intmax_t=yes else gt_cv_c_intmax_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_c_intmax_t" >&5 $as_echo "$gt_cv_c_intmax_t" >&6; } if test $gt_cv_c_intmax_t = yes; then $as_echo "#define HAVE_INTMAX_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf() supports POSIX/XSI format strings" >&5 $as_echo_n "checking whether printf() supports POSIX/XSI format strings... " >&6; } if ${gt_cv_func_printf_posix+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "notposix" >/dev/null 2>&1; then : gt_cv_func_printf_posix="guessing no" else gt_cv_func_printf_posix="guessing yes" fi rm -f conftest* else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : gt_cv_func_printf_posix=yes else gt_cv_func_printf_posix=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_printf_posix" >&5 $as_echo "$gt_cv_func_printf_posix" >&6; } case $gt_cv_func_printf_posix in *yes) $as_echo "#define HAVE_POSIX_PRINTF 1" >>confdefs.h ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5 $as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; } if ${ac_cv_gnu_library_2_1+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : ac_cv_gnu_library_2_1=yes else ac_cv_gnu_library_2_1=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5 $as_echo "$ac_cv_gnu_library_2_1" >&6; } GLIBC21="$ac_cv_gnu_library_2_1" for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SIZE_MAX" >&5 $as_echo_n "checking for SIZE_MAX... " >&6; } if ${gl_cv_size_max+:} false; then : $as_echo_n "(cached) " >&6 else gl_cv_size_max= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Found it" >/dev/null 2>&1; then : gl_cv_size_max=yes fi rm -f conftest* if test -z "$gl_cv_size_max"; then if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) * CHAR_BIT - 1" "size_t_bits_minus_1" "#include #include "; then : else size_t_bits_minus_1= fi if ac_fn_c_compute_int "$LINENO" "sizeof (size_t) <= sizeof (unsigned int)" "fits_in_uint" "#include "; then : else fits_in_uint= fi if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern size_t foo; extern unsigned long foo; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : fits_in_uint=0 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else gl_cv_size_max='((size_t)~(size_t)0)' fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_max" >&5 $as_echo "$gl_cv_size_max" >&6; } if test "$gl_cv_size_max" != yes; then cat >>confdefs.h <<_ACEOF #define SIZE_MAX $gl_cv_size_max _ACEOF fi for ac_header in stdint.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default" if test "x$ac_cv_type_ptrdiff_t" = xyes; then : else $as_echo "#define ptrdiff_t long" >>confdefs.h fi for ac_header in stddef.h stdlib.h string.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in asprintf fwprintf putenv setenv setlocale snprintf wcslen do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snprintf is declared" >&5 $as_echo_n "checking whether _snprintf is declared... " >&6; } if ${ac_cv_have_decl__snprintf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _snprintf char *p = (char *) _snprintf; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl__snprintf=yes else ac_cv_have_decl__snprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snprintf" >&5 $as_echo "$ac_cv_have_decl__snprintf" >&6; } if test $ac_cv_have_decl__snprintf = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNPRINTF $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether _snwprintf is declared" >&5 $as_echo_n "checking whether _snwprintf is declared... " >&6; } if ${ac_cv_have_decl__snwprintf+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _snwprintf char *p = (char *) _snwprintf; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl__snwprintf=yes else ac_cv_have_decl__snwprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl__snwprintf" >&5 $as_echo "$ac_cv_have_decl__snwprintf" >&6; } if test $ac_cv_have_decl__snwprintf = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL__SNWPRINTF $gt_value _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getc_unlocked is declared" >&5 $as_echo_n "checking whether getc_unlocked is declared... " >&6; } if ${ac_cv_have_decl_getc_unlocked+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef getc_unlocked char *p = (char *) getc_unlocked; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_have_decl_getc_unlocked=yes else ac_cv_have_decl_getc_unlocked=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_decl_getc_unlocked" >&5 $as_echo "$ac_cv_have_decl_getc_unlocked" >&6; } if test $ac_cv_have_decl_getc_unlocked = yes; then gt_value=1 else gt_value=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_GETC_UNLOCKED $gt_value _ACEOF case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } if ${am_cv_langinfo_codeset+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char* cs = nl_langinfo(CODESET); return !cs; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_langinfo_codeset=yes else am_cv_langinfo_codeset=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_langinfo_codeset" >&5 $as_echo "$am_cv_langinfo_codeset" >&6; } if test $am_cv_langinfo_codeset = yes; then $as_echo "#define HAVE_LANGINFO_CODESET 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${gt_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_val_LC_MESSAGES=yes else gt_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_val_LC_MESSAGES" >&5 $as_echo "$gt_cv_val_LC_MESSAGES" >&6; } if test $gt_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi if test "$enable_shared" = yes; then case "$host_os" in cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else is_woe32dll=no fi WOE32DLL=$is_woe32dll { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether included gettext is requested" >&5 $as_echo_n "checking whether included gettext is requested... " >&6; } # Check whether --with-included-gettext was given. if test "${with_included_gettext+set}" = set; then : withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval else nls_cv_force_use_gnu_gettext=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $nls_cv_force_use_gnu_gettext" >&5 $as_echo "$nls_cv_force_use_gnu_gettext" >&6; } nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if eval \${$gt_func_gnugettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libc=yes" else eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$gt_func_gnugettext_libc { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if eval \${$gt_func_gnugettext_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$gt_func_gnugettext_libintl=yes" else eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi eval ac_res=\$$gt_func_gnugettext_libintl { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test "$gt_use_preinstalled_gnugettext" != "yes"; then nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="\${top_builddir}/intl/libintl.a $LIBICONV $LIBTHREAD" LTLIBINTL="\${top_builddir}/intl/libintl.a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then CATOBJEXT=.gmo fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi nls_cv_header_intl= nls_cv_header_libgt= DATADIRNAME=share INSTOBJEXT=.mo GENCAT=gencat INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi INTL_LIBTOOL_SUFFIX_PREFIX= INTLLIBS="$LIBINTL" # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 $as_echo_n "checking for X... " >&6; } # Check whether --with-x was given. if test "${with_x+set}" = set; then : withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else case $x_includes,$x_libraries in #( *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir cat >Imakefile <<'_ACEOF' incroot: @echo incroot='${INCROOT}' usrlibdir: @echo usrlibdir='${USRLIBDIR}' libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl dylib la dll; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /usr/lib64 | /lib | /lib64) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R7/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R7 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R7/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R7 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # We can compile using X headers with no special include directory. ac_x_includes= else for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.i conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { XrmInitialize () ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else LIBS=$ac_save_LIBS for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl dylib la dll; do if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no case $ac_x_includes,$ac_x_libraries in #( no,* | *,no | *\'*) # Didn't find X, or a directory has "'" in its name. ac_cv_have_x="have_x=no";; #( *) # Record where we found X for the cache. ac_cv_have_x="have_x=yes\ ac_x_includes='$ac_x_includes'\ ac_x_libraries='$ac_x_libraries'" esac fi ;; #( *) have_x=yes;; esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 $as_echo "$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 $as_echo "libraries $x_libraries, headers $x_includes" >&6; } fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (size_t); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_sys_wait_h=yes else ac_cv_header_sys_wait_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 $as_echo "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then $as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi for ac_header in fcntl.h mntent.h stdlib.h string.h sys/ioctl.h sys/statfs.h sys/time.h unistd.h utime.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; /* The following fails for HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then : ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 $as_echo "$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then $as_echo "#define uid_t int" >>confdefs.h $as_echo "#define gid_t int" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_RDEV 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi # Checks for library functions. for ac_header in unistd.h do : ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" if test "x$ac_cv_header_unistd_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_UNISTD_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 $as_echo_n "checking for working chown... " >&6; } if ${ac_cv_func_chown_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_chown_works=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include int main () { char *f = "conftest.chown"; struct stat before, after; if (creat (f, 0600) < 0) return 1; if (stat (f, &before) < 0) return 1; if (chown (f, (uid_t) -1, (gid_t) -1) == -1) return 1; if (stat (f, &after) < 0) return 1; return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_chown_works=yes else ac_cv_func_chown_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi rm -f conftest.chown fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 $as_echo "$ac_cv_func_chown_works" >&6; } if test $ac_cv_func_chown_works = yes; then $as_echo "#define HAVE_CHOWN 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether closedir returns void" >&5 $as_echo_n "checking whether closedir returns void... " >&6; } if ${ac_cv_func_closedir_void+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_closedir_void=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #include <$ac_header_dirent> #ifndef __cplusplus int closedir (); #endif int main () { return closedir (opendir (".")) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_closedir_void=no else ac_cv_func_closedir_void=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_closedir_void" >&5 $as_echo "$ac_cv_func_closedir_void" >&6; } if test $ac_cv_func_closedir_void = yes; then $as_echo "#define CLOSEDIR_VOID 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5 $as_echo_n "checking for error_at_line... " >&6; } if ${ac_cv_lib_error_at_line+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { error_at_line (0, 0, "", 0, "an error occurred"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_error_at_line=yes else ac_cv_lib_error_at_line=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5 $as_echo "$ac_cv_lib_error_at_line" >&6; } if test $ac_cv_lib_error_at_line = no; then case " $LIBOBJS " in *" error.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS error.$ac_objext" ;; esac fi for ac_header in vfork.h do : ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" if test "x$ac_cv_header_vfork_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VFORK_H 1 _ACEOF fi done for ac_func in fork vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_fork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* By Ruediger Kuhlmann. */ return fork () < 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_fork_works=yes else ac_cv_func_fork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 $as_echo "$ac_cv_func_fork_works" >&6; } else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_vfork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default #include #ifdef HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include , but some compilers (e.g. gcc -O) don't grok . Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; return ( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_vfork_works=yes else ac_cv_func_vfork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 $as_echo "$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then $as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h else $as_echo "#define vfork fork" >>confdefs.h fi if test "x$ac_cv_func_fork_works" = xyes; then $as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 $as_echo_n "checking type of array argument to getgroups... " >&6; } if ${ac_cv_type_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_type_getgroups=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Mike Rendell for this test. */ $ac_includes_default #define NGID 256 #undef MAX #define MAX(x, y) ((x) > (y) ? (x) : (y)) int main () { gid_t gidset[NGID]; int i, n; union { gid_t gval; long int lval; } val; val.lval = -1; for (i = 0; i < NGID; i++) gidset[i] = val.gval; n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1, gidset); /* Exit non-zero if getgroups seems to require an array of ints. This happens when gid_t is short int but getgroups modifies an array of ints. */ return n > 0 && gidset[n] != val.gval; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi if test $ac_cv_type_getgroups = cross; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then : ac_cv_type_getgroups=gid_t else ac_cv_type_getgroups=int fi rm -f conftest* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_getgroups" >&5 $as_echo "$ac_cv_type_getgroups" >&6; } cat >>confdefs.h <<_ACEOF #define GETGROUPS_T $ac_cv_type_getgroups _ACEOF ac_fn_c_check_func "$LINENO" "getgroups" "ac_cv_func_getgroups" if test "x$ac_cv_func_getgroups" = xyes; then : fi # If we don't yet have getgroups, see if it's in -lbsd. # This is reported to be necessary on an ITOS 3000WS running SEIUX 3.1. ac_save_LIBS=$LIBS if test $ac_cv_func_getgroups = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getgroups in -lbsd" >&5 $as_echo_n "checking for getgroups in -lbsd... " >&6; } if ${ac_cv_lib_bsd_getgroups+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getgroups (); int main () { return getgroups (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bsd_getgroups=yes else ac_cv_lib_bsd_getgroups=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_getgroups" >&5 $as_echo "$ac_cv_lib_bsd_getgroups" >&6; } if test "x$ac_cv_lib_bsd_getgroups" = xyes; then : GETGROUPS_LIB=-lbsd fi fi # Run the program to test the functionality of the system-supplied # getgroups function only if there is such a function. if test $ac_cv_func_getgroups = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working getgroups" >&5 $as_echo_n "checking for working getgroups... " >&6; } if ${ac_cv_func_getgroups_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_getgroups_works=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* On Ultrix 4.3, getgroups (0, 0) always fails. */ return getgroups (0, 0) == -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_getgroups_works=yes else ac_cv_func_getgroups_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getgroups_works" >&5 $as_echo "$ac_cv_func_getgroups_works" >&6; } else ac_cv_func_getgroups_works=no fi if test $ac_cv_func_getgroups_works = yes; then $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h fi LIBS=$ac_save_LIBS # getmntent is in the standard C library on UNICOS, in -lsun on Irix 4, # -lseq on Dynix/PTX, -lgen on Unixware. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing getmntent" >&5 $as_echo_n "checking for library containing getmntent... " >&6; } if ${ac_cv_search_getmntent+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char getmntent (); int main () { return getmntent (); ; return 0; } _ACEOF for ac_lib in '' sun seq gen; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_getmntent=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_getmntent+:} false; then : break fi done if ${ac_cv_search_getmntent+:} false; then : else ac_cv_search_getmntent=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_getmntent" >&5 $as_echo "$ac_cv_search_getmntent" >&6; } ac_res=$ac_cv_search_getmntent if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" ac_cv_func_getmntent=yes $as_echo "#define HAVE_GETMNTENT 1" >>confdefs.h else ac_cv_func_getmntent=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else # If the `ln -s' command failed, then we probably don't even # have an lstat function. ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f conftest.sym conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 $as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat accepts an empty string" >&5 $as_echo_n "checking whether lstat accepts an empty string... " >&6; } if ${ac_cv_func_lstat_empty_string_bug+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_lstat_empty_string_bug=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; return lstat ("", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_empty_string_bug=no else ac_cv_func_lstat_empty_string_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_empty_string_bug" >&5 $as_echo "$ac_cv_func_lstat_empty_string_bug" >&6; } if test $ac_cv_func_lstat_empty_string_bug = yes; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;; esac cat >>confdefs.h <<_ACEOF #define HAVE_LSTAT_EMPTY_STRING_BUG 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 $as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } if ${ac_cv_func_lstat_dereferences_slashed_symlink+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.sym conftest.file echo >conftest.file if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then if test "$cross_compiling" = yes; then : ac_cv_func_lstat_dereferences_slashed_symlink=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; /* Linux will dereference the symlink and fail, as required by POSIX. That is better in the sense that it means we will not have to compile and use the lstat wrapper. */ return lstat ("conftest.sym/", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_lstat_dereferences_slashed_symlink=yes else ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else # If the `ln -s' command failed, then we probably don't even # have an lstat function. ac_cv_func_lstat_dereferences_slashed_symlink=no fi rm -f conftest.sym conftest.file fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_lstat_dereferences_slashed_symlink" >&5 $as_echo "$ac_cv_func_lstat_dereferences_slashed_symlink" >&6; } test $ac_cv_func_lstat_dereferences_slashed_symlink = yes && cat >>confdefs.h <<_ACEOF #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 _ACEOF if test "x$ac_cv_func_lstat_dereferences_slashed_symlink" = xno; then case " $LIBOBJS " in *" lstat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS lstat.$ac_objext" ;; esac fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then : $as_echo "#define HAVE_MALLOC 1" >>confdefs.h else $as_echo "#define HAVE_MALLOC 0" >>confdefs.h case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac $as_echo "#define malloc rpl_malloc" >>confdefs.h fi for ac_func in $ac_func_list do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mktime" >&5 $as_echo_n "checking for working mktime... " >&6; } if ${ac_cv_func_working_mktime+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_working_mktime=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Test program from Paul Eggert and Tony Leneis. */ #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #include #include #ifdef HAVE_UNISTD_H # include #endif #ifndef HAVE_ALARM # define alarm(X) /* empty */ #endif /* Work around redefinition to rpl_putenv by other config tests. */ #undef putenv static time_t time_t_max; static time_t time_t_min; /* Values we'll use to set the TZ environment variable. */ static const char *tz_strings[] = { (const char *) 0, "TZ=GMT0", "TZ=JST-9", "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" }; #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) /* Return 0 if mktime fails to convert a date in the spring-forward gap. Based on a problem report from Andreas Jaeger. */ static int spring_forward_gap () { /* glibc (up to about 1998-10-07) failed this test. */ struct tm tm; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); tm.tm_year = 98; tm.tm_mon = 3; tm.tm_mday = 5; tm.tm_hour = 2; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; return mktime (&tm) != (time_t) -1; } static int mktime_test1 (time_t now) { struct tm *lt; return ! (lt = localtime (&now)) || mktime (lt) == now; } static int mktime_test (time_t now) { return (mktime_test1 (now) && mktime_test1 ((time_t) (time_t_max - now)) && mktime_test1 ((time_t) (time_t_min + now))); } static int irix_6_4_bug () { /* Based on code from Ariel Faigon. */ struct tm tm; tm.tm_year = 96; tm.tm_mon = 3; tm.tm_mday = 0; tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; tm.tm_isdst = -1; mktime (&tm); return tm.tm_mon == 2 && tm.tm_mday == 31; } static int bigtime_test (int j) { struct tm tm; time_t now; tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; now = mktime (&tm); if (now != (time_t) -1) { struct tm *lt = localtime (&now); if (! (lt && lt->tm_year == tm.tm_year && lt->tm_mon == tm.tm_mon && lt->tm_mday == tm.tm_mday && lt->tm_hour == tm.tm_hour && lt->tm_min == tm.tm_min && lt->tm_sec == tm.tm_sec && lt->tm_yday == tm.tm_yday && lt->tm_wday == tm.tm_wday && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) return 0; } return 1; } static int year_2050_test () { /* The correct answer for 2050-02-01 00:00:00 in Pacific time, ignoring leap seconds. */ unsigned long int answer = 2527315200UL; struct tm tm; time_t t; tm.tm_year = 2050 - 1900; tm.tm_mon = 2 - 1; tm.tm_mday = 1; tm.tm_hour = tm.tm_min = tm.tm_sec = 0; tm.tm_isdst = -1; /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" instead of "TZ=America/Vancouver" in order to detect the bug even on systems that don't support the Olson extension, or don't have the full zoneinfo tables installed. */ putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); t = mktime (&tm); /* Check that the result is either a failure, or close enough to the correct answer that we can assume the discrepancy is due to leap seconds. */ return (t == (time_t) -1 || (0 < t && answer - 120 <= t && t <= answer + 120)); } int main () { time_t t, delta; int i, j; /* This test makes some buggy mktime implementations loop. Give up after 60 seconds; a mktime slower than that isn't worth using anyway. */ alarm (60); for (;;) { t = (time_t_max << 1) + 1; if (t <= time_t_max) break; time_t_max = t; } time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { if (tz_strings[i]) putenv ((char*) tz_strings[i]); for (t = 0; t <= time_t_max - delta; t += delta) if (! mktime_test (t)) return 1; if (! (mktime_test ((time_t) 1) && mktime_test ((time_t) (60 * 60)) && mktime_test ((time_t) (60 * 60 * 24)))) return 1; for (j = 1; ; j <<= 1) if (! bigtime_test (j)) return 1; else if (INT_MAX / 2 < j) break; if (! bigtime_test (INT_MAX)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_working_mktime=yes else ac_cv_func_working_mktime=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_working_mktime" >&5 $as_echo "$ac_cv_func_working_mktime" >&6; } if test $ac_cv_func_working_mktime = no; then case " $LIBOBJS " in *" mktime.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS mktime.$ac_objext" ;; esac fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 $as_echo_n "checking for GNU libc compatible realloc... " >&6; } if ${ac_cv_func_realloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_realloc_0_nonnull=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 $as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then : $as_echo "#define HAVE_REALLOC 1" >>confdefs.h else $as_echo "#define HAVE_REALLOC 0" >>confdefs.h case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; esac $as_echo "#define realloc rpl_realloc" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat accepts an empty string" >&5 $as_echo_n "checking whether stat accepts an empty string... " >&6; } if ${ac_cv_func_stat_empty_string_bug+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_stat_empty_string_bug=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { struct stat sbuf; return stat ("", &sbuf) == 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_stat_empty_string_bug=no else ac_cv_func_stat_empty_string_bug=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_stat_empty_string_bug" >&5 $as_echo "$ac_cv_func_stat_empty_string_bug" >&6; } if test $ac_cv_func_stat_empty_string_bug = yes; then case " $LIBOBJS " in *" stat.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS stat.$ac_objext" ;; esac cat >>confdefs.h <<_ACEOF #define HAVE_STAT_EMPTY_STRING_BUG 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utime accepts a null argument" >&5 $as_echo_n "checking whether utime accepts a null argument... " >&6; } if ${ac_cv_func_utime_null+:} false; then : $as_echo_n "(cached) " >&6 else rm -f conftest.data; >conftest.data # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. if test "$cross_compiling" = yes; then : ac_cv_func_utime_null='guessing yes' else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default #ifdef HAVE_UTIME_H # include #endif int main () { struct stat s, t; return ! (stat ("conftest.data", &s) == 0 && utime ("conftest.data", 0) == 0 && stat ("conftest.data", &t) == 0 && t.st_mtime >= s.st_mtime && t.st_mtime - s.st_mtime < 120); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_utime_null=yes else ac_cv_func_utime_null=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_utime_null" >&5 $as_echo "$ac_cv_func_utime_null" >&6; } if test "x$ac_cv_func_utime_null" != xno; then ac_cv_func_utime_null=yes $as_echo "#define HAVE_UTIME_NULL 1" >>confdefs.h fi rm -f conftest.data for ac_func in endgrent endpwent gethostname getmntent gettimeofday lchown memset mkdir mkfifo putenv rmdir setlocale sqrt strchr strdup strerror strstr strtol strtoul strtoull utime do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Large files support # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi # Check for FOX 1.6 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fxfindfox in -lFOX-1.6" >&5 $as_echo_n "checking for fxfindfox in -lFOX-1.6... " >&6; } if ${ac_cv_lib_FOX_1_6_fxfindfox+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lFOX-1.6 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char fxfindfox (); int main () { return fxfindfox (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_FOX_1_6_fxfindfox=yes else ac_cv_lib_FOX_1_6_fxfindfox=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_FOX_1_6_fxfindfox" >&5 $as_echo "$ac_cv_lib_FOX_1_6_fxfindfox" >&6; } if test "x$ac_cv_lib_FOX_1_6_fxfindfox" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBFOX_1_6 1 _ACEOF LIBS="-lFOX-1.6 $LIBS" else as_fn_error $? "\"libFOX-1.6 not found\"" "$LINENO" 5 fi # Check for FOX 1.6 header files { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_fn_cxx_check_header_mongrel "$LINENO" "fox-1.6/fx.h" "ac_cv_header_fox_1_6_fx_h" "$ac_includes_default" if test "x$ac_cv_header_fox_1_6_fx_h" = xyes; then : else as_fn_error $? "\"fox-1.6/fx.h not found\"" "$LINENO" 5 fi # Check if fox-config exists for ac_prog in fox-config-1.6 fox-1.6-config fox-config do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_FOX_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$FOX_CONFIG"; then ac_cv_prog_FOX_CONFIG="$FOX_CONFIG" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_FOX_CONFIG="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi FOX_CONFIG=$ac_cv_prog_FOX_CONFIG if test -n "$FOX_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FOX_CONFIG" >&5 $as_echo "$FOX_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$FOX_CONFIG" && break done if test no"$FOX_CONFIG" = no ; then as_fn_error $? "\"fox-config not found\"" "$LINENO" 5 fi # Include flags for the FOX library FOXCFLAGS=`$FOX_CONFIG --cflags` CXXFLAGS="${CXXFLAGS} $FOXCFLAGS" # Check if FOX was compiled with xft support TEST_XFT=`$FOX_CONFIG --libs | grep Xft` if test "x$TEST_XFT" != "x" ; then echo "checking whether FOX was compiled with Xft support... yes" # Check for FreeType2 headers freetype_config='' for ac_prog in freetype-config do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_freetype_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$freetype_config"; then ac_cv_prog_freetype_config="$freetype_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_freetype_config="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi freetype_config=$ac_cv_prog_freetype_config if test -n "$freetype_config"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $freetype_config" >&5 $as_echo "$freetype_config" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$freetype_config" && break done if test -n "$freetype_config"; then freetype_cflags=`$freetype_config --cflags` freetype_libs=`$freetype_config --libs` LIBS="$LIBS $freetype_libs" CPPFLAGS="$freetype_cflags $CPPFLAGS" fi ac_fn_cxx_check_header_mongrel "$LINENO" "config/ftheader.h" "ac_cv_header_config_ftheader_h" "$ac_includes_default" if test "x$ac_cv_header_config_ftheader_h" = xyes; then : else ac_fn_cxx_check_header_mongrel "$LINENO" "freetype/config/ftheader.h" "ac_cv_header_freetype_config_ftheader_h" "$ac_includes_default" if test "x$ac_cv_header_freetype_config_ftheader_h" = xyes; then : else as_fn_error $? "\"ftheader.h not found\"" "$LINENO" 5 fi fi # Check for Xft headers xft_config='' for ac_prog in xft-config do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_xft_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$xft_config"; then ac_cv_prog_xft_config="$xft_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_xft_config="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi xft_config=$ac_cv_prog_xft_config if test -n "$xft_config"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xft_config" >&5 $as_echo "$xft_config" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$xft_config" && break done if test -n "$xft_config"; then xft_cflags=`$xft_config --cflags` xft_libs=`$xft_config --libs` LIBS="$LIBS $xft_libs" CPPFLAGS="$xft_cflags $CPPFLAGS" CXXFLAGS="${CXXFLAGS} -DHAVE_XFT_H" else # On some systems (e.g. Fedora) xft-config is deprecated and pkg-config should be used instead pkg_config='' for ac_prog in pkg-config do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_pkg_config+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$pkg_config"; then ac_cv_prog_pkg_config="$pkg_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_pkg_config="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi pkg_config=$ac_cv_prog_pkg_config if test -n "$pkg_config"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkg_config" >&5 $as_echo "$pkg_config" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$pkg_config" && break done if test -n "$pkg_config"; then xft_cflags=`$pkg_config --cflags xft` xft_libs=`$pkg_config --libs xft` LIBS="$LIBS $xft_libs" CPPFLAGS="$xft_cflags $CPPFLAGS" CXXFLAGS="${CXXFLAGS} -DHAVE_XFT_H" fi fi ac_fn_cxx_check_header_mongrel "$LINENO" "X11/Xft/Xft.h" "ac_cv_header_X11_Xft_Xft_h" "$ac_includes_default" if test "x$ac_cv_header_X11_Xft_Xft_h" = xyes; then : else as_fn_error $? "\"Xft.h not found\"" "$LINENO" 5 fi else echo "checking whether FOX was compiled with Xft support... no" echo "" echo "===================================== Error! ================================================" echo "Configure has detected that your FOX library was compiled without Xft support." echo "Since Xfe version 1.42, Xft is mandatory and FOX *must* have been compiled with Xft support." echo "To enable Xft support in FOX, rebuild the FOX library using the following commands:" echo " ./configure --with-xft" echo " make" echo " sudo make install" echo "=============================================================================================" echo "" as_fn_error $? "\"missing Xft support in FOX\"" "$LINENO" 5 fi # Check for Xlib headers ac_fn_cxx_check_header_mongrel "$LINENO" "X11/Xlib.h" "ac_cv_header_X11_Xlib_h" "$ac_includes_default" if test "x$ac_cv_header_X11_Xlib_h" = xyes; then : else as_fn_error $? "\"Xlib.h not found\"" "$LINENO" 5 fi # Check for XRandR support { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xrandr extension" >&5 $as_echo_n "checking for xrandr extension... " >&6; } # Check whether --with-xrandr was given. if test "${with_xrandr+set}" = set; then : withval=$with_xrandr; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_xrandr" >&5 $as_echo "$with_xrandr" >&6; } if test "x$with_xrandr" != "xno"; then for ac_header in X11/extensions/Xrandr.h do : ac_fn_cxx_check_header_mongrel "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "$ac_includes_default" if test "x$ac_cv_header_X11_extensions_Xrandr_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_X11_EXTENSIONS_XRANDR_H 1 _ACEOF CXXFLAGS="${CXXFLAGS} -DHAVE_XRANDR_H=1"; LIBS="${LIBS} -lXrandr" fi done fi # Check for libPNG { $as_echo "$as_me:${as_lineno-$LINENO}: checking for png_read_info in -lpng" >&5 $as_echo_n "checking for png_read_info in -lpng... " >&6; } if ${ac_cv_lib_png_png_read_info+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpng $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char png_read_info (); int main () { return png_read_info (); ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_png_png_read_info=yes else ac_cv_lib_png_png_read_info=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_png_read_info" >&5 $as_echo "$ac_cv_lib_png_png_read_info" >&6; } if test "x$ac_cv_lib_png_png_read_info" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBPNG 1 _ACEOF LIBS="-lpng $LIBS" else as_fn_error $? "\"libPNG not found\"" "$LINENO" 5 fi ac_fn_cxx_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" if test "x$ac_cv_header_png_h" = xyes; then : else as_fn_error $? "\"png.h not found\"" "$LINENO" 5 fi # Check for fontconfig { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FcInit in -lfontconfig" >&5 $as_echo_n "checking for FcInit in -lfontconfig... " >&6; } if ${ac_cv_lib_fontconfig_FcInit+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lfontconfig $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char FcInit (); int main () { return FcInit (); ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : ac_cv_lib_fontconfig_FcInit=yes else ac_cv_lib_fontconfig_FcInit=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fontconfig_FcInit" >&5 $as_echo "$ac_cv_lib_fontconfig_FcInit" >&6; } if test "x$ac_cv_lib_fontconfig_FcInit" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBFONTCONFIG 1 _ACEOF LIBS="-lfontconfig $LIBS" else as_fn_error $? "\"fontconfig not found\"" "$LINENO" 5 fi ac_fn_cxx_check_header_mongrel "$LINENO" "fontconfig/fontconfig.h" "ac_cv_header_fontconfig_fontconfig_h" "$ac_includes_default" if test "x$ac_cv_header_fontconfig_fontconfig_h" = xyes; then : else as_fn_error $? "\"fontconfig.h not found\"" "$LINENO" 5 fi # Check for startup notification support { $as_echo "$as_me:${as_lineno-$LINENO}: checking for startup notification" >&5 $as_echo_n "checking for startup notification... " >&6; } # Check whether --enable-sn was given. if test "${enable_sn+set}" = set; then : enableval=$enable_sn; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_sn" >&5 $as_echo "$enable_sn" >&6; } STARTUPNOTIFY=false if test "x$enable_sn" != "xno"; then CXXFLAGS="${CXXFLAGS} -DSTARTUP_NOTIFICATION" STARTUPNOTIFY=true enable_sn=yes fi if test x$enable_sn = xyes; then STARTUPNOTIFY_TRUE= STARTUPNOTIFY_FALSE='#' else STARTUPNOTIFY_TRUE='#' STARTUPNOTIFY_FALSE= fi # Building for debugging { $as_echo "$as_me:${as_lineno-$LINENO}: checking for debugging" >&5 $as_echo_n "checking for debugging... " >&6; } # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_debug" >&5 $as_echo "$enable_debug" >&6; } # Add debug symbols { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimalflags" >&5 $as_echo_n "checking minimalflags... " >&6; } # Check whether --enable-minimalflags was given. if test "${enable_minimalflags+set}" = set; then : enableval=$enable_minimalflags; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_minimalflags" >&5 $as_echo "$enable_minimalflags" >&6; } # Building for release { $as_echo "$as_me:${as_lineno-$LINENO}: checking for release build" >&5 $as_echo_n "checking for release build... " >&6; } # Check whether --enable-release was given. if test "${enable_release+set}" = set; then : enableval=$enable_release; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_release" >&5 $as_echo "$enable_release" >&6; } if test "x$enable_minimalflags" = "xyes" ; then if test "x$enable_debug" = "xyes" ; then CPPFLAGS="$CPPFLAGS -DDEBUG" else CPPFLAGS="$CPPFLAGS -DNDEBUG" fi else # Setting CXXFLAGS if test "x$enable_debug" = "xyes" ; then CXXFLAGS="${CXXFLAGS} -Wall -g -DDEBUG" elif test "x$enable_release" = "xyes" ; then CXXFLAGS="-DNDEBUG ${CXXFLAGS} " if test "${GXX}" = "yes" ; then CXXFLAGS="-O3 -Wall -ffast-math -fomit-frame-pointer -fno-strict-aliasing ${CXXFLAGS}" fi else CXXFLAGS="-O2 -Wall ${CXXFLAGS}" fi # Setting CFLAGS if test "x$enable_debug" = "xyes" ; then CFLAGS="${CFLAGS} -Wall -g -DDEBUG" elif test "x$enable_release" = "xyes" ; then CFLAGS="-DNDEBUG ${CFLAGS}" if test "${GCC}" = "yes" ; then CFLAGS="-O3 -Wall -ffast-math -fomit-frame-pointer -fno-strict-aliasing ${CFLAGS}" fi else CFLAGS="-O2 -Wall ${CFLAGS}" fi fi # Output ac_config_files="$ac_config_files Makefile intl/Makefile m4/Makefile po/Makefile.in xfe.spec xferc xfe.desktop.in xfi.desktop.in xfw.desktop.in xfp.desktop.in src/Makefile icons/Makefile icons/xfe-theme/Makefile icons/gnome-theme/Makefile icons/gnomeblue-theme/Makefile icons/windows-theme/Makefile icons/tango-theme/Makefile icons/kde-theme/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${STARTUPNOTIFY_TRUE}" && test -z "${STARTUPNOTIFY_FALSE}"; then as_fn_error $? "conditional \"STARTUPNOTIFY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by xfe $as_me 1.42, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ xfe config.status 1.42 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "intl/Makefile") CONFIG_FILES="$CONFIG_FILES intl/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "xfe.spec") CONFIG_FILES="$CONFIG_FILES xfe.spec" ;; "xferc") CONFIG_FILES="$CONFIG_FILES xferc" ;; "xfe.desktop.in") CONFIG_FILES="$CONFIG_FILES xfe.desktop.in" ;; "xfi.desktop.in") CONFIG_FILES="$CONFIG_FILES xfi.desktop.in" ;; "xfw.desktop.in") CONFIG_FILES="$CONFIG_FILES xfw.desktop.in" ;; "xfp.desktop.in") CONFIG_FILES="$CONFIG_FILES xfp.desktop.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "icons/Makefile") CONFIG_FILES="$CONFIG_FILES icons/Makefile" ;; "icons/xfe-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/xfe-theme/Makefile" ;; "icons/gnome-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/gnome-theme/Makefile" ;; "icons/gnomeblue-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/gnomeblue-theme/Makefile" ;; "icons/windows-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/windows-theme/Makefile" ;; "icons/tango-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/tango-theme/Makefile" ;; "icons/kde-theme/Makefile") CONFIG_FILES="$CONFIG_FILES icons/kde-theme/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi # Display CXXFLAGS, CFLAGS and LIBS echo "" echo "======================== Compiler and linker flags ========================" echo "CXXFLAGS=$CXXFLAGS" echo "CFLAGS=$CFLAGS" echo "LIBS=$LIBS" echo "===========================================================================" echo "" echo "Configure finished!" echo " Do: 'make' to compile Xfe." echo " Then: 'make install' (as root) to install Xfe." echo "" xfe-1.42/xfp.10000644000175100017510000000126412437621772010042 00000000000000.TH "XFP" "1" "3 December 2014" "Roland Baudin" "" .SH "NAME" xfp \- A simple package manager for X Window .SH "SYNOPSIS" \fBxfp\fP [\-h] [\-\-help] [\-v] [\-\-version] [\fIpackage filename\fP] .SH "DESCRIPTION" X File Package (xfp) is a simple package manager, to be used with X File Explorer (xfe) or stand alone. .SH "AUTHOR" Roland Baudin . .SH "OPTIONS" xfp accepts the following options: .TP .B \-h, \-\-help Print the help screen and exit. .TP .B \-v, \-\-version Print xfe version information and exit. .TP .B package filename (rpm or deb) Specifies the path to the package file to open when starting xfp. .SH "SEE ALSO" .BR xfe (1), .BR xfw (1), .BR xfi (1)